{
  "kind": "programNode",
  "name": "sageStarFrame",
  "publicKey": "C4SAgeKLgb3pTLWhVr6NRwWyYFuTR7ZeSXFrzoLwfMzF",
  "version": "0.49.0",
  "accounts": [
    {
      "kind": "accountNode",
      "name": "cargoDefinitionsCache",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "f8f77509cb1e1f92",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "The data version of this `CargoDefinitionsCache` account."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "docs": [
              "The game_id that this `CargoDefinitionsCache` belongs to"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "docs": [
              "Bump of Account PDA"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cargoTypeCache",
            "docs": [
              "A map of cargo types to their caches"
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "definedTypeLinkNode",
                "name": "cargoTypeCache"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "cargoDefinitionsCache"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "atlasRewardConfig",
      "docs": [
        "One immutable, fully authored reward configuration version."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "85a80b4f536dfda2",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "enabled",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad0",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "configVersion",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "effectiveEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "createdAt",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "sourceFlags",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad1",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "epochLenSecs",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "claimSettlementWindowSecs",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlasBankInactivityExpirySecs",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardLootReclaimSecs",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "factionPoolLever",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "kingSystemCurve",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "numberTypeNode",
                  "format": "u64",
                  "endian": "le"
                },
                "count": {
                  "kind": "fixedCountNode",
                  "value": 10
                }
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 7
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pveLpRateBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pvpMedallionRateBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "salvageEvRateBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "repairKitLpRate",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lossModelTargetBps",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u16",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 3
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseDestructionMedallions",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 7
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeMedallion",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "medallionRewardConfig"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "medallionBuybackCapPerEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardReserveLowBalanceThreshold",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "upgradeLpRateCount",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "salvageEntryCount",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad2",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 6
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "upgradeLpRates",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "upgradeLpRate"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "salvageEntries",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "salvageRewardEntry"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 64
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "atlasRewardConfig"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "atlasRewardRegistry",
      "docs": [
        "Per-game epoch clock and pointer to immutable reward-config versions."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "cab7316c23f11c1f",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "currentEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "currentEpochStartedAt",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "currentEpochEndsAt",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "initialEpochOffsetSecs",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeConfigVersion",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingConfigVersion",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingEffectiveEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "latestConfigVersion",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "atlasRewardRegistry"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "atlasRewardTreasury",
      "docs": [
        "Game-level finite cargo reserve backing medallion and synthetic-salvage issuance."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "b6a423b05d60ead6",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserves",
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "atlasRewardTreasury"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "kingSystemTracker",
      "docs": [
        "Canonical membership and current effective major-faction ownership for the 69 King systems."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "6a7f2a971f7df6fe",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "systemCount",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad0",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "systemIds",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "systemId"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 69
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "owners",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "minorFactionId"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 69
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "majorCounts",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 3
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "configuredAt",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "kingSystemTracker"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "loyaltyAtlasBank",
      "docs": [
        "Persistent accumulated ATLAS entitlement for one `(profile, faction)`.",
        "",
        "Expiry is inactivity-based: a new credit extends the whole accumulated balance. Configuring expiry to",
        "`0` makes the bank non-expiring. This is bounded state (one account per profile/faction), supports",
        "week/month batching, and avoids an unbounded list of daily claim tranches."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "efd62b6ccc390373",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "profile",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "factionId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad0",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 6
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "claimableAtlas",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lifetimeLp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u128",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lifetimeAtlas",
            "type": {
              "kind": "numberTypeNode",
              "format": "u128",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastCreditedAt",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "expiresAt",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "loyaltyAtlasBank"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "loyaltyContribution",
      "docs": [
        "One profile's LP in one faction epoch. LP never rolls forward."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "80c61e873a4394a2",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "settled",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad0",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "profile",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "factionId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad1",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 6
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "epochIndex",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u128",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlasEntitlement",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "settledAt",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 24
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "loyaltyContribution"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "loyaltyEpoch",
      "docs": [
        "One faction's daily LP total, ATLAS entitlement, and legacy prepaid reserve."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "1150ee0bed05ab73",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "status",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "loyaltyEpochStatus"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "kingSystems",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "factionId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad0",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "configVersion",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "epochIndex",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "startsAt",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "endsAt",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "settlementDeadline",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "totalLp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u128",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "poolAtlas",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "unsettledAtlas",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "settledAtlas",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "loyaltyEpoch"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "careerXpBudget",
      "docs": [
        "The `CareerXpBudget` PDA body: six tracks, explicit version, scoped to",
        "one Character."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "399bfe0bf15e151c",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "Schema/migration lever (=1)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "docs": [
              "This account's PDA bump."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "docs": [
              "Game scoping (AccountValidate compares)."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "characterId",
            "docs": [
              "Owning Character PDA."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "tracks",
            "docs": [
              "Ordered by `budget_track`: Pilot, DataRunner, Mining, Building,",
              "Crafting, Combat."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "xpBudgetTrack"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 6
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reconciledThresholdVersion",
            "docs": [
              "Permanent legacy→v1 reconciliation marker (#222). 0 = legacy,",
              ">= 1 = reconciled; a second migration rejects."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "docs": [
              "Additive growth budget — carve typed fields from the FRONT; NEVER append."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 22
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "careerXpBudget"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "celestialBody",
      "docs": [
        "CelestialBody",
        "TODO: add new fields needed for research tree"
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "b9251d7a0ed88e6d",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "The data version of this account."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "id",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "celestialBodyId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "docs": [
              "The name of this `CelestialBody`"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "name"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "game",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "system",
            "docs": [
              "the StarSystem that this belongs to"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "systemSeqId",
            "docs": [
              "The sequence id of the system in which the celestial body is placed"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastSyncTimestamp",
            "docs": [
              "The timestamp of the starbase this `CelestialBody` was last synced with.",
              "Set to slot time when registered if no starbase, or the starbases's build_destroyed_timestamp if there is a starbase"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "celestialBodyType",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "celestialBodyType"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "celestialBody"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "character",
      "docs": [
        "A `SAGE` character."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "8c73a524f1996654",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "playerProfile",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "checkInInfo",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "checkInStreakInfo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xpInfo",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "xpInfo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlas",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "counts",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "characterAssetCounts"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pilotXpBudget",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "pilotXpBudget"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "characterModifiers",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "characterModifiers"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "character"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "characterSync",
      "docs": [
        "Staging account for a bounded Character research-definition sync.",
        "",
        "The live Character modifiers remain untouched while this accumulator is",
        "built. That matters because permissionless fleet settlement and combat may",
        "legitimately read the Character between chunks. Only a complete accumulator",
        "is committed to the Character."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "f605a57552a66506",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "Account layout version. Zero denotes a freshly created account."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "character",
            "docs": [
              "Character whose modifiers are being rebuilt."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "docs": [
              "Game whose definitions are authoritative."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "researchSeqId",
            "docs": [
              "Research-tree sequence captured for this rebuild."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "unlockedNodesLen",
            "docs": [
              "Number of unlocked nodes captured for this rebuild."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "nextNodeIndex",
            "docs": [
              "Index of the next unlocked node to replay."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "nextNodeRepeat",
            "docs": [
              "Number of levels already replayed for `next_node_index`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "docs": [
              "PDA bump."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "modifiers",
            "docs": [
              "Complete modifier accumulator for nodes before `next_node_index`."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "characterModifier"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "characterSync"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "claimStakeInstance",
      "docs": [
        "Claim stake instance that specifies capabilities and requirements. Inherits stats from `ClaimStakeDefinition`"
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "c8263e33ff9d28a3",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "The data version of this account."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "owner",
            "docs": [
              "The owner of the claim stake instance"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "docs": [
              "The game id"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "celestialBodyId",
            "docs": [
              "The celestial body id"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "claimStakeDefinitionId",
            "docs": [
              "The claim stake cargo id"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "claimStakeDefinitionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "claimStakeDefinitionSeqId",
            "docs": [
              "The sequence id of the claim stake definitions"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "buildingDefinitionSeqId",
            "docs": [
              "The sequence id of the building definitions"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "systemSeqId",
            "docs": [
              "The sequence id of the system in which the claim stake is placed"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastRentClockTimestamp",
            "docs": [
              "Last time rent was collected"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "constructionRemaining",
            "docs": [
              "Remaining seconds of construction (decrements while Active)"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "constructionProgressTimestamp",
            "docs": [
              "Active-time cursor for construction progression.",
              "This timestamp is advanced only while the stake is Active."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rentBalance",
            "docs": [
              "Rent balance"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "neededCrew",
            "docs": [
              "Actual committed Crew for version 1. Version 0 contains unverified nominal stats."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "buildings",
            "docs": [
              "Buildings placed on the claim stake"
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "buildingId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "state",
            "docs": [
              "An enum of the current state of the claim stake instance, either active or design"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "structureInstanceState"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "productionCore",
            "docs": [
              "The resource production/consumption core"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "productionCore"
            }
          }
        ]
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "loot",
      "docs": [
        "Represents the loot available at a location"
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "97e1cfe473d2409f",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "the data version of this account."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "docs": [
              "the `Game` that this belongs to"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "profile",
            "docs": [
              "the `Profile` that created this account"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "coordinates",
            "docs": [
              "The coordinates at which the loot is located"
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "i64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardStatus",
            "docs": [
              "Future-hash combat-reward commitment. Ordinary cargo-only Loot keeps status `NONE`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardLegCount",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardPad",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardConfigVersion",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardCommitSlot",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardCommittedAt",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardLegs",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "combatRewardLeg"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "items",
            "docs": [
              "the actual lootable items"
            ],
            "type": {
              "kind": "structTypeNode",
              "fields": [
                {
                  "kind": "structFieldTypeNode",
                  "name": "unsizedLen",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The total size of the unsized bytes in the list"
                  ],
                  "type": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                },
                {
                  "kind": "structFieldTypeNode",
                  "name": "offsetList",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The list of items containing offsets, and potentially extra metadata, for the start of each element in the unsized list"
                  ],
                  "type": {
                    "kind": "arrayTypeNode",
                    "item": {
                      "kind": "numberTypeNode",
                      "format": "u32",
                      "endian": "le"
                    },
                    "count": {
                      "kind": "prefixedCountNode",
                      "prefix": {
                        "kind": "numberTypeNode",
                        "format": "u32",
                        "endian": "le"
                      }
                    }
                  }
                },
                {
                  "kind": "structFieldTypeNode",
                  "name": "unsizedList",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The list of byte offsets for the start of each element in the unsized list"
                  ],
                  "type": {
                    "kind": "arrayTypeNode",
                    "item": {
                      "kind": "definedTypeLinkNode",
                      "name": "lootInfo"
                    },
                    "count": {
                      "kind": "prefixedCountNode",
                      "prefix": {
                        "kind": "numberTypeNode",
                        "format": "u32",
                        "endian": "le"
                      }
                    }
                  }
                }
              ]
            }
          }
        ]
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "craftingProcess",
      "docs": [
        "This account represents crafting in progress"
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "69b80569af700da9",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "The data version of this account."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "recipe",
            "docs": [
              "the recipe"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "profile",
            "docs": [
              "The `Profile` key"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "system",
            "docs": [
              "The `System` key"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbasePlayer",
            "docs": [
              "the owner/authority of this crafting process"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseSeqId",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingHab",
            "docs": [
              "the crafting hab"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "quantity",
            "docs": [
              "Quantity of outputs to craft"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "numCrew",
            "docs": [
              "the number of crew taking part in the crafting process"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "startTime",
            "docs": [
              "the start timestamp"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "endTime",
            "docs": [
              "the end timestamp"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "feeEscrow",
            "docs": [
              "The recipe fee held in escrow"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "feeRecipient",
            "docs": [
              "Original recipe fee destination when governance is not active."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "recipeFeeRecipient"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "feeGovernance",
            "docs": [
              "Governance account whose fee routing was snapshotted at start, if any."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "feeSnapshot",
            "docs": [
              "Fee routing snapshot captured when the process started."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "governanceFeeSnapshot"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "inputs",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoPod"
            }
          }
        ]
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "recipe",
      "docs": [
        "The definition of a recipe."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "0aa29c6438c1cd4d",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "The data version of this account."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "recipeId",
            "docs": [
              "The unique identifier of this recipe"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "recipeId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "docs": [
              "The game id"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingDuration",
            "docs": [
              "The time required to craft this Recipe."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minDuration",
            "docs": [
              "The minimum time required to craft this Recipe."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "docs": [
              "The name of this recipe."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "name"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "status",
            "docs": [
              "The status of the recipe"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "recipeStatus"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "feeAmount",
            "docs": [
              "The amount to charge when this recipe is used"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "feeRecipient",
            "docs": [
              "The fee currency and recipient"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "recipeFeeRecipient"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "habRequired",
            "docs": [
              "Whether this recipe requires a hab building to be used"
            ],
            "type": {
              "kind": "booleanTypeNode",
              "size": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "usageCount",
            "docs": [
              "The number of times that this recipe has been used"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "usageLimit",
            "docs": [
              "The maximum number of times that this recipe can be used"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "value",
            "docs": [
              "The XP value of this recipe"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minStarbaseLevel",
            "docs": [
              "The minimum starbase level required to use this recipe"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseLevel"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingEfficiencyMinmax",
            "docs": [
              "The min/max crafting efficiency effect from habs that are applied to this recipe."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minMax"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingSpeedMinmax",
            "docs": [
              "The min/max crafting speed effect from habs that are applied to this recipe."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minMax"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingCrewCountMinmax",
            "docs": [
              "The min/max crafting crew count effect from habs that are applied to this recipe."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minMax"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingFeeMinmax",
            "docs": [
              "The min/max crafting fee effect from habs that are applied to this recipe."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minMax"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "researchRequirements",
            "docs": [
              "Research requirements - require ANY"
            ],
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "researchTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "inputs",
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "outputs",
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "recipe"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "craftingHabInstance",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "1a7fed64ac09331f",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "The data version of this account."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "owner",
            "docs": [
              "The owner of the crafting hab instance"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "docs": [
              "The game id"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "system",
            "docs": [
              "The system for the hab"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingHabDefinitionId",
            "docs": [
              "The crafting hab definition id"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "craftingHabDefinitionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingHabDefinitionSeqId",
            "docs": [
              "The sequence id of the crafting hab definitions"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "buildingDefinitionSeqId",
            "docs": [
              "The sequence id of the building definitions"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "systemSeqId",
            "docs": [
              "The sequence id of the system in which the crafting hab is placed"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastRentClockTimestamp",
            "docs": [
              "Last time rent was collected"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "constructionRemaining",
            "docs": [
              "Remaining seconds of construction (decrements while Active)"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "constructionProgressTimestamp",
            "docs": [
              "Active-time cursor for construction progression (advanced only while Active)"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rentBalance",
            "docs": [
              "Rent balance"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "neededCrew",
            "docs": [
              "Crew actually reserved by this hab in system_seq_id (version 1).",
              "Version 0 stored a nominal requirement, not a provable release entitlement."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingJobConcurrency",
            "docs": [
              "Number of crafting jobs that can be run simultaneously"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingJobs",
            "docs": [
              "Number of crafting jobs that are currently running"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingModifiers",
            "docs": [
              "Cumulative crafting modifiers based on the set of hab buildings placed"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "craftingModifiers"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "habBuildings",
            "docs": [
              "Map of hab building id to number of hab buildings placed"
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "buildingId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "recipesUnlocked",
            "docs": [
              "Recipes unlocked by the crafting hab"
            ],
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "recipeId"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "state",
            "docs": [
              "An enum of the current state of the crafting hab instance, either active or design"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "structureInstanceState"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "productionCore",
            "docs": [
              "The resource production/consumption core"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "productionCore"
            }
          }
        ]
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "fleetCrewBinding",
      "docs": [
        "Each fleet's per-fleet crew aggregate. **Presence = at least one crew onboarded.** The",
        "gameplay folds read `summary` (the sum of ONLY this fleet's onboarded crew), maintained by",
        "`LoadFleetCrewRoster`/`UnloadFleetCrewRoster`.",
        "",
        "Body = 1 (version) + 1 (bump) + 6 (reserved) + 32 (fleet) + 32 (owner) + 315 (summary)",
        "+ 8 (last_action_epoch) = **395 B**, align 1. (The summary grew 274 → 314 with the",
        "per-skill-XP accumulator block, → 315 with the `max_rarity` cache byte; `last_action_epoch`",
        "is the binding-tail Cold Start marker. The header fields before the summary —",
        "version/bump/_reserved/fleet/owner, 72 B — are unchanged, so the summary still begins at",
        "account-offset `8 (disc) + 72 = 80`, exactly as before.)"
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "cb4095256fccb8b5",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "Data version of this account."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "docs": [
              "PDA bump (managed by the framework on create)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "docs": [
              "Reserved (zero today) — forward-compat slack (no alignment under `packed`)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 6
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "fleet",
            "docs": [
              "The fleet this cache belongs to (integrity check vs. the PDA seed)."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "ownerProfile",
            "docs": [
              "The owner profile — the **owner-lock**, captured when the first crew onboards; a gameplay",
              "resolve re-checks this == the fleet's `owner_profile`."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "summary",
            "docs": [
              "The per-fleet crew aggregate — the sum of ONLY the crew onboarded to this fleet. Identical",
              "O(1) cache shape as the whole-roster `RosterSummary`, so the existing folds read it",
              "unchanged in spirit (they just point at this per-fleet summary instead of the roster's)."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "rosterSummary"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastActionEpoch",
            "docs": [
              "The fleet's last-acted withdraw-epoch (PerkCtx activation §2.4 — the",
              "`FirstActionPerEpoch` marker for Cold Start #7). The warp instruction computes",
              "`epoch = now / withdraw_epoch_duration`, evaluates",
              "`first_action_this_epoch = (epoch != last_action_epoch)`, and stamps the new epoch after",
              "the warp resolves (riding the existing `Mut` binding the XP-pour already holds).",
              "Crew-owned state: a flag-off path has no binding, so this is never read nor written there.",
              "Zero-default ⇒ the first action of epoch 0 reads \"first\" once — harmless, and only",
              "observable when a Cold Start entry is present. Tail-appended after `summary`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "fleetCrewBinding"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "questProcess",
      "docs": [
        "On-chain record of a crew quest being processed at a starbase.",
        "",
        "Field-for-field the `StarbaseUpgradeProcess` shape (upgrade_rs:8-34) minus the",
        "upgrade-only `system` / `resource_id` / `quantity` fields and plus the crew payout",
        "`reward_xp`. `KeyFor<Profile>` / `KeyFor<StarbasePlayer>` are the typed owner",
        "keys; `num_crew` is the crew committed to the quest (the amount",
        "`reconcile_crew_allocation` moves out of the present pool while busy)."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "cc50602ee9b3a12f",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "The data version of this account."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "profile",
            "docs": [
              "The `Profile` key (the quest owner)."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbasePlayer",
            "docs": [
              "The owning `StarbasePlayer` (the live-crew-counter choke-point)."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseSeqId",
            "docs": [
              "The starbase sequence id this quest is anchored to (staleness/refund check, exactly",
              "as `StarbaseUpgradeProcess.is_stale`, upgrade_rs:33-38)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "numCrew",
            "docs": [
              "Number of crew committed to the quest."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardXp",
            "docs": [
              "XP amount poured into the reward roster's accumulator on completion (the crew payout).",
              "Named `reward_xp` because it is credited as XP via `folds.xp.pour_xp` — it grinds the",
              "crew toward the perk-point milestones, it is NOT a direct perk-point mint (PR #732",
              "fourth review). Bounded by the existing `PERK_POINTS_MAX` ceiling as a defensive cap."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardPage",
            "docs": [
              "The roster page the reward MUST be credited to (PR #732 third review): pinned by the",
              "owner at `StartQuest`, enforced at `CompleteQuest`. The permissionless cranker cannot",
              "choose the distribution page (an empty/low-value page would burn the payout to dust),",
              "nor omit the roster to destroy it. Reuses 2 bytes of the former `_pad: [u8; 5]`, so the",
              "account size/layout is unchanged (every other field offset is identical)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad",
            "docs": [
              "Tail pad so `start_time` / `end_time` stay byte-flush under `#[repr(C, packed)]` and",
              "the struct ends on a clean boundary (no semantic meaning)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 3
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "startTime",
            "docs": [
              "The quest start timestamp."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "endTime",
            "docs": [
              "The quest end timestamp (crew become free / payout claimable at/after this)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          }
        ]
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "crewRoster",
      "docs": [
        "The bulk crew container for one `(Character, page_index)`: a `RosterSummary` cache",
        "header + an append-only `List<CrewRecord>`.",
        "",
        "`#[unsized_type(program_account, seeds = CrewRosterSeeds)]` — same form as the",
        "marketplace `Market` (marketplace/src/state_rs:384-398) and SAGE `Character`",
        "(character_rs:17-29). `summary` is the sized packed header (315 B); `crew` is the",
        "unsized tail."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "37c62b04691cf15a",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "summary",
            "docs": [
              "The cached O(1) aggregate (the resurrected `total_crew` lives in",
              "`summary.normalized_crew_total`). Packed 315-byte header."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "rosterSummary"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "crew",
            "docs": [
              "The crew records on this page, byte-packed (`CrewRecord: Align1` ⇒ List-able)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "crewRecord"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "crewRoster"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "currencyConfigCache",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "e7cb8e6cd2ea07bf",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "The data version of this `CurrencyConfigCache` account."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "docs": [
              "The game_id that this `CurrencyConfigCache` belongs to"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "docs": [
              "Bump of Account PDA"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlas",
            "docs": [
              "The ATLAS balance cache"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "currencyBalanceCache"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "polis",
            "docs": [
              "The POLIS balance cache"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "currencyBalanceCache"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlasVault",
            "docs": [
              "Holds ATLAS that should be withdrawn to the game's ATLAS token account"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "daoAtlasVault",
            "docs": [
              "Holds ATLAS that should be withdrawn to the DAO's ATLAS token account"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "currencyConfigCache"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyAllocationHistory",
      "docs": [
        "One root × generation contributor, independent of its authorizing Profile route. A pending",
        "transition is materialized against its immutable last-old-power boundary index before any",
        "subsequent edit. Releasing physical backing leaves this historical claim account intact."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "ccb4c0f106c66226",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "identity",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "allocation",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "generation",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "allocationRevision",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activePower",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingPower",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingDay",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "hasPreference",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "preference",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "governanceParams"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "claimedIndex",
            "type": {
              "kind": "numberTypeNode",
              "format": "u128",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingAtlas",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "remainder",
            "type": {
              "kind": "numberTypeNode",
              "format": "u128",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyAllocationHistory"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyGenerationHistory",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "7b11747c5de9500c",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "system",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "governance",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "generation",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseSeqId",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "controller",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "enabled",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "startedDay",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "openDay",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "retiredBeforeDay",
            "docs": [
              "Exclusive endpoint: capture at day d ends this generation before d's close. Zero is live."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "retired",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "eligiblePower",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "nextPower",
            "docs": [
              "Canonical aggregate after the next close, maintained with each authenticated allocation",
              "edit. Daily progress does not require every depositor to materialize their own position."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "explicitPower",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "nextExplicitPower",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "weighted",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u128",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 4
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "nextWeighted",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u128",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 4
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeParams",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "governanceParams"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "weekDays",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "weekSums",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 4
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardIndex",
            "type": {
              "kind": "numberTypeNode",
              "format": "u128",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "fundedAtlas",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "claimedAtlas",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardVault",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyGenerationHistory"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyHistoryDay",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "12a5f1d555dbfef8",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "system",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "day",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "generation",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "governance",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "controller",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "eligiblePower",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeParams",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "governanceParams"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "dailyOutcome",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "governanceParams"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "poolAtClose",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reservedAtlas",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "separatelyRetainedAtlas",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardIndexAfter",
            "type": {
              "kind": "numberTypeNode",
              "format": "u128",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyHistoryDay"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyHistoryPolicy",
      "docs": [
        "Immutable explicit policy. Unknown/zero choices are invalid, not implicit economic defaults."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "698907b66e4c1e21",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "noControllerRevenue",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "zeroPowerRevenue",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "successorBaseline",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "captureIncomingEligibility",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "defaultParams",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "governanceParams"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bounds",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "governanceBounds"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyHistoryPolicy"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracySystemHistory",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "6e3d573e9990f35b",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "system",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "policy",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "generation",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "generationNumber",
            "docs": [
              "Changes on every controller/incarnation transition, including admin transfers at one seq."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseSeqId",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "controller",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "enabled",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "governance",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "generationStartedDay",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "baselineParams",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "governanceParams"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "openDay",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cutoverDay",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "revision",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "openPool",
            "docs": [
              "Unassigned revenue for the open day, including deliberately carried treasury retention."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "unallocatedVault",
            "docs": [
              "Zero-controller/zero-power revenue retained under the explicit policy; never awarded to",
              "a subsequent depositor or moved into the open pool by a settlement instruction."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracySystemHistory"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyLegacyHistory",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "bb92ef7890eead1a",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "system",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "governance",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "treasury",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cutoverDay",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "sealedRewardIndex",
            "type": {
              "kind": "numberTypeNode",
              "format": "u128",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "openingVault",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "retainedUnallocated",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "openingActivePower",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "escrowedClaims",
            "docs": [
              "Funds moved out with canonical claim checkpoint receipts, never user supplied totals."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "retiredPositions",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyLegacyHistory"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyPtrPowerAdmission",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "a8431cca2c6a8372",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reconciliation",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "issuedPvp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "expectedObligations",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "expectedActive",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "expectedPending",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "consumedObligations",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "observedActive",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "observedPending",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastDay",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastObligation",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "frontierPower",
            "docs": [
              "Whole-frontier result before the still-open day. Not a spendable root balance."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "dayActive",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "dayPending",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maximumPower",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "complete",
            "docs": [
              "Only proves the raw power envelope. Identity remains MIGRATING even when this is 1."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyPtrPowerAdmission"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyPtrAllocation",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "7a8f552b401b75ef",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "root",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "historyGeneration",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "system",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseSeqId",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "governance",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "migration",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cutover",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "revision",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "status",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reservedPvp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activePvp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingPvp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeCurveVersion",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeHousingMapVersion",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingCurveVersion",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingHousingMapVersion",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "effectiveDay",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastSettledDay",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "backingSetRevision",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "sourceCount",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "crew",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "housingQuantities",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 18
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingTargetDigest",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyPtrAllocation"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyPtrCutover",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "5168807d1ebc62ab",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "identity",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "root",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "migration",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "census",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "admission",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cutoverDay",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "frozenProfiles",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "recordedLocks",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "openingActivePvp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "openingPendingPvp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "openingMaximumPvp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "retiredLegacySources",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "resultingLegacyActivePvp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "resultingLegacyPendingPvp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "fundedLegacyLiabilityRoot",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyPtrCutover"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyPtrRoot",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "12724b6881a3c56f",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "identity",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "migration",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "census",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "admission",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cutover",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "issuedPvp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reservedPvp",
            "docs": [
              "Sum of each allocation's retained high-water reservation; not summed active/pending."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "revision",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "openAllocations",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cutoverDay",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyPtrRoot"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyPtrSettlement",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "cc650004957fab68",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "root",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "historyGeneration",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "system",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseSeqId",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "migration",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cutover",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "allocation",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "allocationRevision",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingTargetDigest",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "retiredThroughDay",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "fundedLiabilitiesThroughDay",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "resultingActivePvp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "resultingPendingPvp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "generationRetired",
            "docs": [
              "Only the history writer can attest retirement of the canonical generation."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "claimHistory",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "preservedClaimIndex",
            "type": {
              "kind": "numberTypeNode",
              "format": "u128",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "preservedRemainder",
            "type": {
              "kind": "numberTypeNode",
              "format": "u128",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyPtrSettlement"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyPtrBacking",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "9c2887b20c0eb23e",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "allocation",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "depositRevision",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbasePlayer",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "playerProfile",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "system",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseSeqId",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "crew",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "released",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "adoptedAssetLock",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "housing",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "democracyPtrLockedHousing"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 18
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyPtrBacking"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyPtrCensusLock",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "901a8f7298668785",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "routeCensus",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "delegation",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "governance",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "system",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseSeqId",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "playerProfile",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "diplomatCrew",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activePower",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingPower",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingEffectiveRewardEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "consumed",
            "docs": [
              "Zero means the original legacy reservation remains intact, not released or transferred."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyPtrCensusLock"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyPtrLockCensus",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "54bbabdd9ed4e5fb",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "migration",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "catalog",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "registryCount",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "expectedProfiles",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "completedProfiles",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastProfile",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "recordedLocks",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activePower",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingPower",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "diplomatCrew",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyPtrLockCensus"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyPtrRouteCensus",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "536c891fb9f3a8a6",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "census",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "frozenRoute",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "playerProfile",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "registryCount",
            "docs": [
              "Immutable prefix length pinned after all linked grants were frozen."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "nextRegistryIndex",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "currentSystem",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "nextGovernance",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "expectedSuccessor",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "generationBound",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "complete",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "recordedLocks",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activePower",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingPower",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "diplomatCrew",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyPtrRouteCensus"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyPtrAssetLock",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "da74b7f8d56a380e",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "custody",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbasePlayer",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "playerProfile",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "system",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseSeqId",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "crew",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "released",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "housing",
            "docs": [
              "Canonical MUD/ONI/USTUR x T0..T5 mint slots, never caller-authored arbitrary mints."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "democracyPtrLockedHousing"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 18
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyPtrAssetLock"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyPtrCustody",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "47e12287b741acb8",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "migration",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "stagedSources",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "outstandingSources",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyPtrCustody"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyPtrCutoverProgress",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "8c27d0e184a20ee3",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "identity",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "migration",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "census",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reconciliation",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "admission",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "custody",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "custodySources",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "begunDay",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "expectedSources",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "retiredSources",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "expectedActive",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "expectedPending",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "retiredActive",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "retiredPending",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "fundedClaims",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "complete",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyPtrCutoverProgress"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyPtrLegacyClaim",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "0a56190b5fef7770",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "identity",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "progress",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "censusLock",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "opening",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "originalClaim",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "originalProfile",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "sealedIndex",
            "type": {
              "kind": "numberTypeNode",
              "format": "u128",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "preservedRemainder",
            "docs": [
              "Fractional earned remainder is preserved, never rounded into unsupported whole tokens."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u128",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "fundedAtlas",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "claimedAtlas",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "vault",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyPtrLegacyClaim"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyPtrIdentity",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "30424404e2089cf9",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "status",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "originProfile",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "authorizingProfile",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "issuedPvp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "authorizationRevision",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "linkedProfiles",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "createdAt",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyPtrIdentity"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyPtrProfileRoute",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "06c7c925eaa40c62",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "playerProfile",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "identity",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyPtrProfileRoute"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyPtrFrozenRoute",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "c6cce9c9736c95ea",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "migration",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "playerProfile",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rentRefund",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "createdVoterPower",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "voterBump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "restored",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pvpAmount",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeDelegated",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingDelegated",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingEffectiveRewardEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyPtrFrozenRoute"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyPtrMigration",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "3c16ddee4e1fb694",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "phase",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "identity",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "registryRevision",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "expectedProfiles",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "frozenProfiles",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "remainingFrozen",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastProfile",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyPtrMigration"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyPtrLegacyObligation",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "cd9186fac83bec44",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "routeObligations",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "delegation",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "governance",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "system",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseSeqId",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "playerProfile",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "treasury",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "claimState",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "delegationBump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "diplomatCrew",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeAmount",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingAmount",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingEffectiveRewardEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardEpochDurationSecs",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyPtrLegacyObligation"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyPtrReconciliation",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "046bf510e4ccff9f",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "migration",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "expectedProfiles",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reconciledProfiles",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastProfile",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "recordedDelegations",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeDelegated",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingDelegated",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "conservativePowerBound",
            "docs": [
              "Sum of per-delegation max(active, pending), NOT a selected daily schedule or new grant."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "recordedDiplomatCrew",
            "docs": [
              "Only Crew from recorded delegations. Zero-power omitted locks are deliberately NOT freed."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyPtrReconciliation"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyPtrRouteObligations",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "1803e68c5485d54e",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reconciliation",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "frozenRoute",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "playerProfile",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "powerReconciled",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "recordedDelegations",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeDelegated",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingDelegated",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "conservativePowerBound",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "recordedDiplomatCrew",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyPtrRouteObligations"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyPtrRegistryCatalog",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "24498e904e2a223d",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "nextSystemId",
            "docs": [
              "Terminal 65536 is representable; never wraps to zero."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "registryCount",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyPtrRegistryCatalog"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyPtrRegistryEntry",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "bf787912ea341bdb",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "catalog",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "index",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "systemId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "systemId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "system",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "registry",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyPtrRegistryEntry"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyPtrRegistryMember",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "d9c852bf78d491c7",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "catalog",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "registry",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "index",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyPtrRegistryMember"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyCurveConfig",
      "docs": [
        "One immutable curve version. No instruction mutates this account after publication."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "175506d24cfc2d2f",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad0",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "curveVersion",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "publishedEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "createdAt",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "values",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "democracyCurveValues"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyCurveConfig"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyHousingMap",
      "docs": [
        "One immutable 18-slot CSS Housing capacity map."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "4da33b8b88727b4f",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad0",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "mapVersion",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "publishedEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "createdAt",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "entries",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "democracyHousingEntry"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 18
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyHousingMap"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "democracyRequirementsRegistry",
      "docs": [
        "Per-Game pointer registry for separately immutable curve and Housing-map versions."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "0fc0a5b43e80d5b4",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad0",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeCurveVersion",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeHousingMapVersion",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingCurveVersion",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingHousingMapVersion",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingEffectiveEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "latestCurveVersion",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "latestHousingMapVersion",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastAdvancedEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "democracyRequirementsRegistry"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "encounterCommit",
      "docs": [
        "Per-character commit tracker for the two-phase encounter reveal (Option B — migration-safe; this",
        "avoids touching the core `Fleet` account, which is a non-singleton `#[unsized_type]` with no spare",
        "pad). Created once per character via `OpenEncounterTracking`; a scan that arms an encounter stamps",
        "`commit_slot` + `region_id` + the triggering `fleet` here. The reveal reads it, draws the contents",
        "from a *later* slot's hash, and clears it. One pending encounter per character at a time — a",
        "subsequent scan overwrites the prior pending commit (reinforces the anti-multi-fleet design)."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "f16e321b932300da",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "character",
            "docs": [
              "The owning character (also the scoping seed)."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "fleet",
            "docs": [
              "The fleet that armed the current pending commit (`None` when empty)."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "commitSlot",
            "docs": [
              "The slot of the arming scan. The reveal must consume a slot hash strictly later than this."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "regionId",
            "docs": [
              "The region pinned at scan time (resolved from the fleet's location)."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "regionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "status",
            "docs": [
              "`STATUS_EMPTY` (0) or `STATUS_PENDING` (1)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "location",
            "docs": [
              "The exact sector where the encounter armed (the scanning fleet's location). Copied onto the market",
              "at reveal; trading requires a fleet idle AT this sector."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "i64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minorFaction",
            "docs": [
              "The minor faction PINNED at scan time — the `(region, faction)` pool the player committed to BEFORE",
              "the reveal's future hash existed. Reveal requires the supplied pool's `minor_faction` to equal this,",
              "so the faction can't be steered after the entropy is knowable. `Default` (0) when the commit is empty."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "docs": [
              "Tail-append room for additive growth."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "encounterCommit"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "encounterPool",
      "docs": [
        "The dev-registered ENVELOPE for one `(region, minor_faction)` encounter pool.",
        "",
        "Long-lived; created/edited only by `MANAGE_NPC_ENCOUNTERS`-gated admin instructions and read-only",
        "at encounter time. Modeled on [`ScanPattern`](crate::state::ScanPattern): a sized header + an",
        "`#[unsized_start]` `List` tail (additive growth lives in the tail)."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "215ec061ef8ef371",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "Layout version (mirrors `ScanPattern.version`)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "docs": [
              "PDA bump."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "docs": [
              "Game scoping key."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "regionId",
            "docs": [
              "The zone this pool belongs to."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "regionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minorFaction",
            "docs": [
              "The minor-faction NPC this pool represents (off-chain lore name mapped by `MinorFactionId`)."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "status",
            "docs": [
              "Reuses the `Draft`/`Active` gate idiom; only `Active` pools can spawn an encounter."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "scanPatternStatus"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "triggerWeight",
            "docs": [
              "Ultra-rare candidacy chance, as `trigger_weight / trigger_total` (kept well under ~1%).",
              "Same fixed-point domain as the scan roll (`U16F16`)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "triggerTotal",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "marketTtlSecs",
            "docs": [
              "Market lifetime once revealed, in seconds (decision #4 = 300). Applied as `now + ttl` at reveal."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlasBurnBps",
            "docs": [
              "ATLAS-burn sink on the faucet leg, in basis points. `0` = off (default until econ enables)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "faucetEnabled",
            "docs": [
              "`0` = the faucet leg (NPC buys from the player) is disabled ⇒ the market is **sell-only**.",
              "Default off until econ enables it per pool (decision 1-c)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rotationEnabled",
            "docs": [
              "`0` = no catalog rotation; non-zero = rotate the available offers each `rotation_period_secs`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rotationPeriodSecs",
            "docs": [
              "Rotation epoch length in seconds (anti-staleness); ignored when `rotation_enabled == 0`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "offers",
            "docs": [
              "The allowed item set (buy + sell offers, side per entry). A revealed market is a weighted subset."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "poolOfferEntry"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "encounterPool"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "encounterTreasury",
      "docs": [
        "The finite, pre-funded reserve + per-epoch ATLAS-out circuit-breaker for one `(region, faction)` pool.",
        "",
        "All economic value lives here (decisions #1/#3): the ATLAS `vault` pays sell-backs and receives",
        "player buys; `reserves` is the finite cargo stock (no minting — Asks draw down, Bids credit back).",
        "Kept separate from [`EncounterPool`] (config) so the value account is written on trades while the",
        "envelope stays a rarely-written config account. Modeled on `LocalMarket`'s vault + `CargoPod`'s map."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "51a1c539e3a992c2",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "regionId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "regionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minorFaction",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "vault",
            "docs": [
              "ATLAS reserve: pays sell-backs (faucet leg), receives player buys. Same type as `LocalMarket.vault`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "epochStart",
            "docs": [
              "Circuit-breaker (decision #1), modeled on `CurrencyBalanceCache.circuit_breaker`: caps total ATLAS",
              "emitted (faucet leg) per epoch, so concentrated/grinding draw cannot drain a restock in one block.",
              "Reset when `now >= epoch_start + epoch_len_secs`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "epochLenSecs",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlasOutThisEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlasOutCapPerEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserves",
            "docs": [
              "Finite, pre-stocked cargo reserve. Asks draw down from here; Bids (sell-back) credit back here.",
              "No minting (decision #3). Same idiom as `CargoPod.amounts` / `CargoDefinitions.cargo_types`."
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "encounterTreasury"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "ephemeralMarket",
      "docs": [
        "The revealed, player-scoped, time-boxed NPC market (Phase 3). Created (player-funded) at reveal when",
        "the rare candidacy hits; holds the concrete `LiveOffer`s + an `expires_at`. Trades settle DIRECTLY",
        "against the `EncounterTreasury`, so this account itself holds NO funds (close is trivial — nothing to",
        "sweep). One open market per character at a time (seeds = game + owner character); the prior one must",
        "be reaped before a new reveal."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "bba828535a25d9c1",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "ownerCharacter",
            "docs": [
              "The only character that may trade here — the access binding (seed component)."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "regionId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "regionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minorFaction",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pool",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "treasury",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "funder",
            "docs": [
              "Rent payer (the owner), refunded on close."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlasBurnBps",
            "docs": [
              "ATLAS-burn on the faucet (sell-back) leg, basis points — copied from the pool at reveal so the",
              "trade is self-contained (doesn't need the pool account)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "expiresAt",
            "docs": [
              "Market lifetime, unix seconds: set to `now + pool.market_ttl_secs` at reveal; fail-closed at trade."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "location",
            "docs": [
              "The exact sector the encounter spawned at (copied from the commit at reveal). Trading requires the",
              "owner's fleet to be idle AT this sector; the map UI + nemesis read it to place the merchant marker."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "i64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "offers",
            "docs": [
              "The concrete offers drawn from the pool envelope at reveal; trading decrements `remaining_qty`."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "liveOffer"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "ephemeralMarket"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "factionAccount",
      "docs": [
        "The per-faction record in the dynamic registry (decision D1/D8). Sized, packed, 209 bytes.",
        "",
        "Modeled on `ProfileFactionAccount` (a sized",
        "`ProgramAccount` embedding the [`Faction`] enum) + the [`EncounterPool`](crate::state::EncounterPool)",
        "header (`(game, …, minor_faction)` scoping). Growth is by carving from `_reserved` (version-gated),",
        "never by appending."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "5e915f21ab6fb807",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "Layout/schema version (migration lever)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "docs": [
              "PDA bump."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "docs": [
              "Game scoping key."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "factionId",
            "docs": [
              "The dynamic faction id (reuses the `MinorFactionId` space; `0` = null, `1/2/3` = majors)."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "alignment",
            "docs": [
              "Legacy alignment bridge: `Unaligned` for minors; `MUD/ONI/Ustur` for the 3 majors."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "faction",
              "program": {
                "kind": "programLinkNode",
                "name": "profileFactionStarFrame"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "capabilityFlags",
            "docs": [
              "Capability bitset ([`FactionCapabilityFlags`])."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "status",
            "docs": [
              "Lifecycle status."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "factionStatus"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "authorityBump",
            "docs": [
              "Cached bump of the `FactionAuthority` PDA (the program-derived signer used in P2/P5)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "controller",
            "docs": [
              "Optional guild controller (P0: always `NONE`; the validated assignment lands in P1)."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxAllies",
            "docs": [
              "Max simultaneous Allied edges (diplomacy cap, enforced in P3). Default 3."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "treasuryCount",
            "docs": [
              "Advisory count of this faction's treasuries (P2)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "homeRegion",
            "docs": [
              "Homeland region for safe-zones / spawn origin (`0` = none)."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "regionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "nameHash",
            "docs": [
              "Content-addressed off-chain lore reference (SHA-256 of the canonical content file)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "contentUriHash",
            "docs": [
              "Off-chain manifest hash (cosmetics, blueprint catalog, dialogue)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "createdAt",
            "docs": [
              "Creation timestamp (unix seconds)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "operatorProfile",
            "docs": [
              "The faction's NPC fleet OPERATOR profile (the un-rentable `SagePlayerProfile` whose key flies this",
              "faction's NPC fleets). `NONE` until an admin binds it via `SetFactionOperator`; `MintNpcFleet` requires",
              "the minting operator to equal this exactly. (0-valued `NONE` = no operator = no NPC fleets.)"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastCaptureAt",
            "docs": [
              "Unix ts of this faction's most recent dynamic starbase capture — the per-faction anti-blitz cursor",
              "(`attack_starbase` STEP H refuses a new capture until `this + faction_capture_cooldown_secs`)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "npcFleetCount",
            "docs": [
              "Live (concurrent) count of this faction's NPC fleets: bumped at `MintNpcFleet`, and decremented on every",
              "fleet-teardown path (disband / forced-disband / admin-remove / destroyed-cleanup) when the caller",
              "supplies the fleet's FLEET-kind `FactionOwnership` sidecar + this account. ⚠ BEST-EFFORT: the",
              "PERMISSIONLESS destroyed-cleanup path may omit those optionals, leaving the slot occupied — so under",
              "adversarial cleanup the cap degrades toward a lifetime mint cap (never WORSE than that). A fully",
              "non-gameable concurrent cap would need an on-`Fleet` NPC marker (the `Fleet` account has no reserve for",
              "one without a breaking layout change — deferred)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxNpcFleets",
            "docs": [
              "Hard cap on this faction's concurrent NPC fleets — the PRIMARY anti-flood brake (independent of ATLAS",
              "cost). Enforced at `MintNpcFleet` against the live `npc_fleet_count`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "docs": [
              "Additive growth space (carve from the front, version-gated; never append)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 14
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "factionAccount"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "factionConfig",
      "docs": [
        "Per-game reputation dials. Sized, packed, 48 bytes."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "340cfea68f357c37",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "Schema/migration lever."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "docs": [
              "PDA bump."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "decayPerDay",
            "docs": [
              "Passive decay toward 0 per day."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "dailyCap",
            "docs": [
              "Per-(profile,faction) daily burst ceiling on `|delta|`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "standingBps",
            "docs": [
              "Ask-leg value→standing bps (Accrual A); `0` disables sell-order accrual."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "drHalfLife",
            "docs": [
              "`lifetime_earned` DR half-life."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "drScale",
            "docs": [
              "`lifetime_earned` divisor before the DR curve."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "standingEpochCap",
            "docs": [
              "Per-faction per-epoch aggregate standing-emission cap."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "standingEpochLenSecs",
            "docs": [
              "Epoch length (secs) for the per-faction breaker."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "dockMinBand",
            "docs": [
              "Gate (d) economic-dock minimum band index."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "territoryYieldPerTick",
            "docs": [
              "P5 territory payoff: ATLAS yield per hold-tick to the controlling faction's treasury (0 = disabled)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "territoryYieldTickSecs",
            "docs": [
              "P5 territory payoff: yield accrual cadence (secs); a claim credits the whole ticks elapsed."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad",
            "docs": [
              "Reserved (carve from the front)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 1
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "factionConfig"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "factionEconomicsConfig",
      "docs": [
        "Per-game NPC-economy tuning dials. Sized, packed, `Align1`, 72 bytes."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "ea6e42b0033088e3",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "Schema/migration lever."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "docs": [
              "PDA bump."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "docs": [
              "Game scoping (also the sole seed)."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "npcMintCostAtlas",
            "docs": [
              "ATLAS debited from the minting faction's treasury per `MintNpcFleet`. `0` = free (test only — set",
              "`> 0` at activation so the treasury is load-bearing and \"defunded ⇒ quiet\" actually holds)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "npcRespawnCostAtlas",
            "docs": [
              "ATLAS debited per NPC fleet respawn (the churn brake; keep `> 0` at activation)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "captureCostAtlas",
            "docs": [
              "ATLAS debited from the captor faction's treasury per dynamic starbase capture (skin-in-the-game; a",
              "defunded faction cannot pay ⇒ self-quieting). `0` = no capture cost."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "factionCaptureCooldownSecs",
            "docs": [
              "Per-faction anti-blitz capture cooldown (secs): `attack_starbase` STEP H refuses a new dynamic capture",
              "until `FactionAccount.last_capture_at + this`. Lives here (8 B) — it does NOT fit the tracker reserve."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "docs": [
              "Additive growth budget (carve from the front; never append)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 10
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "factionEconomicsConfig"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "factionEpochMeter",
      "docs": [
        "Per-`(game, faction_id)` aggregate standing-emission meter. Sized, packed, 56 bytes."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "5c67f8a530f65320",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "Schema/migration lever."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "docs": [
              "PDA bump."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad0",
            "docs": [
              "Reserved."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 4
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "docs": [
              "Game scoping."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "factionId",
            "docs": [
              "The faction whose aggregate emission this meters."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "currentEpoch",
            "docs": [
              "Current epoch index (`now / epoch_len`)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "standingOutThisEpoch",
            "docs": [
              "Standing minted FOR this faction in the current epoch (across all players)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "factionEpochMeter"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "factionMarket",
      "docs": [
        "A persistent faction market at one starbase. 120 B sized header + `offers: List<LiveOffer>` tail."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "a1462e693939ee02",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "factionId",
            "docs": [
              "Owning faction; the `FactionTreasury` PDA is derived from this (2nd treasury seed)."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "system",
            "docs": [
              "Anchored star system (2nd market seed). `KeyFor<Starbase>` does not exist → key on the system."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseSeqId",
            "docs": [
              "Pins a starbase incarnation within the system (3rd seed). Source is `StarSystem.seq_id`",
              "(read `system.data()?.seq_id`); this is the market's own copy."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "status",
            "docs": [
              "Draft/Active lifecycle (REUSED `ScanPatternStatus`; `CheckedBitPattern`, not `Pod`)."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "scanPatternStatus"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minStandingBuy",
            "docs": [
              "Access band to BUY (Ask leg): converted via `band_of(.0 as i32)`. `<= -1000` = open."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minStandingSell",
            "docs": [
              "Access band to SELL (faucet leg). `<= -1000` = open (so a Hostile player can still sell their way back)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "priceTierBps",
            "docs": [
              "Per-depletion-tier Ask price multiplier (bps). Index from reserve depletion (`depletion_tier`,",
              "quartile bands); standing does NOT affect pricing (access-gating-only decision). `[u16;4]` (each",
              "element align-1)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u16",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 4
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "authoredTargetQty",
            "docs": [
              "Per-offer restock target, committed at create; opportunistic restock tops `remaining_qty` toward it."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "restockPeriodSecs",
            "docs": [
              "In-trade restock time-gate (seconds); a restock runs at most once per period."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastRestockAt",
            "docs": [
              "Last successful restock (unix seconds)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlasBurnBps",
            "docs": [
              "ATLAS-burn on the faucet (sell-back) leg, basis points."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "standingBps",
            "docs": [
              "Graduated per-market accrual rate (overrides `FactionConfig.standing_bps`); `0` disables earning here."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "faucetEnabled",
            "docs": [
              "`0` = sell-only (faucet disabled)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad",
            "docs": [
              "Reserved (carve-from for additive growth, e.g. more price tiers)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 4
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "offers",
            "docs": [
              "Concrete Ask/Bid offers; `remaining_qty` topped toward `authored_target_qty` by the in-trade restock."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "liveOffer"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "factionMarket"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "factionOwnership",
      "docs": [
        "Dynamic-ownership sidecar for ONE asset. Sized `Pod` (the `CurrencyConfigCache` idiom), `#[repr(C,packed)]`,",
        "`Align1`. `directive_block` is RESERVED for P5 (zero-written, read nowhere in P4)."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "50c73351876463e3",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "Schema/migration lever (=0)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "docs": [
              "This account's PDA bump."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "docs": [
              "Game scoping (AccountValidate compares)."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "assetKind",
            "docs": [
              "STARBASE=0 / FLEET=1 / REGION=2 (== the 2nd seed byte; MUST stay a seed forever — collision boundary)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "assetKey",
            "docs": [
              "Canonical 32-byte identity (== the 3rd seed)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "controllingFaction",
            "docs": [
              "Dynamic controller; 0 = fall back to the legacy enum owner."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "previousController",
            "docs": [
              "The controller BEFORE the most recent capture (0 = none) — grants the displaced owner a",
              "contested-window re-capture bypass (anti capture-and-camp)."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "capturedAt",
            "docs": [
              "Unix ts of the last (re)capture / pre-seed."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "contestedUntil",
            "docs": [
              "No re-flip until `now >= this` (0 = immediately capturable)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "capturedSeqId",
            "docs": [
              "Generation witness (== `StarSystem.seq_id` at capture) — NOT a seed (seq_id mutates on capture/removal).",
              "Checked + re-stamped at the boundary. 0 for Fleet/Region."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "directiveBlock",
            "docs": [
              "RESERVED for P5 (asset_kind=Fleet directive payload). Written ALL-ZERO in P4; read NOWHERE."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 28
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastYieldTickTs",
            "docs": [
              "P5 territory payoff: per-asset yield idempotency cursor (STARBASE sidecars only; whole-tick advance).",
              "0 = never claimed. NEVER overlaps `directive_block` (the FLEET-sidecar reuse of those bytes)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "docs": [
              "Additive growth budget — carve typed (Pod, 0-valid) fields from the FRONT; NEVER append. `asset_kind`",
              "MUST remain a seed component forever."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 6
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "factionOwnership"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "factionRelationTracker",
      "docs": [
        "The diplomacy relation matrix + combat-gating config for one game.",
        "",
        "Sized 66-B header + a sparse `Map<FactionPair, RelationEntry>` tail. `combat_gating_enabled == 0`",
        "(default) reproduces today's behavior. Future fields carve from `_reserved` (BEFORE `#[unsized_start]`)."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "07e91c0066d082fc",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "Layout/schema version (migration lever)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "docs": [
              "PDA bump."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "combatGatingEnabled",
            "docs": [
              "`0` = OFF (today's same-faction-only combat), `1` = relation-gated combat ON."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "territoryAccessEnabled",
            "docs": [
              "`0` = OFF (own-faction docking only), `1` = relation/standing dock admission ON (P3 dock compose)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "docs": [
              "Game scoping key (also the sole seed)."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "crossFactionEconomicsEnabled",
            "docs": [
              "P3.5 reserved: cross-faction warp economics master switch (OFF; warp is structurally foreclosed today)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad0",
            "docs": [
              "Reserved."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "alliedTollBps",
            "docs": [
              "P3.5 reserved: allied cross-faction warp toll (bps)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "neutralTollBps",
            "docs": [
              "P3.5 reserved: neutral cross-faction warp toll (bps)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "ceasefireMinDurationSecs",
            "docs": [
              "Minimum ceasefire duration (secs) `SetFactionRelation` will accept."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reCeasefireCooldownSecs",
            "docs": [
              "Cooldown (secs) after a ceasefire ends before the same pair may re-enter one."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "dynamicCaptureEnabled",
            "docs": [
              "P4 territory: dynamic-capture regime master switch. `0` = OFF (today's legacy starbase capture);",
              "`1` = ON (`attack_starbase` requires the `FactionOwnership` sidecar + resolves the dynamic controller)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "contestedWindowSecs",
            "docs": [
              "P4 territory: base contested-window (secs) a capture stamps onto `FactionOwnership.contested_until`",
              "(clamped UP to `MIN_CONTESTED_WINDOW_SECS`). Set via `SetFactionRelationConfig`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "nemesisActive",
            "docs": [
              "P5b antagonist master switch. `0` = OFF (no NPC fleet minting/funding, dead COMBATANT capture path);",
              "`1` = ON. The activation DOUBLE-GATE is `dynamic_capture_enabled == 1 && nemesis_active == 1`, both read",
              "off this tracker (which both `attack_*` ix already load). Carved here — NOT on `Game.combat`, which has",
              "no pad (any field there shifts `crew_config` + every `Game` decoder). Default 0 = flag-OFF byte-identical."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "docs": [
              "Additive growth space (carve from the front, version-gated). ⚠ Only 2 B remain — single-byte flags only;",
              "route any future multi-byte tracker dial to `FactionEconomicsConfig`."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "relations",
            "docs": [
              "Sparse relation matrix; Neutral pairs are absent."
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "factionPair"
              },
              "value": {
                "kind": "definedTypeLinkNode",
                "name": "relationEntry"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "factionRelationTracker"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "factionStanding",
      "docs": [
        "Per-`(game, profile, faction_id)` reputation standing (P1). Sized, packed, 132 bytes."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "514fa2e1b7a57785",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "Schema/migration lever."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "docs": [
              "PDA bump (cached; NEVER trusted — re-derived at every site)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "flags",
            "docs": [
              "bit0 = storyline-active (see `storyline_expiry_ts`)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bandFloor",
            "docs": [
              "Highest band INDEX ever reached (0..5; decay floor, capped at Honored)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "standing",
            "docs": [
              "Signed standing, clamped `[-1000, +1000]`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lifetimeEarned",
            "docs": [
              "Σ POSITIVE accruals ever; write-once-increasing (the DR anchor)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "accrualToday",
            "docs": [
              "Running `|delta|` (both signs) in the current daily window."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "dayAnchorTs",
            "docs": [
              "Start of the current daily window."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastUpdateTs",
            "docs": [
              "Drives lazy decay (realize-on-touch)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "docs": [
              "Game scoping."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "profile",
            "docs": [
              "Identity-bind #1."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "factionId",
            "docs": [
              "Identity-bind #2 + 3rd seed."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad0",
            "docs": [
              "RESERVED (packed = align 1; NOT alignment padding)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 6
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bandFloorReachedTs",
            "docs": [
              "When `band_floor` last ratcheted up (anti spike-and-dump for the top gates)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "storylineExpiryTs",
            "docs": [
              "Freeze self-expires at this ts (`0` = no freeze)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "docs": [
              "Additive growth (carve from the front; never append)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "factionStanding"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "factionTreasury",
      "docs": [
        "Per-faction value account (one per faction). 76 B sized header + `reserves` + `floors` Map tails."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "41752c05814f5b31",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "factionId",
            "docs": [
              "The owning faction (also the 2nd seed). One treasury per faction."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "vault",
            "docs": [
              "ATLAS reserve: receives player buys (Ask), pays sell-backs (faucet). Same type as `LocalMarket.vault`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "epochStart",
            "docs": [
              "Per-epoch ATLAS-out circuit-breaker (verbatim `EncounterTreasury` idiom): caps total faucet ATLAS",
              "emitted per epoch. Reset when `now >= epoch_start + epoch_len_secs`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "epochLenSecs",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlasOutThisEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlasOutCapPerEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserves",
            "docs": [
              "Finite, pre-stocked cargo reserve (no minting). Asks draw down; Bids credit back. Byte-identical",
              "codec to `EncounterTreasury.reserves`."
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "floors",
            "docs": [
              "Per-cargo strategic-reserve FLOOR (anti-drain): an Ask caps fill so `reserves[cargo] >= floors[cargo]`.",
              "Lives on the treasury (NOT per-market) so it composes across a faction's N markets. Absent = 0."
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "factionTreasury"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "game",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "1b5aa67d4a647912",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "The data version of this account."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "profile",
            "docs": [
              "The player profile that manages this Game."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "resources",
            "docs": [
              "token resources"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "resources"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "currencies",
            "docs": [
              "currency related settings"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "currencies"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "combat",
            "docs": [
              "Combat configuration"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "combatConfig"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "crewConfig",
            "docs": [
              "Crew program config account used for crew import/export flows."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "shipDefinitions",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "shipDefinitions"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cargoDefinitions",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoDefinitions"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "claimStakeDefinitions",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "claimStakeDefinitions"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "buildingDefinitions",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "buildingDefinitions"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingHabDefinitions",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "craftingHabDefinitions"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "habBuildingDefinitions",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "habBuildingDefinitions"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xpDefinitions",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "xpDefinitions"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "researchTreeDefinitions",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "researchTreeDefinitions"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "stimulantDefinitions",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "stimulantDefinitions"
            }
          }
        ]
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "garrisonReservation",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "50ed6e33113f892c",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbasePlayer",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseSeqId",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "committedCrew",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "garrisonReservation"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "claimState",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "4749135335e4f235",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "treasury",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "playerProfile",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "claimedIndex",
            "type": {
              "kind": "numberTypeNode",
              "format": "u128",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingAtlas",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingRewardRemainder",
            "docs": [
              "Fractional rewards carried in reward-index scale units so repeated checkpoints do not lose",
              "dust and cannot shift historical rewards onto newly activated power."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u128",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "claimState"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "epochVote",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "ce23f988b031618f",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "governance",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "playerProfile",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "voteEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "votingPower",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "params",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "governanceParams"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "epochVote"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "starbaseDelegation",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "756db30a65cf4138",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "governance",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "playerProfile",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "diplomatCrew",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeAmount",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingAmount",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingEffectiveRewardEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "starbaseDelegation"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "starbaseGovernance",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "48ed146f5c83bf97",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "system",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "registry",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "previousGovernance",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "successorGovernance",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseSeqId",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "controllerFaction",
            "docs": [
              "Faction controlling this immutable starbase generation."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "enabled",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "governanceLevel",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "voteEpochDurationSecs",
            "docs": [
              "Duration of a fee/reward-policy voting window."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardEpochDurationSecs",
            "docs": [
              "Duration between permissionless reward-index settlements."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "currentVoteEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "currentRewardEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingActivationVoteEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxPvpPerCrew",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minQuorumPower",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bounds",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "governanceBounds"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeParams",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "governanceParams"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingParams",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "governanceParams"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "votePower",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeDelegatedPower",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingFeeWeightedSum",
            "type": {
              "kind": "numberTypeNode",
              "format": "u128",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "localMarketFeeWeightedSum",
            "type": {
              "kind": "numberTypeNode",
              "format": "u128",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "localTreasuryShareWeightedSum",
            "type": {
              "kind": "numberTypeNode",
              "format": "u128",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "treasuryDistributionWeightedSum",
            "type": {
              "kind": "numberTypeNode",
              "format": "u128",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "starbaseGovernance"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "starbaseGovernanceRegistry",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "11c30deb941016b4",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "system",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "currentStarbaseSeqId",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "currentGovernance",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "currentTreasury",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "starbaseGovernanceRegistry"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "starbaseTreasury",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "03b8220dc340bb8d",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "governance",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "successorTreasury",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlasVault",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardIndex",
            "type": {
              "kind": "numberTypeNode",
              "format": "u128",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "totalDistributed",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "undistributedRewards",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "starbaseTreasury"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "voterPower",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "dc8828ea708e5785",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "playerProfile",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pvpAmount",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeDelegated",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingDelegated",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingEffectiveRewardEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "voterPower"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "fleet",
      "docs": [
        "A `SAGE` fleet."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "6dcffb306a0288a3",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "The data version of this account."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "docs": [
              "The fleet's bump."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "docs": [
              "The game id this belongs to."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "ownerProfile",
            "docs": [
              "The owner's profile."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "subProfile",
            "docs": [
              "The fleet's sub-authority.",
              "If `Some` will have the exclusive ability to interact with this fleet."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "subProfileInvalidator",
            "docs": [
              "The authority for revoking a sun-authority."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "faction",
            "docs": [
              "The faction of the profile."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "faction",
              "program": {
                "kind": "programLinkNode",
                "name": "profileFactionStarFrame"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "npcFactionId",
            "docs": [
              "Structural NPC classification. `0` is a player fleet; a nonzero id is the authored NPC faction.",
              "Reward branching reads this field instead of trusting an omittable ownership sidecar."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "fleetLabel",
            "docs": [
              "The label or name of the fleet."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "name"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "shipCounts",
            "docs": [
              "The number of ships in the fleet."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "shipCounts"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "warpCooldownExpiresAt",
            "docs": [
              "The time at which the warp cooldown expires"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "scanCooldownExpiresAt",
            "docs": [
              "The time at which the scan cooldown expires"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "stats",
            "docs": [
              "The fleet's stats."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "shipStats"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "fuelTank",
            "docs": [
              "The Cargo pod representing the fleet's fuel tank"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "singleCargo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "ammoBank",
            "docs": [
              "The Cargo pod representing the fleet's ammo bank"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "singleCargo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "crewCount",
            "docs": [
              "The fleet's crew count"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rentedCrew",
            "docs": [
              "The fleet's rented crew"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "shipDefinitionsSeqId",
            "docs": [
              "The fleet's state"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "ap",
            "docs": [
              "Current fleet ability power"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "sp",
            "docs": [
              "Current fleet shield points"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "hp",
            "docs": [
              "Current fleet health points"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingHp",
            "docs": [
              "Current fleet pending health points"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "stance",
            "docs": [
              "The fleet's stance"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "fleetStance"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "apReloadExpiresAt",
            "docs": [
              "The time at which reloading completes"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "shieldBreakDelayExpiresAt",
            "docs": [
              "The time at which SP can resume regenerating"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastCombatUpdate",
            "docs": [
              "The last time the combat was updated"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "location",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "i64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastUpdateAt",
            "docs": [
              "The last time the fleet's state was updated"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "fleetShips",
            "docs": [
              "The fleet's ships"
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "shipId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "respawningCargo",
            "docs": [
              "Cargo waiting to respawn for this fleet"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoPod"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "components",
            "docs": [
              "The fleet's equipped ship components"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoPod"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cargoHold",
            "docs": [
              "The Cargo pod representing the fleet's cargo hold"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoPod"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeStimulants",
            "docs": [
              "Active combat stimulants applied to the fleet, keyed by affected combat stat."
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "combatStatField"
              },
              "value": {
                "kind": "definedTypeLinkNode",
                "name": "activeStimulant"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "state",
            "docs": [
              "The fleet's state"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "fleetState"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "fleet"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "shipDefinitionUpload",
      "docs": [
        "Ship-definition upload staging account.",
        "",
        "Used to upload a complete ship definition in chunks and apply it atomically",
        "on commit."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "8cb9800ce4d090b0",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "Data version."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "docs": [
              "The game this upload belongs to."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "shipId",
            "docs": [
              "The ship id being uploaded."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "shipId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "mode",
            "docs": [
              "Whether this upload should create a new ship or update an existing one."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "shipUploadMode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "ship",
            "docs": [
              "The full sized ship data to apply on commit."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "shipSized"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "expectedResearchLen",
            "docs": [
              "Expected total count of research requirements."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "expectedComponentLen",
            "docs": [
              "Expected total count of component requirements."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "docs": [
              "PDA bump."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "researchRequirements",
            "docs": [
              "Staged research requirements."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "researchTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "componentRequirements",
            "docs": [
              "Staged component requirements."
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "shipDefinitionUpload"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "localMarket",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "1cf2d61d5e73a799",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "The version flag of this account type"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "system",
            "docs": [
              "The system this market is located in"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseSeqId",
            "docs": [
              "The starbase seq id of the starbase when this market was created"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "docs": [
              "The bump for the PDA"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "marketInitializer",
            "docs": [
              "The profile that initialized this market (and will receive the rent when the market is closed)"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cargo",
            "docs": [
              "The escrowed cargo for this market from pending asks and completed bids that haven't been withdrawn"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "singleCargo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "vault",
            "docs": [
              "The ATLAS vault for this market"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bids",
            "docs": [
              "The bids for this market, with orders sorted by price from highest to lowest"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "orderBookSide"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "asks",
            "docs": [
              "The asks for this market, with orders sorted by price from lowest to highest"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "orderBookSide"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "localMarket"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "missionProcess",
      "docs": [
        "On-chain record of a mission being processed at a starbase. **188 B, `#[repr(C, packed)]`, align 1.**",
        "Field order: status/identity → counters → stake → RNG commit → reward routing → timing → outcome →",
        "the 4 appended Phase-2 faction-stance pins (stance_side/base_faction/sector_incumbent/pinned_outlaw).",
        "Every multi-byte field byte-flush (the crew-record idiom); offsets are doc 10 §1.2 + doc 180 §10's grow."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "512653ba6b23a189",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "off 0 — layout/schema version (mirrors `QuestProcess.version`). v0 = this layout."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "docs": [
              "off 1 — stake-vault PDA bump (`(b\"MissionVault\", mission_key)`); stored to avoid re-derivation."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "status",
            "docs": [
              "off 2 — `MissionStatus` (in-flight assertion + decoder/event convenience)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "outcomePad",
            "docs": [
              "off 3 — reserved (zero)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "profile",
            "docs": [
              "off 4 — the mission owner (reward + injury target). Stamped from the VALIDATED starbase-player."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbasePlayer",
            "docs": [
              "off 36 — the live `busy_crew` counter the crew were reserved against (cross-checked, §below)."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseSeqId",
            "docs": [
              "off 68 — staleness/refund check, verbatim `QuestProcess.starbase_seq_id`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "missionTemplateId",
            "docs": [
              "off 76 — the off-chain mission-catalog row this run instantiated (the editor's `templateId`)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "regionId",
            "docs": [
              "off 80 — the sector this mission belongs to (the `RegionOrderAnchor` PDA key). PINNED at start",
              "from the fleet/starbase location, never caller-chosen at settle (convention #2)."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "regionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "numCrew",
            "docs": [
              "off 82 — crew committed (the `reconcile` magnitude), verbatim `QuestProcess.num_crew`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardPage",
            "docs": [
              "off 84 — owner-pinned XP destination page, verbatim the quest fix. Required at settle when XP > 0."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardXp",
            "docs": [
              "off 86 — XP poured on WIN via `pour_xp`. **WIDENED u8 -> u16 vs `QuestProcess` (BUILD BLOCKER #0):",
              "the quest path truncates at 255 AND clamps at `PERK_POINTS_MAX=10`; the mission settle does NEITHER.**"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "successBps",
            "docs": [
              "off 88 — THE committed success target, 0..=10000. Computed off-chain (same `formula.js` the editor",
              "previews) and committed at start, BEFORE the deciding entropy exists. The roll compares to this."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "commitSlot",
            "docs": [
              "off 90 — the slot `StartMission`/`ArmMissionSettle` landed in. The settle entropy is",
              "`SlotHashes[commit_slot + REVEAL_DELAY]`. The anti-grind keystone."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "stakeAtlas",
            "docs": [
              "off 98 — ATLAS (Floyds) escrowed at start; forfeit on loss/abort, refunded on win (editor knob)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "stakeResourceId",
            "docs": [
              "off 106 — the single PRIMARY staked resource type (0 = none); multi-resource stakes live in the",
              "vault map (§4.1). This caches the primary leg for the no-map-load refund math."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "stakeResourceQty",
            "docs": [
              "off 108 — quantity of `stake_resource_id` escrowed (mirrored in the vault)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardPool",
            "docs": [
              "off 116 — the emissions-fed treasury this mission's WIN payout draws from. Pinned at start to the",
              "`(game, region_id)` treasury; settle validates the supplied treasury equals this."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardAtlas",
            "docs": [
              "off 148 — the ATLAS (Floyds) paid on WIN, COMMITTED at start (the catalog's tier-scaled winAtlas).",
              "On-chain so the per-epoch circuit-breaker — the only real inflation bound (00 §4 / H4) — caps it.",
              "REFINEMENT over doc 10 §1.2, which omitted the reward amount: it must be committed to be",
              "breaker-bounded (the settle has empty args + cannot trust the cranker for the payout size)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lootTableId",
            "docs": [
              "off 156 — the off-chain Loot-Matrix table id rolled on win; settle EMITS `(loot_table_id, roll)`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "startTime",
            "docs": [
              "off 160 — verbatim `QuestProcess.start_time`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "endTime",
            "docs": [
              "off 168 — verbatim `QuestProcess.end_time`; settle is time-gated `now >= end_time`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rollValue",
            "docs": [
              "off 176 — the settled draw (0..=9999) written at settle for the event/decoder/holosim echo."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "sectorWinDelta",
            "docs": [
              "off 178 — committed sector impact on WIN (+; off-chain PRE-SCALED = sectorDelta·tier_weight·regionMult)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "sectorLossDelta",
            "docs": [
              "off 180 — committed sector impact on LOSS (negative). The settle folds EXACTLY ONE into the anchor."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "stanceSide",
            "docs": [
              "off 182 — Phase-2 faction-stance: NARRATIVE intent. 0=INCUMBENT, 1=CHALLENGER, 255=NONE (untagged",
              "mission → the whole stance block is skipped at settle; full back-compat). Committed at StartMission."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "baseFaction",
            "docs": [
              "off 183 — the actor's faction at start, raw `Faction` repr as u8 (read from the VALIDATED",
              "StarbasePlayer.faction — owner-signed, so re-citizenship between start and settle can't change it)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "sectorIncumbent",
            "docs": [
              "off 184 — the sector's rightful incumbent faction at start, raw `Faction` repr. Read TRUSTLESSLY",
              "from `RegionTracker.regions[region_id].owner` (NEVER a caller arg). The own-faction gate is",
              "`base_faction == sector_incumbent` (u8 equality — `Faction` is a niche enum, not `Pod`)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pinnedOutlaw",
            "docs": [
              "off 185 — the RESOLVED outlaw status snapshotted at start (`outlaw==1 && now < pvp_until`); a",
              "mid-mission `ClearOutlaw` cannot change this frozen byte. 0 when no OutlawFlag exists (fail-closed:",
              "own-faction opposition stays BLOCKED)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad",
            "docs": [
              "off 186 — tail pad to the 188-byte boundary; forward-compat slack (reserved for the attrition trio",
              "win_injury_bps/severity_table_id/overuse_band — a SEPARATE coordinated grow, doc-110 §3.2)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          }
        ]
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "missionStakeVault",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "56278266b69812fb",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "mission",
            "docs": [
              "The owning `MissionProcess` (the seed component)."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "vault",
            "docs": [
              "Escrowed ATLAS (the player's stake). Same type as `EncounterTreasury.vault`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserves",
            "docs": [
              "Escrowed resources (the multi-resource stake legs)."
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "missionStakeVault"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "missionTreasury",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "e6748a6b4d5b4d78",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "regionId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "regionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "vault",
            "docs": [
              "ATLAS reserve: pays win ATLAS, receives loss/abort forfeits. Same type as `LocalMarket.vault`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "epochStart",
            "docs": [
              "Per-epoch circuit-breaker (the hard inflation ceiling). Reset when `now >= epoch_start + epoch_len_secs`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "epochLenSecs",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlasOutThisEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlasOutCapPerEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserves",
            "docs": [
              "Finite, pre-stocked cargo reserve. Wins draw down; loss/abort forfeits credit back. No minting."
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "missionTreasury"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "outlawFlag",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "1368a01762dafdad",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "profile",
            "docs": [
              "The profile this flag belongs to (cross-checked by `AccountValidate`)."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "faction",
            "docs": [
              "The faction this outlaw status is AGAINST — raw `Faction` repr as `u8` (Pod-safe; `Faction` is a",
              "niche enum and is NOT `Pod`, so it cannot live on a `Pod` account; the PDA seed encodes it too)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "outlaw",
            "docs": [
              "1 = currently outlaw against `faction`, 0 = cleared."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "declaredAt",
            "docs": [
              "Unix ts the outlaw status was (last) declared."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pvpUntil",
            "docs": [
              "ABSOLUTE unix ts the commitment window ends (`declared_at + OUTLAW_WINDOW_EPOCHS * epoch_len_secs`).",
              "Stored absolute (not an epoch count) — there is no native on-chain epoch counter; the window check",
              "is a single `now >= pvp_until` compare and survives any epoch-length retune."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "outlawFlag"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "regionOrderAnchor",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "b334788942095b3e",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "regionId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "regionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad0",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 4
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "orderImpactAcc",
            "docs": [
              "THE ledger — signed, undecayed running sum of `±(sector_delta · tier_weight)` over all settles.",
              "Off-chain decays this toward 0 (order relaxes to baseline) by time since `last_settle_ts`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i128",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "settleSeq",
            "docs": [
              "Monotonic settle counter (anti-replay / off-chain cursor)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastSettleTs",
            "docs": [
              "Unix ts of the last settle that moved the ledger (the off-chain decay clock)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "regionOrderAnchor"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "regionBorderUpload",
      "docs": [
        "Region Border Upload (staging) Account",
        "",
        "Stores an in-progress region border upload in chunks, without mutating the live",
        "[`RegionTracker`] / [`Region`] data until a final commit step."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "64dbebfd39c96acd",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "The data version of this account."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "docs": [
              "The game this upload belongs to."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "regionId",
            "docs": [
              "The region being updated/created."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "regionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "expectedLen",
            "docs": [
              "Expected total number of border vertices."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "docs": [
              "PDA bump"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "border",
            "docs": [
              "Staged border vertices (same representation as [`Region::border`])."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "numberTypeNode",
                  "format": "i64",
                  "endian": "le"
                },
                "count": {
                  "kind": "fixedCountNode",
                  "value": 2
                }
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "regionBorderUpload"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "regionTracker",
      "docs": [
        "Region Tracker Account"
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "171d1bdf479800e1",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "The data version of this account."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "docs": [
              "the `Game` that this belongs to"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gridK",
            "docs": [
              "Grid snapping exponent `k` used for region borders; quantum is `2^-k`.",
              "",
              "- `Point` is `I8F56`, so `k` is in the range 0..=56.",
              "- A value of 56 means \"no-op\" snapping (full precision retained)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "regions",
            "docs": [
              "the regions in this tracker"
            ],
            "type": {
              "kind": "structTypeNode",
              "fields": [
                {
                  "kind": "structFieldTypeNode",
                  "name": "unsizedLen",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The total size of the unsized bytes in the list"
                  ],
                  "type": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                },
                {
                  "kind": "structFieldTypeNode",
                  "name": "offsetList",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The list of items containing offsets, and potentially extra metadata, for the start of each element in the unsized list"
                  ],
                  "type": {
                    "kind": "arrayTypeNode",
                    "item": {
                      "kind": "structTypeNode",
                      "fields": [
                        {
                          "kind": "structFieldTypeNode",
                          "name": "offset",
                          "type": {
                            "kind": "numberTypeNode",
                            "format": "u32",
                            "endian": "le"
                          }
                        },
                        {
                          "kind": "structFieldTypeNode",
                          "name": "key",
                          "type": {
                            "kind": "definedTypeLinkNode",
                            "name": "regionId"
                          }
                        }
                      ]
                    },
                    "count": {
                      "kind": "prefixedCountNode",
                      "prefix": {
                        "kind": "numberTypeNode",
                        "format": "u32",
                        "endian": "le"
                      }
                    }
                  }
                },
                {
                  "kind": "structFieldTypeNode",
                  "name": "unsizedList",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The list of byte offsets for the start of each element in the unsized list"
                  ],
                  "type": {
                    "kind": "arrayTypeNode",
                    "item": {
                      "kind": "definedTypeLinkNode",
                      "name": "region"
                    },
                    "count": {
                      "kind": "prefixedCountNode",
                      "prefix": {
                        "kind": "numberTypeNode",
                        "format": "u32",
                        "endian": "le"
                      }
                    }
                  }
                }
              ]
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "regionTracker"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "rentPtrCatalog",
      "docs": [
        "The per-game rent-history admission catalog. Created by the migration (a later slice); until then the",
        "PDA is uninitialized, which every reader treats as `DISABLED` (see [`read_catalog_state`])."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "51f6a3f46fff5c70",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "Schema lever (=1)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "state",
            "docs": [
              "One of [`rent_catalog_state`]."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activationTime",
            "docs": [
              "Chain time the catalog became Active (0 before)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "preparingStartedAt",
            "docs": [
              "Chain time the catalog entered Preparing (0 before). Distinct from any head's creation time."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "scanCursor",
            "docs": [
              "Migration scan cursor per source kind (indexed by [`rent_source_kind`]), `0..=RENT_ID_NAMESPACE`."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 3
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "admitted",
            "docs": [
              "Admitted (baselined) members per source kind — each source counted exactly once."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 3
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "unconfigured",
            "docs": [
              "Admitted members still awaiting the explicit configuration attestation."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "docs": [
              "Additive growth budget — carve typed fields from the FRONT; NEVER append."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 92
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "rentPtrCatalog"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "rentSourceHead",
      "docs": [
        "The durable head of one price source. Its history is continuous for the life of the game: a source that",
        "is removed and re-created keeps this head (generation is metadata only)."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "17d7fa47681f3b5b",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "kind",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "key",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "generation",
            "docs": [
              "Metadata only: bumped on a source close/recreate (never splits a bill)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "firstEffectiveFrom",
            "docs": [
              "`effective_from` of revision 0."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastRecreatedAt",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "currentRevision",
            "docs": [
              "Revision of the latest record (revisions are contiguous from 0)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastEffectiveFrom",
            "docs": [
              "`effective_from` of the latest record."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "writeVersion",
            "docs": [
              "Optimistic-concurrency guard: bumped on every effective value mutation."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "capturedPresent",
            "docs": [
              "1 when a Preparing/Ready capture was recorded (first write wins)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "capturedRevision",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "capturedValue",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 280
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "baselinePresent",
            "docs": [
              "1 once the migration froze this source's pre-activation baseline."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "baselineRevision",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "baselineValue",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 280
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "configured",
            "docs": [
              "1 once the migration configured this source (usable for pricing when also baselined)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "docs": [
              "Additive growth budget — carve typed fields from the FRONT; NEVER append."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 64
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "rentSourceHead"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "rentSourcePage",
      "docs": [
        "16 consecutive records of one source."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "e4a98b69d7a682f6",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "kind",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "key",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pageIndex",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "count",
            "docs": [
              "Records used on this page (1..=16 once created)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "records",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "rentRecord"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 16
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "rentSourcePage"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "rentSettlementAuthority",
      "docs": [
        "The durable settlement authority of one claim-stake address."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "464131e6c0287661",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "stake",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "incarnation",
            "docs": [
              "Bumped when the stake at this address is closed (slice 4c/5); stale evaluations can never commit."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "nextNonce",
            "docs": [
              "The nonce the next Begin installs (monotonic; never reused)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "balanceRevision",
            "docs": [
              "Bumped by every rent top-up while Option B is active (slice 4c); an evaluation that priced an older",
              "balance cannot finalize against a newer one."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "active",
            "docs": [
              "1 while an evaluation is active."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeNonce",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeOrigClock",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeCutoff",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeKind",
            "docs": [
              "One of [`rent_eval_kind`]."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeFull",
            "docs": [
              "1 when the active cutoff was the chain time at Begin (only such a settlement restores the allowance)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cancelsRemaining",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastCancelAt",
            "docs": [
              "Chain time of the last owner cancel (0 = never)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "receiptPresent",
            "docs": [
              "The last committed settlement's identity-bound receipt (Commit writes it; slice 5's in-instruction",
              "settle-to-now also will). `0` = none."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "receipt",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "rentSettlementReceipt"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "commitReceiptPresent",
            "docs": [
              "The last MULTI-TRANSACTION Commit's receipt, checked FIRST by Commit so a retry replays it (after time",
              "moves, after later ticks, after the stake became evictable) and applies nothing. Only Commit writes it."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "commitReceipt",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "rentSettlementReceipt"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "docs": [
              "Additive growth budget — carve typed fields from the FRONT; NEVER append."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 28
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "rentSettlementAuthority"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "rentSettlementEval",
      "docs": [
        "One settlement evaluation of one stake."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "9316e50f2be3b815",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "domain",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "stake",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "nonce",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "incarnation",
            "docs": [
              "The authority incarnation the evaluation was begun under."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "funder",
            "docs": [
              "Who paid this account's rent (refunded to them when it closes)."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "sourceKeys",
            "docs": [
              "The three source keys PINNED at Begin (GRID body, LEVEL system id, DEF definition id)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "publicKeyTypeNode"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 3
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "finalized",
            "docs": [
              "1 once finalized; the result below is then final (idempotent)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "debit",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "newClock",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reached",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "saturated",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "finalizedPaidClock",
            "docs": [
              "The live paid clock / balance revision the result was computed against."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "finalizedBalanceRevision",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "core",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "packedEvalCore"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "docs": [
              "Additive growth budget — carve typed fields from the FRONT; NEVER append."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 64
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "rentSettlementEval"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "scanPattern",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "35d3611e7be52e37",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "scanPatternId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "scanPatternId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "name"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cooldownMultiplier",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "blankWeight",
            "docs": [
              "Weight that is always added, if rolled scan is a failure"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "blankXpValue",
            "docs": [
              "Multiplied by scan power"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "status",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "scanPatternStatus"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cost",
            "docs": [
              "All costs are paid per scan."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "scanCost"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lootTable",
            "docs": [
              "One entry is chosen per scan."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "scanLootEntry"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "noiseMaps",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "scanNoiseMap"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "scanPattern"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "scanPatternNoiseMapUpload",
      "docs": [
        "Scan pattern noise-map upload staging account.",
        "",
        "Used to upload replacement noise maps in chunks without mutating the live",
        "[`ScanPattern`] until an explicit commit step."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "72db1e1e72d03a46",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "scanPatternId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "scanPatternId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "expectedLen",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "noiseMaps",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "scanNoiseMap"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "scanPatternNoiseMapUpload"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "scanLootProfile",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "41220746c66389ee",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "status",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "scanPatternStatus"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "regionId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "regionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "revision",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "contentHash",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "riskValueMultiplierBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "anchors",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "numberTypeNode",
                  "format": "i64",
                  "endian": "le"
                },
                "count": {
                  "kind": "fixedCountNode",
                  "value": 2
                }
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lootRows",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "scanProfileLootEntry"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "scanLootProfile"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "scanLootProfileUpload",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "7c2ed40d4b8f63bc",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "regionId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "regionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "expectedAnchorCount",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "expectedRowCount",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "baseRevision",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "nextRevision",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "expectedContentHash",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "riskValueMultiplierBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "anchors",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "numberTypeNode",
                  "format": "i64",
                  "endian": "le"
                },
                "count": {
                  "kind": "fixedCountNode",
                  "value": 2
                }
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lootRows",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "scanProfileLootEntry"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "scanLootProfileUpload"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "scanPatternPolicy",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "49688644d88399b8",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "scanPatternId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "scanPatternId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "status",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "strategy",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "revision",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "contentHash",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "contactChanceBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxRarity",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "requiredResearchTagCount",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "requiredResearchTags",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "researchTag"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 4
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "targetRadius",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "signalTtlSecs",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "noContactXp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "recoveryXp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "exhaustionPerRecoveryBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxExhaustionBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "exhaustionDecaySecs",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "valueBudget",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "allowedFocusCategoryMask",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 16
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "scanPatternPolicy"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "scanSignal",
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "98a44d049af714bb",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "status",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "focus",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "ownerProfile",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "ownerCharacter",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "fleet",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "controllerProfile",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "controllerCharacter",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "sequence",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "regionId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "regionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "scanPatternId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "scanPatternId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "policyRevision",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "profileRevision",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "policyHash",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "profileHash",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "commitSlot",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "revealSlots",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 3
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "eligibilityBitmap",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "location",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "i64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "chargeHash",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cooldownUntil",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "detectedAt",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "effectiveScanPower",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "contactChanceBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "exhaustionBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "chargedItemCount",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "flags",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "exhaustionDecaySecs",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved0",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "seed",
            "type": {
              "kind": "numberTypeNode",
              "format": "u128",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "target",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "i64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "targetRadius",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "expiresAt",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cargoId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rarity",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "quantityMode",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "category",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lootRowIndex",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved1",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "baseQuantity",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "nominalQuantity",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "acceptedQuantity",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "clippedQuantity",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardXp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xpAwarded",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "resolvedAt",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "terminalAt",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastRegion",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "regionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "consecutiveRecoveries",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastRecoveryAt",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved2",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 4
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "scanSignal"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "starSystem",
      "docs": [
        "Star System Account"
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "cf207b0909fbdda9",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "The data version of this account."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "docs": [
              "The game this star system belongs to"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "systemId",
            "docs": [
              "The unique system id"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "systemId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "docs": [
              "The name of this star system"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "name"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "region",
            "docs": [
              "The region this star system belongs to"
            ],
            "type": {
              "kind": "optionTypeNode",
              "fixed": true,
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "regionId"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "coordinates",
            "docs": [
              "The coordinates of this star system"
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "i64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "seqId",
            "docs": [
              "The sequence id for the `Starbase`. Incremented when starbase changes hands or is removed."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "connections",
            "docs": [
              "The connections to other star systems, forms warp lanes when both ends are owned by the same faction.",
              "The value is the cost in atlas based on the starbase level.",
              "Fee charged for the \"warp lane\" movement type which is meant to be charged in ATLAS.",
              "Since ATLAS has 8 decimal places, units are in the smallest value of ATLAS possible."
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "systemId"
              },
              "value": {
                "kind": "definedTypeLinkNode",
                "name": "connectionCost"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "celestialBodies",
            "docs": [
              "The celestial bodies in this star system"
            ],
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "publicKeyTypeNode"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbase",
            "docs": [
              "The starbase in this star system"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "starbase"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "starSystem"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "starbaseUpgradeProcess",
      "docs": [
        "This account represents a starbase upgrade resource being processed"
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "f3894ceb09f2af86",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "The data version of this account."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "profile",
            "docs": [
              "The `Profile` key"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "system",
            "docs": [
              "The `System` key"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbasePlayer",
            "docs": [
              "the owner/authority of this upgrade process"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseSeqId",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "resourceId",
            "docs": [
              "The resource id"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "quantity",
            "docs": [
              "Quantity of resource to process"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "numCrew",
            "docs": [
              "the number of crew taking part in the processing"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "startTime",
            "docs": [
              "the start timestamp"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "endTime",
            "docs": [
              "the end timestamp"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          }
        ]
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "starbasePlayer",
      "docs": [
        "The `SAGE` player info within a `Starbase`"
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "c0ea905648130563",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "The data version of this account"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "playerProfile",
            "docs": [
              "The `Profile` key"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "faction",
            "docs": [
              "The `Faction` of the player."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "faction",
              "program": {
                "kind": "programLinkNode",
                "name": "profileFactionStarFrame"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "system",
            "docs": [
              "The `System` key"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "character",
            "docs": [
              "The `Character` key"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "totalCrew",
            "docs": [
              "The total crew members from the player's fleets at the `Starbase`"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "busyCrew",
            "docs": [
              "The number of crew members that is engaged/busy and not available"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "respawningCrew",
            "docs": [
              "Crew currently respawning from this starbase"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "respawnQueue"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "seqId",
            "docs": [
              "The seq_id of `Starbase`"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cargoRespawnEndsAt",
            "docs": [
              "The time at which cargo respawn completes"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "docs": [
              "Bump of Account PDA"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "respawningShips",
            "docs": [
              "Ships currently respawning from this starbase"
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "shipId"
              },
              "value": {
                "kind": "definedTypeLinkNode",
                "name": "respawnQueue"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "respawningClaimStakes",
            "docs": [
              "Claim stakes currently respawning from this starbase"
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "claimStakeDefinitionId"
              },
              "value": {
                "kind": "definedTypeLinkNode",
                "name": "respawnQueue"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "respawningCraftingHabs",
            "docs": [
              "Crafting habs currently respawning from this starbase"
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "craftingHabDefinitionId"
              },
              "value": {
                "kind": "definedTypeLinkNode",
                "name": "respawnQueue"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "respawningCargo",
            "docs": [
              "Cargo waiting to respawn for this starbase player"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoPod"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "shipsInEscrow",
            "docs": [
              "Ships in escrow"
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "shipId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cargoPod",
            "docs": [
              "The cargo pod for the player at this starbase"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoPod"
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "starbasePlayer"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "structureXpAccrual",
      "docs": [
        "PDA body: `[b\"StructureXpAccrual\", structure]`."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "7ca504420de22748",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "Schema lever (=2: tier-second ledger)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "docs": [
              "PDA bump."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "docs": [
              "Game scoping."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "structure",
            "docs": [
              "The claim-stake or crafting-hab instance this ledger belongs to."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "settledTo",
            "docs": [
              "The ledger is exact up to this timestamp (monotonic)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "accruedTierSeconds",
            "docs": [
              "Operational tier-seconds not yet converted to XP."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "docs": [
              "Additive growth budget — carve typed fields from the FRONT; NEVER append."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 14
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "structureXpAccrual"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "xpBudgetConfig",
      "docs": [
        "Game-scoped v1 XP runtime parameters: six budgets + six earning rules."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "b7bdd3c393fea8fa",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "Schema/migration lever (=1)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "docs": [
              "This account's PDA bump."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "docs": [
              "Game scoping (AccountValidate compares)."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "params",
            "docs": [
              "Ordered by `budget_track`: Pilot, DataRunner, Mining, Building,",
              "Crafting, Combat."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "xpBudgetParams"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 6
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rules",
            "docs": [
              "The six v1 earning rules."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "xpEarningRulesV1"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "docs": [
              "Additive growth budget — carve typed fields from the FRONT; NEVER append."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 22
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "xpBudgetConfig"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "careerXpMigrationConfig",
      "docs": [
        "Game-scoped record of one legacy-to-v1 migration. Seeded",
        "`[b\"CareerXpMigrationConfig\", game_id]`, created by the seal instruction."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "5bc29a76198d37ac",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "phase",
            "docs": [
              "Current irreversible phase (`XpMigrationPhase` wire value)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "manifestCommitted",
            "docs": [
              "1 once the finalized-seal manifest has been committed (one-shot)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "docs": [
              "This account's PDA bump."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad",
            "docs": [
              "Reserved phase flags."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 5
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gameId",
            "docs": [
              "Game this migration belongs to."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "targetDefinitionsPayloadSha256",
            "docs": [
              "Independently approved digest of the staged payload, supplied to the",
              "seal instruction and immutable afterwards. Migration and activation",
              "both recompute against this value; a self-reported hash is never",
              "sufficient."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "sealedSlot",
            "docs": [
              "Slot at which the game was sealed (the finalized manifest boundary)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "targetSeqId",
            "docs": [
              "`Game.xp_definitions.seq_id` every reconciled Character is stamped",
              "with and that activation installs, so ordinary sync becomes a no-op",
              "for the migrated cohort after activation."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "sourceThresholdVersion",
            "docs": [
              "Source (legacy) threshold version = 0, target version = 1."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "targetThresholdVersion",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad2",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 4
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "manifestMerkleRoot",
            "docs": [
              "Merkle root of the finalized-slot Character pubkey manifest."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "manifestCount",
            "docs": [
              "Total Characters in the manifest."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "migratedCount",
            "docs": [
              "Characters whose marker went 0 -> 1 while sealed."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "auditedCount",
            "docs": [
              "Characters whose in-transaction post-state audit passed."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "highXpCount",
            "docs": [
              "Members of the mandatory high-XP audit cohort seen so far."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "manifestRepairVersion",
            "docs": [
              "One-way HYE manifest incident repair marker (0 = untouched; 1 = first",
              "repair, superseded; 2 = canonical-root correction).",
              "Carved from reserved space; existing fields and account size are unchanged."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "docs": [
              "Additive growth budget — carve typed fields from the FRONT; NEVER append."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 31
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "careerXpMigrationConfig"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "accountNode",
      "name": "careerXpTargetDefinitionsV1",
      "docs": [
        "Staged v1 threshold payload. Seeded",
        "`[b\"career_xp_target_definitions\", game_id, 1u32_le]` per the #222",
        "contract — note the lower-case seed literal from the spec.",
        "",
        "The header fields are exactly the digest preimage header: `version:u32_le`,",
        "`row_count:u32_le`, `renown_divisor:u32_le`, `feeder_mask:u16_le`."
      ],
      "data": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "discriminator",
            "defaultValueStrategy": "omitted",
            "type": {
              "kind": "fixedSizeTypeNode",
              "size": 8,
              "type": {
                "kind": "bytesTypeNode"
              }
            },
            "defaultValue": {
              "kind": "bytesValueNode",
              "data": "201af78436756cf8",
              "encoding": "base16"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "Target version (1)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rowCount",
            "docs": [
              "Row count; must be `V1_THRESHOLD_ROWS`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "renownDivisor",
            "docs": [
              "Renown divisor the migration credits through."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "feederMask",
            "docs": [
              "Feeder-category mask (u16, `0x00fc` for the six careers)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rowsWritten",
            "docs": [
              "Number of rows written so far by `AppendCareerXpTargetRows` (staging",
              "bookkeeping only; not part of the digest preimage)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rows",
            "docs": [
              "All 80 packed `XpLevelThresholdInfo` rows in current Programs packed",
              "field order."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "numberTypeNode",
                  "format": "u8",
                  "endian": "le"
                },
                "count": {
                  "kind": "fixedCountNode",
                  "value": 64
                }
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 80
              }
            }
          }
        ]
      },
      "pda": {
        "kind": "pdaLinkNode",
        "name": "careerXpTargetDefinitionsV1"
      },
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    }
  ],
  "instructions": [
    {
      "kind": "instructionNode",
      "name": "abandonSignal",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanSignal",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "3bb6d3dc41952b41",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedSequence",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "abortDemocracyPtrCustody",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "adminSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "identity",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "migration",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "custody",
          "isWritable": false,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "9b3bcc2ae8ed3c8c",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "adminKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "abortDemocracyPtrMigration",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "adminSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "identity",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "migration",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "b56887d719f21e1d",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "adminKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "abortMission",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "missionProcess",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Validated against BOTH the profile and starbase-player it stored (owner cross-check), closed on abort."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "missionVault",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The escrow vault — swept to the treasury (forfeit), then closed. Seed-validated to PDA(mission key);",
            "the mission_process it's bound to is already owner+game validated, so the vault is transitively scoped."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardPool",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The treasury the forfeited stake recycles into (validated `== mission.reward_pool` in-handler)."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "9bee04e120a596f2",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "acknowledgeScanResult",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanSignal",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Append-last compatibility account. New clients provide the signal Fleet so acknowledging an",
            "Abandoned receipt can shorten its cooldown; old clients may omit it and keep prior behavior."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "21fa8bef0f4c34f6",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedSequence",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "activateRentCatalog",
      "docs": [
        "Rent Option B, slice 5c-1b (SAGE 5c Q1 / Q4): Ready → ACTIVE, one-way. `MANAGE_GAME`.",
        "",
        "Re-checks readiness on the canonical catalog (owner, discriminator, seeds, version, domain and game are",
        "framework- / `validate`-checked): state READY, every scan cursor EXACTLY at the `RENT_ID_NAMESPACE`",
        "sentinel, no pending configuration, an UNSET activation time, and the per-kind admission counters within",
        "their namespace (a sanity bound; completeness itself is proven by the scan, the source-creation hooks and",
        "the explicit configurations, not by a count equality — the cursors cover absent ids too).",
        "",
        "The activation time is THIS instruction's chain clock — never caller-selected, never backdated to",
        "PREPARING / READY, never in the future — and must be nonnegative and not before `preparing_started_at`.",
        "Every member head was created no later than READY (no head can be created after PREPARING until a",
        "fresh-source path admits one under ACTIVE), so `now` is at or after every head's first record and every",
        "baseline record: the boundary the engine requires. A retry on an ACTIVE catalog is refused and never",
        "rewrites the timestamp; there is no ACTIVE → READY / reset path."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "adminSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "catalog",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "d083a631e2e191a8",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "activateXpMigration",
      "docs": [
        "Activates the migration (`Sealed -> Active`, irreversible). Requires the",
        "complete committed cohort (`migrated == audited == manifest_count`),",
        "re-verifies the staged payload against the approved digest, installs",
        "**all and only** the approved rows + renown config into",
        "`Game.xp_definitions`, re-hashes the installed Game bytes against that",
        "same digest, pins the target `seq_id`, and flips `Game.version` to",
        "`GAME_XP_RUNTIME_V1`. Takes no caller-selected manifest input."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "targetDefinitions",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "migrationConfig",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's budget/earning-rule config must exist before v1 goes live:",
            "every v1 XP write requires it, and program defaults are never used."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "c1ebf6f3456910bb",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "addClaimStakeDefinitionWithRentSource",
      "docs": [
        "Input data for adding a claim stake definition with its DEF price source"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game's rent catalog PDA (REQUIRED; must be ACTIVE; writable: admission counts)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentHead",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The new definition's DEF source head, CREATED here (an existing account is refused)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentPage0",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Its history page 0, CREATED here."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "5279f62f1a67ec75",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the profile permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "claimStakeDefinitionId",
          "docs": [
            "The NEW definition id (also derives the DEF source-head seeds)"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "claimStakeDefinitionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "claimStakeDefinitionSized",
          "docs": [
            "The claim stake definition to add"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "claimStakeDefinitionSized"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "claimStakeDefinitionUnsized",
          "docs": [
            "The unsized inputs for the claim stake definition"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "claimStakeDefinitionUnsizedInputs"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "addCrewToGame",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "crewConfig",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "crewOwner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "crewDelegate",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "bubblegumProgram",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "logWrapper",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "compressionProgram",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "27b372c92d34528e",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "items",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "crewTransferInput"
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "remainingAccounts": [
        {
          "kind": "instructionRemainingAccountsNode",
          "value": {
            "kind": "argumentValueNode",
            "name": "remainingAccounts"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "addRental",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "ownerProfile",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The fleet owner's profile."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerKey",
          "isWritable": false,
          "isSigner": true,
          "docs": [
            "The key on the owner profile with renting permissions."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "invalidator",
          "isWritable": false,
          "isSigner": true,
          "docs": [
            "The fleet rental invalidator - this is a signer to help make sure the fleet won't be locked."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameId",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`Game`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The fleet to rent out."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "d571aa7bbb5a1c73",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "ownerKeyIndex",
          "docs": [
            "the index of the owner key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "addShipEscrow",
      "docs": [
        "Struct for data input for `AddShipEscrow`"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSignerSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileSignerProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileSignerCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileSignerProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`Character`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "originTokenAccount",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Origin Token Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "shipEscrowTokenAccount",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Escrow Token Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starSystem",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "starbasePlayer",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "5374617262617365506c61796572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "starSystem1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "character2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "starSystem1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "starSystem"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "character2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "character"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "key",
          "isWritable": true,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "tokenProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Token Program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "ba13da96a7b5d459",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "shipAmount",
          "docs": [
            "Amount of `Ship` tokens to transfer to escrow"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "id",
          "docs": [
            "Unique identifier for the ship; if not provided the a ship id will be auto-selected"
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "addShipToFleet",
      "docs": [
        "Add ships to a fleet",
        "",
        "Logic overview:",
        "- Check that the profile has MANAGE_FLEET permissions",
        "- Check that the star_system and matches the profile faction",
        "- Check that the starbase_player belongs to the profile and is paired with the star_system",
        "- Ensure that the StarbasePlayer and StarSystem accounts are valid",
        "- Ensure that the fleet is docked",
        "- Check that the fleet belongs to the profile and is not destroyed",
        "- Ensure that the fleet is not rented",
        "- Ensure that the fleet has max AP, SP & HP",
        "- Move ships from starbase_player to fleet"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The character of [`Self::profile_validation`] that belongs to [`Self::game`]"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`](crate::state::Fleet) account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "eda699487ab3dc4e",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "ships",
          "docs": [
            "Number of ships to add to the fleet"
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "addShipArgs"
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "shipEscrowIndex",
          "docs": [
            "Index of `WrappedShipEscrow` in remaining data of `StarbasePlayer`"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "fleetShipInfoIndex",
          "docs": [
            "Index of `FleetShipsInfo` in remaining data of `FleetShips`"
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "adminCreateFleet",
      "docs": [
        "Create an NPC fleet at an arbitrary map location (admin only)",
        "",
        "Logic overview:",
        "- Check that the fleet-owner profile has `MANAGE_FLEET` permissions",
        "- Require authorization from the Game profile with `MANAGE_COMBAT`",
        "- Look up the ship definition from game state and compute fleet stats",
        "- Create the fleet PDA and set it to Idle state at the given sector",
        "",
        "Unlike [`crate::instructions::CreateFleet`], this instruction:",
        "- Does not require a `StarbasePlayer` or `Character` account",
        "- Accepts explicit `sector` coordinates — fleet spawns anywhere on the map",
        "- Populates ship stats directly from the on-chain ship definition registry",
        "",
        "Intended for privileged NPC/scenario fleet spawning (nemesis-engine, npc-fleets)."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameAdminValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameAdminValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameAdminValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameAdminValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileFaction",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Profile faction — determines the fleet's faction alignment"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account, bound to the administrative profile above."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The new [`Fleet`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "d0de873b81aef4f7",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "fleetLabel",
          "docs": [
            "Fleet label (padded to `MAX_NAME_LENGTH` bytes)"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "name"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "shipId",
          "docs": [
            "Ship type to place in the fleet (must exist in `game.ship_definitions`)"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "shipId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "shipAmount",
          "docs": [
            "Number of ships to add"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "sector",
          "docs": [
            "Starting sector coordinates `[x, y]`"
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 2
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "Index of the signing key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "gameAdminKeyIndex",
          "docs": [
            "Index of the signing key in the Game's administrative profile."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "adminDepositCargoToFleet",
      "docs": [
        "Deposit fuel and/or ammo directly into an NPC fleet (admin only)",
        "",
        "Logic overview:",
        "- Check that the fleet-owner profile has `MANAGE_FLEET_CARGO` permissions",
        "- Require authorization from the Game profile with `MANAGE_COMBAT`",
        "- Validate that the fleet belongs to the owner profile",
        "- Directly increment `fuel_tank` and/or `ammo_bank` on the fleet account",
        "up to the fleet's stat-derived capacity limits",
        "",
        "Unlike [`crate::instructions::TransferCargoToFleet`], this instruction:",
        "- Does not require the fleet to be docked — works in any fleet state",
        "- Does not transfer from a `StarbasePlayer` cargo pod — admin injects directly",
        "- Only handles fuel and ammo (the two `SingleCargo` fields on Fleet)",
        "",
        "Intended for NPC fleet restocking without the normal player cargo flow",
        "(nemesis-engine, npc-fleets)."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameAdminValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameAdminValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameAdminValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameAdminValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account, bound to the administrative profile above."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The fleet to restock"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "187f4dc48d32d759",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "fuelAmount",
          "docs": [
            "Amount of fuel to deposit (0 = no change)"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "ammoAmount",
          "docs": [
            "Amount of ammo to deposit (0 = no change)"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "Index of the signing key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "gameAdminKeyIndex",
          "docs": [
            "Index of the signing key in the Game's administrative profile."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "adminRemoveFleet",
      "docs": [
        "Remove an NPC fleet from non-mining states (admin only)",
        "",
        "Logic overview:",
        "- Check that the profile has MANAGE_FLEET permissions",
        "- Check that the fleet belongs to the admin profile",
        "- Reject mining fleets because asteroid miner counters need cleanup",
        "- Drop all cargo pod contents and close the fleet account",
        "",
        "Unlike [`crate::instructions::DisbandFleet`], this instruction:",
        "- Does not require the fleet to be docked at a starbase",
        "- Does not require a `StarbasePlayer`, `Character`, or system account",
        "- Discards all ship and cargo data (NPC cleanup — nothing to return to a player)",
        "- Accepts fleets in non-mining states (Idle, MoveSubwarp, MoveWarp, etc.)",
        "",
        "Intended for NPC fleet teardown (nemesis-engine, npc-fleets)."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The fleet account to remove"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleetFactionOwnership",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "P5b CONCURRENT-CAP (best-effort): the fleet's FLEET-kind `FactionOwnership` sidecar (optional,",
            "writable) — present ⇔ an NPC fleet; supplies the controlling faction so its live `npc_fleet_count` is",
            "freed on teardown. PDA seed-bound to `fleet`. Omitted ⇒ no-op, byte-identical.",
            "ROOT-CAUSE FIX (C4 JOR orphan): now `Mut` + closed atomically when supplied — a read-only sidecar",
            "leaked rent and blocked `AdminSetNpcFleetId`'s `Init<Create>` on the respawned fleet (Custom(0))."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerFactionAccount",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "P5b CONCURRENT-CAP: the controlling faction's registry account (Optional, Mut) — decremented when an",
            "NPC fleet is released. REQUIRED ⇔ the sidecar names a dynamic faction (id > 3); PDA-bound in-handler."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "d1a33ec6b676ed29",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "Index of the signing key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "adminSetNpcFleetId",
      "docs": [
        "Backfill `npc_faction_id` + `FactionOwnership` sidecar onto a legacy NPC fleet.",
        "",
        "Logic overview:",
        "- Check that the fleet-owner profile has `MANAGE_FLEET` permission",
        "- Require authorization from the Game profile with `MANAGE_COMBAT`",
        "- Reject if the fleet already has a non-zero `npc_faction_id` (idempotent)",
        "- Stamp `npc_faction_id` on the fleet",
        "- Create the `FactionOwnership` sidecar",
        "- Bump the faction's `npc_fleet_count`"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameAdminValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameAdminValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameAdminValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameAdminValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account, bound to the administrative profile above."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The fleet to backfill"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionOwnership",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The FLEET dynamic-ownership sidecar — created here."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionAccount",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The NPC faction's registry account. PDA re-derived from `npc_faction_id` in `process()`."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "e59d408fea7c794f",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "npcFactionId",
          "docs": [
            "The NPC faction id to assign. Must be > 0."
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "Index of the signing key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "gameAdminKeyIndex",
          "docs": [
            "Index of the signing key in the Game's administrative profile."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "adminWithdrawAtlas",
      "docs": [
        "Withdraws ATLAS from a game vault",
        "",
        "Logic overview:",
        "- Check that the profile has MANAGE_CURRENCY permissions",
        "- Check that the character belongs to the profile",
        "- Check that the currency_cache belongs to the game and owns the game_atlas_vault",
        "- Validate the address of the destination token account based on the `WithdrawalDestinationType`",
        "- Ensure that the requested withdrawal can be completed successfully",
        "- Withdraw the ATLAS from the character balance"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameAtlasVault",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game's ATLAS vault ATA"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "destination",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The destination token account that will receive ATLAS tokens",
            "This must either be the ATLAS vault address or DAO ATLAS vault address and is checked in the instruction"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "tokenProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The spl token program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "50d361dee9978d26",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "destinationType",
          "docs": [
            "Whether to withdraw to the game ATLAS token account or to the DAO ATLAS token account"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "withdrawalDestinationType"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "amount",
          "docs": [
            "Amount of ATLAS tokens to withdraw"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "admitRentSource",
      "docs": [
        "Admits the PRICED source at the cursor that already has a head: its latest record must equal the live",
        "source value (a disagreeing history is refused — never blessed); the baseline is the Preparing capture if",
        "present, else the latest record. An already-admitted head (created during Preparing) is recognized",
        "without a recount. Advances the cursor by one. Permissionless; Preparing only."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "catalog",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "LEVEL only."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "body",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "GRID only."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "head",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The source's existing head."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentPage",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The page holding the head's latest record."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "56acd39c14b23bb2",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "kind",
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedCursor",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "adoptDemocracyPtrBacking",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAuthorityGame",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAuthorityIdentity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAuthorityRoot",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAllocation",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionClaimHistory",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionGeneration",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "history",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "custody",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "assetLock",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "backing",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "22a82c3c46fa216d",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedRootRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAllocationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedBackingRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "advanceAtlasRewardEpoch",
      "docs": [
        "Permissionlessly advance the registry to the epoch containing the current clock timestamp."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "registry",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "activeConfig",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Current active version, PDA-checked against registry data in `process`."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "pendingConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Required exactly when the registry has a pending version."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "a6be5cac04fdf299",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "advanceDemocracyRequirementsConfig",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "registry",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "pendingCurveConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Required with `pending_housing_map` whenever the registry has a pending pair."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "pendingHousingMap",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Required with `pending_curve_config` whenever the registry has a pending pair."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "8d54fb89afab8da9",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "appendCareerXpTargetRows",
      "docs": [
        "Appends up to [`MAX_ROWS_PER_CALL`] packed rows to the staged payload,",
        "strictly contiguous and ascending (`start_row == rows_written`).",
        "Admin-gated; call repeatedly until all 80 rows are written, then seal."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "targetDefinitions",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "f2b53ae9093ed13a",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "startRow",
          "docs": [
            "Starting row index being written; must equal the rows written so far."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "rows",
          "docs": [
            "Packed rows (u64_le x 8 fields each)."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 64
              }
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 8
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "count",
          "docs": [
            "How many entries of `rows` are meaningful (1..=8)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "appendDemocracyPtrPowerAdmission",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "adminSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "identity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "migration",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "reconciliation",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "admission",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "routeObligations",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "obligation",
          "isWritable": false,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "ed5bccbdc745e0db",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "adminKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "currentKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedConsumed",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "appendRegionBorderUploadChunk",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionBorderUpload",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "d2899463087905bf",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "regionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "borderChunk",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "i64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "offset",
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "appendScanLootProfileUploadChunk",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanLootProfileUpload",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "ea88b332500ea8ab",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "regionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "anchorChunk",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "i64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "lootRowChunk",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "scanProfileLootEntryInput"
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "anchorOffset",
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "lootRowOffset",
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "appendScanPatternNoiseMapUploadChunk",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanPatternNoiseMapUpload",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "84f050eb9393c900",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "scanPatternId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "scanPatternId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "noiseMapChunk",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "scanNoiseMapBorsh"
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "offset",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "appendScanPatternNoiseMaps",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanPattern",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "fb39560c3d4b6f11",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "appendScanPatternNoiseMapsArgs"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "appendShipDefinitionUploadChunk",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "shipDefinitionUpload",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "077b88909fdfa7c6",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "shipId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "shipId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "researchRequirementsChunk",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "componentRequirementsChunk",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "numberTypeNode",
                  "format": "u16",
                  "endian": "le"
                },
                {
                  "kind": "numberTypeNode",
                  "format": "u64",
                  "endian": "le"
                }
              ]
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "researchOffset",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "componentOffset",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "applyCombatStimulant",
      "docs": [
        "Applies one fleet-only combat stimulant from the fleet cargo hold.",
        "",
        "The resulting active stimulants are charge-based and live on the Fleet account. They are",
        "applied to local combat-stat overlays at resolution time and never mutate Fleet.stats."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The fleet applying the stimulant. Must be crewed."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account containing cargo and stimulant definitions."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "96a1699681f5a459",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "stimCargoId",
          "docs": [
            "Cargo id of the stimulant item to consume from the fleet cargo hold."
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "cargoId"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "armMissionSettle",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "crank",
          "isWritable": false,
          "isSigner": true,
          "docs": [
            "Permissionless crank — any signer (no rent moves; the process stays open for the later settle)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Read-only, for the process owner cross-check (no mutation here)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "missionProcess",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The process to arm — validated against its stored starbase-player. NOT closed (one-way arm)."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "ab5995561048f97a",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "attackFleet",
      "docs": [
        "Attack an enemy fleet.",
        "",
        "Logic overview:",
        "- Check that the ProfileValidation has `SagePermissions::ENGAGE_IN_COMBAT`, with scopes either for the fleet or sage",
        "- Check that both fleets are alive and synced with game",
        "- Check that the instruction is the only instruction in the transaction",
        "- Check that the fleet's are within range",
        "- Check that the attacker has AP",
        "- Calculate the attack outcome",
        "- Potentially drop loot"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The character account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The `Fleet` account",
            "Must be alive and have normalized crew"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "defendingFleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The defending fleet.",
            "Must be alive"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "defenderCharacter",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The defender's character account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "loot",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The loot account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Region tracker account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "instructionsSysvar",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Solana Instructions Sysvar"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "Sysvar1nstructions1111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "recentSlothashes",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Recent slot hashes used to seed combat outcome randomness"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "asteroid",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The asteroid that the defending fleet is mining",
            "Must be provided only if the defending fleet is mining"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionRelationTracker",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "P3 diplomacy combat-gate (REQUIRED — enforced, non-bypassable). Always passed (one tracker per game,",
            "created by `InitFactionRelationTracker`). When `combat_gating_enabled == 0` the gate is a no-op",
            "(behavior-identical to pre-P3 — same-faction is still enforced by `validate()`'s `!=`); when `1`, it",
            "forbids attacking an Allied/active-Ceasefire faction inside that faction's OWNED territory."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "crewBinding",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "attackerFleetOwnership",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "P5b: the ATTACKER fleet's `FactionOwnership(FLEET)` sidecar (Optional, read-only). Present ⇔ the",
            "attacker is an NPC fleet — it supplies the dynamic controlling faction so `attacker_id` can resolve to",
            "a minor id `> 3` (and the COMBATANT guard can bite). PDA seed-bound to `self.fleet`. Flag-OFF / a",
            "player attack passes `None` ⇒ byte-identical to pre-P5b (the resolution falls back to the legacy enum).",
            "Appended AFTER `crew_binding` so the canonical trailing-optional order is",
            "asteroid → faction_relation_tracker → crew_binding → P5b's three (program-id-sentinel positional decode)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "defenderFleetOwnership",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "P5b: the DEFENDER fleet's `FactionOwnership(FLEET)` sidecar (Optional, read-only). Resolves an NPC",
            "defender's TRUE faction so the diplomacy gate + resolved same-faction guard don't mis-resolve it as",
            "Unaligned (id 0). PDA seed-bound to `self.defending_fleet`."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "attackerFactionAccount",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "P5b: the attacker faction's registry account (Optional, read-only) — the COMBATANT capability guard",
            "for a dynamic NPC attacker (`attacker_id > 3`). Its PDA is re-derived from the RESOLVED `attacker_id`",
            "and `ensure_eq!`-bound in `process()`, so a caller can never pass a COMBATANT faction's account while",
            "flying a non-COMBATANT faction's fleet."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "attackerRewardsRegistry",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "attackerRewardsConfig",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "attackerRewardsEpoch",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "attackerRewardsContribution",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "defenderRewardsRegistry",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "defenderRewardsConfig",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "defenderRewardsEpoch",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "defenderRewardsContribution",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "attackerXpBudget",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "defenderXpBudget",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Game-scoped v1 budgets + earning rules (required on v1 games)."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "59ad057b6d0decd9",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "stance",
          "docs": [
            "The attacking stance",
            "TODO: actually use this"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "fleetStance"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "attackStarbase",
      "docs": [
        "Attack an enemy starbase.",
        "",
        "Logic overview:",
        "- Check that the ProfileValidation has `SagePermissions::ENGAGE_IN_COMBAT`, with scopes either for the fleet or sage",
        "- Check that the instruction is the only instruction in the transaction",
        "- Check that the fleet is within range",
        "- Check that the fleet has AP",
        "- Calculate the attack outcome",
        "- Potentially drop loot",
        "- Rent Option B: record the resulting level in the system's LEVEL history (a no-op when unchanged; a",
        "takeover also marks the source recreated)"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The character of the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The `Fleet` account",
            "Must be alive and have normalized crew"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The system account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "loot",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The loot account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Region tracker account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "instructionsSysvar",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Solana Instructions Sysvar"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "Sysvar1nstructions1111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "recentSlothashes",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Recent slot hashes used to seed combat outcome randomness"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionRelationTracker",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "P3 diplomacy combat-gate (REQUIRED — enforced, non-bypassable). Always passed (one tracker per game).",
            "`combat_gating_enabled == 0` ⇒ no-op (pre-P3 behavior — same-faction still enforced by `validate()`);",
            "`1` ⇒ forbids attacking an Allied/active-Ceasefire faction's starbase inside that faction's OWNED territory."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionOwnership",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "P4 dynamic-ownership sidecar for THIS starbase (Optional). REQUIRED ⇔ `dynamic_capture_enabled != 0`",
            "(enforced in `process`, STEP 0). PDA proven by `Seeds` — the `game_id` seed makes the address",
            "game-scoped (a wrong-game sidecar derives a different PDA ⇒ `AddressMismatch`); STEP 0 also asserts",
            "`game_id` directly (defense-in-depth). Absent ⇒ pure legacy combat (pre-P4 behavior, byte-identical).",
            "",
            "NOTE (client SDKs): the seeds use the `starbase_seeds(...)` helper, which the IDL extractor cannot",
            "introspect into a `pdaNode` (a const `asset_kind` seed is not expressible via `#[idl(arg = Seeds)]`).",
            "Callers derive it by hand: `[b\"FactionOwnership\", game, &[0u8], system.to_bytes()]`."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "crewBinding",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "attackerFleetOwnership",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "P5b: the ATTACKER fleet's `FactionOwnership(FLEET)` sidecar (Optional, read-only). Present ⇔ an NPC",
            "attacker — it resolves `attacker_id` to a dynamic minor id `> 3` so the COMBATANT path activates. PDA",
            "seed-bound to `self.fleet`. Absent / nemesis OFF ⇒ legacy resolution (byte-identical to P4). Appended",
            "AFTER `crew_binding` (canonical tail: faction_ownership → crew_binding → P5b's four)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "attackerFactionAccount",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "P5b: the attacker faction's registry account (Optional, Mut). Serves BOTH the COMBATANT capability",
            "guard for a dynamic NPC attacker AND the per-faction anti-blitz `last_capture_at` stamp on capture. Its",
            "PDA is re-derived from the RESOLVED `attacker_id` in `process()` (capability-forgery defense)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionEconomicsConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "P5b: the per-game NPC-economy dials (Optional, read-only) — the capture cooldown + cost. REQUIRED on a",
            "dynamic NPC capture (so the anti-blitz cannot be dodged by omitting it)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "captorTreasury",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "P5b: the captor faction's treasury (Optional, Mut) — debited `capture_cost_atlas` via the per-epoch",
            "meter on a dynamic NPC capture (skin-in-the-game; a defunded faction cannot pay ⇒ self-quieting). Its",
            "PDA is bound to `attacker_id` in STEP H."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardRegistry",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Event-time reward config and King tracker. Mandatory so a caller cannot omit tier rewards or",
            "ownership-count maintenance when a starbase is downgraded/taken over."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardConfig",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "kingTracker",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudget",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's rent catalog PDA (REQUIRED, may be uninitialized = Disabled)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentHead",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The target system's LEVEL source-head PDA (REQUIRED, may be uninitialized = a legacy source)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCurrentPage",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The page holding the head's latest record (required iff the head exists)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentNextPage",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The following page, created on demand (required iff the head exists)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryHistory",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryPolicy",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryGeneration",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "52eb0f35a84281a1",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "stance",
          "docs": [
            "The attacking stance",
            "TODO: actually use this"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "fleetStance"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "awardCrewActivityXp",
      "docs": [
        "`AwardCrewActivityXp` args. A batch of crew (by asset id) on one page, plus the per-category",
        "XP to pour for the fleet's recent activity (`awards` indexed by",
        "`CrewXpCategory`(crate.state.CrewXpCategory) — `awards[Mining]` etc.). The pour is divided",
        "across the page's present crew (the §S.4 per-capita share); each named crew then realizes."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The caller's `Character` — the crew-roster OWNER anchor (PR #732 second review)."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "roster",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "06d3fe6c23fe43de",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "crewAssetIds",
          "docs": [
            "The crew (by asset id) to realize after the pour. Typically the crew the fleet had",
            "onboarded for the awarded activity."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "awards",
          "docs": [
            "Per-activity XP to credit, indexed by `CrewXpCategory`(crate.state.CrewXpCategory).",
            "Each non-zero entry is poured into that category's per-capita accumulator; zeros are no-ops.",
            "Every entry must be ≤ `crate.folds.xp.MAX_ACTIVITY_XP_AWARD_PER_CALL` (≈100 resolves'",
            "worth) or the call rejects with `CrewXpAwardTooLarge` (PR #732 review — bounds the",
            "caller-supplied pour rate)."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 5
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "pageIndex",
          "docs": [
            "The roster page the named crew live on."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "beginDemocracyPtrCustody",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "adminSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "identity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "migration",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "reconciliation",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "admission",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "custody",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "4765bcced4e580d1",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "adminKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "currentKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "beginDemocracyPtrCutover",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "identity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "migration",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "reconciliation",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "admission",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "census",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "custody",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "progress",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "24b23c89ed7d64aa",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "beginDemocracyPtrLockCensus",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "contextGame",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "contextIdentity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "contextMigration",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "catalog",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "census",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "b70457c86a35b6d6",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "beginDemocracyPtrMigration",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "adminSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "identity",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "migration",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "11e87de7a44e822a",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "adminKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "currentKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "beginDemocracyPtrPowerAdmission",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "adminSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "identity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "migration",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "reconciliation",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "admission",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "821beeb6ee916d34",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "adminKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "currentKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "beginDemocracyPtrReconciliation",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "adminSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "identity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "migration",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "reconciliation",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "ea9e9856db82b968",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "adminKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "currentKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "beginDemocracyPtrRegistryCatalog",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "adminSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "catalog",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "a5d8e02fe0ecaa68",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "adminKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "beginDemocracyPtrRouteCensus",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "contextGame",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "contextIdentity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "contextMigration",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "census",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "frozenRoute",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "voterPower",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "routeCensus",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "7e5ce6b57cf04ecd",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "beginKeeperRentSettlement",
      "docs": [
        "The CREATE-ONLY keeper Begin: as [`BeginRentSettlement`] (a permissionless KEEPER evaluation of `stake` up to",
        "`cutoff`, clamped to the chain clock and the stake's lifecycle end, at `expected_nonce` = the authority's",
        "`next_nonce`, 1 for a new authority), but it NEVER resumes: any active evaluation — OWNER or KEEPER — refuses",
        "it (`rent_settlement_keeper_create_only`) and nothing is written. A keeper recovering its own evaluation",
        "continues with Step / Finalize / Commit, never with a Begin."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "catalog",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "stake",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "celestialBody",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Writable: its validation runs the pinned planet sync."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "gridHead",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "levelHead",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "defHead",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "authority",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "eval",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "b80323c291271fda",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "cutoff",
          "type": {
            "kind": "numberTypeNode",
            "format": "i64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedNonce",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "beginOwnerRentSettlement",
      "docs": [
        "[`BeginRentSettlement`] by the stake's OWNER (`MANAGE_CLAIM_STAKE`): the evaluation is cancellable by the",
        "owner within the allowance."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "catalog",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "stake",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "celestialBody",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "gridHead",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "levelHead",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "defHead",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "authority",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "eval",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "69e567594cf62d41",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "cutoff",
          "type": {
            "kind": "numberTypeNode",
            "format": "i64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedNonce",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "beginRentMigration",
      "docs": [
        "Starts the migration: creates the game's rent catalog directly in `PREPARING` (an uninitialized catalog is",
        "Disabled). `MANAGE_GAME`. One-way — there is no reset/restart in this slice."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "adminSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "catalog",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "3534634051eb5af7",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "beginRentSettlement",
      "docs": [
        "Begins (or resumes) a permissionless KEEPER settlement of `stake` up to `cutoff` (clamped to the chain",
        "clock and the stake's lifecycle end). `expected_nonce` = the authority's `next_nonce` (1 for a new",
        "authority), or the active nonce to resume."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "catalog",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "stake",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "celestialBody",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Writable: its validation runs the pinned planet sync."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "gridHead",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "levelHead",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "defHead",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "authority",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "eval",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "c66c92b6b61748cb",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "cutoff",
          "type": {
            "kind": "numberTypeNode",
            "format": "i64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedNonce",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "bindCrew",
      "docs": [
        "`BindCrew` args. Like `super.MigrateCrewMember` but binds a single, already-attested",
        "crew sheet (the asset id + its current sheet snapshot is reconstructed on-chain from the",
        "rarity/base-stat the same way migrate seeds it — a re-bind starts from the canonical seed",
        "and re-levels via XP-on-touch)."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The caller's `Character` — the crew-roster OWNER anchor (PR #732 second review).",
            "Validated against the signer's profile + game; the roster below must then BE this",
            "character's `(character, page_index)` PDA (`ensure_roster_is_characters_page`)."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "crewAuthority",
          "isWritable": false,
          "isSigner": true,
          "docs": [
            "The crew **attestation authority** — must equal `Game.crew_config` and must SIGN.",
            "TEMPORARY hard gate (PR #732 second review): until the Phase-2 DAS/escrow attestation",
            "lands, crew-record creation is closed to the configured authority (ops / the future",
            "attestation oracle), so caller-supplied `rarity`/`base_stat` cannot be forged by",
            "players even with the feature enabled. Phase 2 replaces this co-signature with",
            "on-chain attestation verification."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "roster",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "b5ab76c896b0a00d",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "crewAssetId",
          "docs": [
            "The crew cNFT asset id to bind."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 32
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "rarity",
          "docs": [
            "DAS-attested rarity discriminant."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "baseStat",
          "docs": [
            "Rarity-derived base aptitude seed (as `migrate`)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "pageIndex",
          "docs": [
            "The roster page the supplied account must be."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "cancelClaimStakeBuildingDesign",
      "docs": [
        "Implementation of the CancelClaimStakeBuildingDesign instruction which cancels the design phase of a `ClaimStakeInstance`.",
        "",
        "This instruction allows actors to cancel the design phase of a `ClaimStakeInstance` on a `CelestialBody`.",
        "- Validates the claim stake instance exists and belongs to the actor",
        "- Synchronizes rent state first (rent-only; no production backfill)",
        "- Authorizes design mutation policy (`Cancel` requires `Design`)",
        "- Sets the state of the claim stake instance to active"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimStakeInstance",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The claim stake instance to modify the buildings of"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`crate::state::StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "celestialBody",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The CelestialBody account containing the claim stake"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpAccrual",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Building XP ledger (spec §5): REQUIRED by `Game.version == v1` (fail closed) and",
            "rejected on legacy games. Appended after every pre-existing account so legacy",
            "transactions keep their positional prefix."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's rent-catalog PDA (REQUIRED; never created = Disabled)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentAuthority",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The stake's settlement-authority PDA (REQUIRED; never created = never evaluated)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentGridHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's GRID source head (required iff the catalog is Active)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentLevelHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's system LEVEL source head (required iff the catalog is Active)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentDefHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's definition DEF source head (required iff the catalog is Active)."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "8760eada289ae7bf",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "rentHints",
          "docs": [
            "Rent Option B: the GRID / LEVEL / DEF baseline-record indices at `max(paid_clock, activation_time)`",
            "(read only under an Active catalog)."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 3
            }
          }
        }
      ],
      "remainingAccounts": [
        {
          "kind": "instructionRemainingAccountsNode",
          "docs": [
            "At most two history pages per axis (under an Active catalog)."
          ],
          "value": {
            "kind": "argumentValueNode",
            "name": "rentPages"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "cancelCraftingProcess",
      "docs": [
        "Cancels a crafting process at a starbase.",
        "",
        "Logic overview:",
        "- Check that the ProfileValidation has `SagePermissions::DO_CRAFTING`, with scopes either for the starbase or sage",
        "- Check that the profile belongs to the starbase player",
        "- Check that the starbase player belongs to the starbase",
        "- Check that the starbase seq id matches the crafting process starbase seq id",
        "- if not, the starbase has been destroyed and you must call `destroy_crafting_process` instead",
        "- Check that the crafting process belongs to the starbase player",
        "- Transfer all the inputs from the crafting process's inputs to the starbase player's cargo pod",
        "- Transfer the crew from the crafting process back to the starbase player",
        "- If a crafting hab is required, validate it and then complete the crafting hab job if possible",
        "- Validate the recipe and decrement its usage count",
        "- Close the crafting process account"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character account associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The system account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The starbase player account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "starbasePlayer",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "5374617262617365506c61796572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "system1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "character2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "system1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "system"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "character2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "character"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "craftingProcess",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The crafting process"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "recipe",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The crafting recipe"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "craftingHabInstance",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The crafting hab instance (Optional)",
            "Should be provided if the `crafting_process` uses a crafting hab"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "d71e81805be7f94e",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "cancelDemocracyPtrAssets",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "releaseGame",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "releaseIdentity",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "releaseMigration",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "releaseCustody",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "releasePlayerProfile",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "releaseSystem",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "releaseStarbasePlayer",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "releaseAssetLock",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "c93d44fe2f7b93f1",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "currentKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "cancelHabBuildingDesign",
      "docs": [
        "Implementation of the CancelHabBuildingDesign instruction which cancels the design phase of a `CraftingHabInstance`.",
        "",
        "This instruction allows actors to cancel the design phase of a `CraftingHabInstance` on a `Starbase`.",
        "- Validates the crafting hab instance exists and belongs to the actor",
        "- Synchronizes rent state first (rent-only; no production backfill)",
        "- Authorizes design mutation policy (`Cancel` requires `Design`)",
        "- Sets the state of the crafting hab instance to active"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "craftingHabInstance",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The crafting hab instance to modify the buildings of"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`crate::state::StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpAccrual",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Building XP ledger (spec §5): REQUIRED by `Game.version == v1` (fail closed) and",
            "rejected on legacy games. Appended after every pre-existing account so legacy",
            "transactions keep their positional prefix."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "6b91c2794ded0181",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "cancelLocalMarketOrders",
      "docs": [
        "Cancels local market orders at a starbase and/or withdraws the escrowed funds from any cancelled and all filled orders for",
        "the maker",
        "",
        "Logic overview:",
        "- Cancels the specified orders from the instruction (passing in no ids will just withdraw filled escrow funds)",
        "- Remove all filled escrow funds from the maker",
        "- Remove all cancelled order escrowed funds from the maker",
        "- Return the removed cargo or atlas to the starbase player or character vault, respectively",
        "- Remove the makers if they have no open orders",
        "- Settle rent between the resized local market and starbase player accounts"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The character of [`Self::profile_validation`] that belongs to [`Self::game`]"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The system that belongs to [`Self::game`]"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The starbase player for [`Self::system`] and [`Self::profile_validation`]"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "starbasePlayer",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "5374617262617365506c61796572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "system1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "character2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "system1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "system"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "character2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "character"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "localMarket",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The (potentially valid) local market for [`Self::system`]"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbaseGovernance",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Required, PDA-bound governance sidecar. It may be uninitialized (default fees), but callers",
            "cannot omit it to bypass an initialized fee policy."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Currency cache for DAO fee routing. Required when a governed fee produces a DAO share."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbaseTreasury",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Local treasury for local fee routing. Required when a governed fee produces a local share."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryHistory",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryPolicy",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryGeneration",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "47e80e07a6f1d8dd",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "cancelOrderArgs"
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "cancelQuest",
      "docs": [
        "`CancelQuest` args — clones `CancelStarbaseUpgradeContribution` (cancel_rs:24-30): the",
        "owner's profile `key_index`. Owner-only (NOT permissionless — only the owner cancels",
        "early; once the timer elapses, anyone completes via the crank)."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "questProcess",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The quest process — validated against BOTH the profile and starbase-player it stored",
            "(the owner cross-check, cancel_rs:57-61), closed on cancel."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "cce832445ca96ec6",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the player profile."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "cancelRegionBorderUpload",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionBorderUpload",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "0aaf607fd121c333",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "regionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "cancelRentSettlement",
      "docs": [
        "The OWNER cancels their own active evaluation: allowed only for an OWNER evaluation, within the allowance",
        "and after the cooldown. Discards the computation (the debt stays; any later settlement re-prices it) and",
        "closes the Eval, refunding its rent to its funder (`refund` must be that account)."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "ownerSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "stake",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "authority",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "eval",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "refund",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Eval's funder (receives its rent)."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "09ba22d1d304a232",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "nonce",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "cancelScanLootProfileUpload",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanLootProfileUpload",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "c3f1ee67a32c6db0",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "regionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "cancelScanPatternNoiseMapUpload",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanPatternNoiseMapUpload",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "49ce2ee690e1ee31",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "scanPatternId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "scanPatternId"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "cancelShipDefinitionUpload",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "shipDefinitionUpload",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "32e6bd47b3a39a75",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "shipId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "shipId"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "cancelStarbaseUpgradeContribution",
      "docs": [
        "Cancel contribution to a starbase upgrade.",
        "",
        "Logic overview:",
        "- Check that the ProfileValidation has `SagePermissions::DO_STAR_BASE_UPGRADES` with scopes either for the starbase or sage",
        "- Check that the profile belongs to the starbase player",
        "- Check that the starbase player is for the starbase, and that the starbase belongs to the game",
        "- Check that the system has a starbase and that it is upgradeable",
        "- Check that the upgrade process belongs to the profile, starbase player and system",
        "- Check that the starbase seq id matches the upgrade process starbase seq id",
        "- Check that the upgrade process is not complete",
        "- Transfer crew to the starbase player",
        "- Refund resources to the starbase player",
        "- Close the upgrade process account"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "starSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The system account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The starbase player account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "upgradeProcess",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The upgrade process"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "d44fe7fcf1f0d1b2",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "changeRental",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "subProfileInvalidator",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The fleet rental invalidator"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "newSubProfile",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The new sub profile"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The fleet"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameId",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`Game`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "subProfileFaction",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The faction that the sub_profile belongs to."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "6b7add180cf946c1",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "claimDemocracyPtrLegacyRewards",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "identity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "progress",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "receipt",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "currentProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "currentProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "currentProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "d4c9952d96f3c981",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "claimDemocracyPtrRewards",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAuthorityGame",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAuthorityIdentity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAuthorityRoot",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAllocation",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionClaimHistory",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionGeneration",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "currentProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "positionAuthorityGame2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "currentProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "currentProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "positionAuthorityGame2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "positionAuthorityGame"
                }
              }
            ]
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "73678c1d6b4f8e60",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedRootRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAllocationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "claimGovernanceRewards",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "delegation",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimState",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "b7694ee214353a06",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "claimLoyaltyAtlas",
      "docs": [
        "Move the entire non-expired accumulated bank balance into the owner's in-game Character balance."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "bank",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "2277b9227224b89a",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "factionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "claimStakesRentTopUp",
      "docs": [
        "Top up rent for a claim stake instance",
        "",
        "Logic overview:",
        "- Check that the profile has MANAGE_CLAIM_STAKE permissions",
        "- Check that the claim stake instance is placed on the celestial body",
        "- Check that the system which contains the celestial body has an active starbase",
        "and that the player has a starbase player account on the starbase",
        "- Transfer the rent amount from the character to the claim stake instance",
        "- Rent Option B funding hook (slice 4c-2): the stake's settlement authority is ALWAYS passed (it may be",
        "uninitialized); an existing one gets its balance revision bumped, and an active evaluation absorbs the",
        "deposit (a finalized one is re-opened). See `instructions::rent_history::topup_hook`.",
        "- Rent Option B grace gate (slice 5a, SAGE Q2 (ii)): the game's rent-catalog PDA is ALWAYS passed; ONLY while",
        "it is Active, a top-up of a stake past its eviction grace is refused (`ensure_rent_top_up_allowed`, the",
        "crafting-hab predicate: allowed at `deactivation + grace`, refused one second later). Before activation",
        "the legacy claim-stake behaviour (no grace gate) is unchanged. The funding hook runs regardless.",
        "Grace is the game's EXECUTION-TIME configuration: an admin grace increase can make a previously",
        "expired window eligible again."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character account associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimStakeInstance",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The claim stake instance"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "celestialBody",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The CelestialBody account containing the claim stake"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's rent-catalog PDA (REQUIRED; never created = Disabled). Selects the grace gate."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentAuthority",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The stake's settlement-authority PDA (REQUIRED, may be uninitialized = never evaluated)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentEval",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's ACTIVE evaluation: required iff the authority has one (its nonce seeds this PDA)."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "473d642440668bb1",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the profile permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "amount",
          "docs": [
            "The amount of rent to top up"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "claimStakesResourceProduction",
      "docs": [
        "Resource production for a claim stake instance",
        "",
        "Logic overview",
        "- Check that the claim stake instance is placed on the celestial body and belongs",
        "to the profile",
        "- Check that the system which contains the celestial body has an active starbase",
        "and that the profile has a starbase player account on the starbase",
        "- Check that the claim stake is actively staked on the celestial body",
        "- Pay the rent due if any",
        "- Consume all the consumable resources",
        "- Emit all the resources produced ensuring the storage capacity is not exceeded",
        "- Rent Option B (slice 5b, `instructions::rent_history::settle_now`): under an ACTIVE rent catalog the rent",
        "step is the history-priced settle-to-now instead of the live grid (same guards and post-rent branches)."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder for any Solana rent payments."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The player profile"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimStakeInstance",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The claim stake instance"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "celestialBody",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The CelestialBody account containing the claim stake"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpAccrual",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Building XP ledger (spec §5): REQUIRED by `Game.version == v1` (fail closed) and",
            "rejected on legacy games. Appended after every pre-existing account so legacy",
            "transactions keep their positional prefix."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's rent-catalog PDA (REQUIRED; never created = Disabled)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentAuthority",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The stake's settlement-authority PDA (REQUIRED; never created = never evaluated)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentGridHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's GRID source head (required iff the catalog is Active)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentLevelHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's system LEVEL source head (required iff the catalog is Active)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentDefHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's definition DEF source head (required iff the catalog is Active)."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "aef795c5b9ff1466",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "rentHints",
          "docs": [
            "Rent Option B: the GRID / LEVEL / DEF baseline-record indices at `max(paid_clock, activation_time)`",
            "(read only under an Active catalog)."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 3
            }
          }
        }
      ],
      "remainingAccounts": [
        {
          "kind": "instructionRemainingAccountsNode",
          "docs": [
            "At most two history pages per axis (under an Active catalog)."
          ],
          "value": {
            "kind": "argumentValueNode",
            "name": "rentPages"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "claimTerritoryYield",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "Permissionless cranker — pays tx fees only; the yield credits the controlling faction's treasury."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The starbase's system — supplies the legacy owner (resolution fallback) + the generation witness."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionOwnership",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The STARBASE dynamic-ownership sidecar (Mut — the yield cursor is stamped). PDA-bound to the system."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionConfig",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Per-game reputation/yield dials (PDA-checked; supplies the yield rate + cadence)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionTreasury",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The CONTROLLING faction's treasury (Mut — vault credited). The PDA is re-derived from the resolved",
            "controller in `process()` and compared (the controller is a data-dependent seed)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game's central ATLAS source vault (the finite, admin-funded yield ceiling). Mut — debited."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "57126f8e6e8f472e",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "cleanupInvalidMarket",
      "docs": [
        "Permissionless instruction that cleans up an order from an invalid local market. Invalid markets happen when a starbase's",
        "seq id has been incremented, meaning the starbase has been destroyed since the local market was created.",
        "",
        "Logic overview:",
        "- Check that the profile is the authority of the character",
        "- Check that the character and system belong to the game",
        "- Check that the local market is invalid and belongs to the system",
        "- Return the atlas to the character vault from the local market vault, ignore cargo to be burned when the market is closed"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "Any signer may perform this cleanup and fund Character rent growth."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The profile"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character account associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The starbase account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "localMarket",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The local market to clean up",
            "We don't automatically clean up the rent here to allow for permissionless return"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "ec83bbd473f57d6c",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "cleanupOrphanFleetOwnership",
      "docs": [
        "Close ONE fleet-absent legacy FLEET `FactionOwnership` orphan (admin only).",
        "",
        "Logic overview:",
        "- Require a `MANAGE_COMBAT` key on the Game's administrative profile",
        "- Bind the game account to that profile",
        "- Seed-bind the sidecar to `[FactionOwnership, game, kind, asset_key]` + verify FLEET kind",
        "- Require the account at the sidecar's `asset_key` (passed as witness) to be absent/empty",
        "- Optionally correct the faction count, only when the admin has verified the old teardown",
        "omitted the sidecar and therefore did not already decrement it",
        "- Close the sidecar, refunding rent to the admin recipient"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "gameAdminValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameAdminValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameAdminValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameAdminValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account, bound to the administrative profile above."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleetOwnership",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The orphaned FLEET-kind sidecar to close. PDA seed-bound to",
            "`[b\"FactionOwnership\", game, asset_kind, asset_key]` — the seed shape is kind-agnostic (the",
            "kind is a seed VALUE), so the in-handler `asset_kind == FLEET` check is what pins the kind;",
            "the seed binding itself pins game + exact account identity."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleetWitness",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Fleet-absence WITNESS: the raw account at the sidecar's `asset_key`. Unchecked by the",
            "framework on purpose — the handler proves it is empty or system-owned (i.e. NO live sage",
            "`Fleet` exists there) and fails otherwise. Passing a wrong key is also rejected: the handler",
            "re-checks it equals the sidecar's `asset_key`.",
            "CHECK: safe — never mutated, only inspected for emptiness/owner."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionAccount",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The former controlling faction's registry account — REQUIRED only when `decrement_slot`",
            "is true for a dynamic faction (id > 3). PDA re-derived from the sidecar controller."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "94f7faf17e44fc7c",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "Index of the signing key in the Game's administrative profile."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "decrementSlot",
          "docs": [
            "Explicitly correct an unfreed dynamic-faction slot. False when the old teardown already",
            "supplied the sidecar and decremented the slot; verify its historical transaction first."
          ],
          "type": {
            "kind": "booleanTypeNode",
            "size": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "clearOutlaw",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "outlawFlag",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The actor's own flag (validated by profile); cleared ONLY after the commitment window expires."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "12d8f8dc18afc566",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "closeDemocracyHistoryDay",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Address anchor only: sealed history must remain crankable after the live System is removed."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "history",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "policy",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "generation",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Required exactly when history names a generation; its PDA and all anchors are checked below."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "closedDay",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "dc9280906c1ad289",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "day",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "closeLocalMarket",
      "docs": [
        "Permissionless instruction that closes an invalid local market with no remaining orders to clean up",
        "",
        "Logic overview:",
        "- Check that the local market has no orders or makers and is invalid (seq id has been incremented)",
        "- Close the local market account and return the rent to the initializer"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "marketInitializer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The profile that initialized the local market and will receive the rent"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The starbase account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "localMarket",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The local market to clean up"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "74808692cd5c04ca",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "closeScanSignal",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanSignal",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "f96f34b383d6e704",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "closeStarbaseGovernanceVoteEpoch",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "governance",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "e56db3b323955897",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "commitInvalidatedRentSettlement",
      "docs": [
        "Commits the active, finalized evaluation `nonce` of a stake its planet already evicted (see the module",
        "docs). Permissionless."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder for any Solana rent payments (the body sync may resize it)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "catalog",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "stake",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The evicted stake — bound to the game and the body below, with NO starbase-sequence validation (its",
            "system's sequence may have moved on), exactly as Begin binds it."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "celestialBody",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Writable: its validation runs the pinned planet sync (which records the eviction)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "authority",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "eval",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The evaluation being committed. Omitted only for a receipt replay (it was closed by the commit)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "refund",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Eval's funder (receives its rent when the Eval closes)."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "ae2077e4b66ab553",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "nonce",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "commitRegionBorderUpload",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionBorderUpload",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "0d96141751fd25d4",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "regionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "commitRentSettlement",
      "docs": [
        "Commits the stake's active, finalized evaluation `nonce` (see the module docs). Permissionless."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder for any Solana rent payments (the body sync may resize it)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The stake owner's profile (read-only; binds the starbase player)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimStakeInstance",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "celestialBody",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "catalog",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "authority",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "eval",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The evaluation being committed. Omitted only for a receipt replay (it was closed by the commit)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "refund",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Eval's funder (receives its rent when the Eval closes)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpAccrual",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Building XP ledger — exactly as `PayClaimStakesRent`: required on v1 games, rejected on legacy ones."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "09447f41ca3aacd4",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "nonce",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "commitScanPatternNoiseMapUpload",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanPattern",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanPatternNoiseMapUpload",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "d0dc9d5fd5145a38",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "scanPatternId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "scanPatternId"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "commitShipDefinitionUpload",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "shipDefinitionUpload",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "726ead92e7765e3b",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "shipId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "shipId"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "commitXpMigrationManifest",
      "docs": [
        "Commits the finalized-seal Character manifest (#222): after `sealed_slot`",
        "is finalized, every Character of the game is enumerated off-chain, sorted",
        "lexicographically by pubkey, and reduced to a SHA-256 Merkle root",
        "(`manifest_leaf` / `manifest_parent`). This one-shot admin instruction pins",
        "that root and count while still sealed and **before the first",
        "reconciliation**; `ReconcileLegacyCharacter` then requires a membership",
        "proof, and `ActivateXpMigration` requires exact completion against it."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "migrationConfig",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "222ddf8d26f47003",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "manifestMerkleRoot",
          "docs": [
            "Merkle root of the sorted Character pubkey manifest."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 32
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "manifestCount",
          "docs": [
            "Total Characters in the manifest (0 for a game with no legacy cohort)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "completeCargoRespawn",
      "docs": [
        "Completes cargo respawning",
        "This will result in a transfer of respawning cargo from the starbase_player",
        "to the CSS (Central Space Station).",
        "",
        "Logic overview:",
        "- Check that the starbase_player belongs to the game",
        "- Check that the starbase_player belongs to the star_system",
        "- Check that the starbase belongs to the game",
        "- Check that the css_starbase_player belongs to the css_star_system",
        "- Check that the css_starbase belongs to the game",
        "- Check that the css_star_system is a CSS",
        "- Check that the starbase_player and the css_starbase_player belong to the same profile",
        "- Check that the starbase_player seq_id matches the star_system seq_id",
        "- Check that the cargo respawn time has elapsed",
        "- Move all respawning cargo into the css_starbase_player cargo pod and clear the queue"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder for any Solana rent."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The profile that owns the `StarbasePlayer`"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`crate::state::StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssStarSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The CSS [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The CSS [`crate::state::StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "554c768d6a3546ac",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "completeClaimStakeRespawn",
      "docs": [
        "Completes claim stake respawning",
        "This will result in a transfer of respawning claim stakes from the starbase_player to the CSS (Central Space Station).",
        "",
        "Logic overview:",
        "- Check that the starbase_player belongs to the game",
        "- Check that the starbase_player belongs to the star_system",
        "- Check that the starbase belongs to the game",
        "- Check that the css_starbase_player belongs to the css_star_system",
        "- Check that the css_starbase belongs to the game",
        "- Check that the css_star_system is a CSS",
        "- Check that the starbase_player and the css_starbase_player belong to the same profile",
        "- Check that the starbase_player seq_id matches the star_system seq_id",
        "- Check that the claim stake respawn time has elapsed",
        "- Move the starbase_player respawning claim stakes to the css_starbase_player"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder for any Solana rent."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The profile that owns the `StarbasePlayer`"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`crate::state::StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssStarSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The CSS [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The CSS [`crate::state::StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "76280475772ec467",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "stakeIds",
          "docs": [
            "The claim stake definition ids to respawn"
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "claimStakeDefinitionId"
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "completeCraftingHabRespawn",
      "docs": [
        "Completes crafting hab respawning",
        "This will result in a transfer of respawning crafting habs from the starbase_player to the CSS (Central Space Station).",
        "",
        "Logic overview:",
        "- Check that the starbase_player belongs to the game",
        "- Check that the starbase_player belongs to the star_system",
        "- Check that the starbase belongs to the game",
        "- Check that the css_starbase_player belongs to the css_star_system",
        "- Check that the css_starbase belongs to the game",
        "- Check that the css_star_system is a CSS",
        "- Check that the starbase_player and the css_starbase_player belong to the same profile",
        "- Check that the starbase_player seq_id matches the star_system seq_id",
        "- Check that the crafting hab respawn time has elapsed",
        "- Move the starbase_player respawning crafting habs to the css_starbase_player"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder for any Solana rent."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The profile that owns the `StarbasePlayer`"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`crate::state::StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssStarSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The CSS [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The CSS [`crate::state::StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "eab4d80b9bfc511d",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "habIds",
          "docs": [
            "The crafting hab ids to respawn"
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "craftingHabDefinitionId"
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "completeCraftingProcess",
      "docs": [
        "Completes a crafting process at a starbase.",
        "",
        "Logic overview:",
        "- Check that the ProfileValidation has `SagePermissions::DO_CRAFTING`, with scopes either for the starbase or sage",
        "- Check that the profile belongs to the starbase player",
        "- Check that the starbase player belongs to the starbase",
        "- Check that the starbase belongs to the game",
        "- Check that the recipe is active, is a resource recipe, belongs to the game, and the crafting process is using it",
        "- Check that the crafting process belongs to the starbase player",
        "- Check that the starbase seq id matches the crafting process starbase seq id",
        "- if not, the starbase has been destroyed and you must call `destroy_crafting_process` instead",
        "- Check that the crafting process is complete",
        "- Transfer crew from the crafting process back to the starbase player",
        "- Transfer all the outputs from the recipe to the starbase player's cargo pod",
        "- Validate that the crafting hab is active and then complete the crafting hab job",
        "- Award crafting XP to the character",
        "- Close the crafting process account"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The character account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The starbase account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The starbase player account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "starbasePlayer",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "5374617262617365506c61796572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "system1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "character2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "system1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "system"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "character2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "character"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "recipe",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The recipe account that the crafting process is using"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "craftingHabInstance",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The crafting hab instance (Optional)",
            "Should be provided if the `crafting_process` uses a crafting hab"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "craftingProcess",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The completed crafting process"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbaseTreasury",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Local treasury for governed fee share. Required when the crafting process captured one."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudget",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpAccrual",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Building XP ledger (spec §5): REQUIRED by `Game.version == v1` (fail closed) and",
            "rejected on legacy games. Appended after every pre-existing account so legacy",
            "transactions keep their positional prefix. This instruction carries no System",
            "program, so the ledger must already exist (any settle / place / finalize /",
            "production call creates it)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryHistory",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryPolicy",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryGeneration",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "1f9c4a3dbf5357cb",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "completeCrewRespawn",
      "docs": [
        "Respawn crew at a destroyed starbase",
        "This will result in a transfer of respawning crew from the starbase_player to the CSS (Central Space Station).",
        "",
        "Logic overview:",
        "- Check that the starbase_player belongs to the game",
        "- Check that the starbase_player belongs to the star_system",
        "- Check that the star_system belongs to the game",
        "- Check that the css_starbase_player belongs to the css_star_system",
        "- Check that the css_starbase belongs to the game",
        "- Check that the css_star_system is a CSS",
        "- Check that the starbase_player and the css_starbase_player belong to the same profile",
        "- Check that the starbase_player seq_id matches the star_system seq_id",
        "- Check that the crew respawn time has elapsed",
        "- Move the starbase_player respawning crew to the css_starbase_player"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder for any Solana rent."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The profile that owns the `StarbasePlayer`"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`crate::state::StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssStarSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The CSS [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The CSS [`crate::state::StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "3b01648d07c9d8c0",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "completeDemocracyPtrPowerAdmission",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "adminSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "identity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "migration",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "reconciliation",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "admission",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "8faf0a94611e106d",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "adminKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "currentKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedConsumed",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "completeDemocracyPtrRouteCensus",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "contextGame",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "contextIdentity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "contextMigration",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "census",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "frozenRoute",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "voterPower",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "routeCensus",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "580f73092e757d40",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "completeDemocracyPtrRoutePower",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "adminSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "identity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "migration",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "reconciliation",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "frozenRoute",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "voterPower",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "routeObligations",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "61de95537c67c51a",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "adminKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "currentKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "completeQuest",
      "docs": [
        "`CompleteQuest` args — **no `key_index`** (this is permissionless; there is no profile to",
        "validate). Empty arg, exactly as `TheOneFleetStateHandler` (generic_fleet_state_handler_rs:14-16)."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder for any Solana rent payments AND the rent-refund recipient for the closed",
            "`QuestProcess` (the `CloseAccount` cleanup requires a registered recipient — the",
            "cranker keeps the freed rent, the standard permissionless-crank incentive). The ONLY",
            "signer (generic_fleet_state_handler_rs:22-23). Any cranker may settle an elapsed quest."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account (flag gate)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The starbase-player whose `busy_crew` the quest reserved — cross-checked against the",
            "process's stored `starbase_player` key. `Mut` for the `reconcile(-N)` release.",
            "ASSUMES (SAGE): a starbase-player account form addressable without the owner's profile",
            "(the crank has no profile); the composite/validated form keyed by the process's stored",
            "key. Modeled as the validated starbase-player; the integrator binds the exact",
            "crank-friendly account. The auth binding is the `quest_process` cross-check below",
            "(`#[validate(arg = (self.starbase_player.key_for(),))]`), NOT a profile — so this is a raw",
            "`Mut<Account<StarbasePlayer>>` (no `ValidatedStarbasePlayer`, which needs a profile-derived",
            "validation arg the permissionless crank cannot supply)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "questProcess",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The quest process being settled — validated against the starbase-player it stored",
            "(the `KeyForFromAccountSet` cross-check, quest_rs:82-104), and **closed** on success",
            "(the no-leak guarantee — install_rs:69). `Mut` + `CloseAccount` cleanup."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "roster",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The owner's pinned reward roster page (`QuestProcess.reward_page`). Required when",
            "`reward_xp > 0`; omitted only for reward-less quests."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "602265e8a4f6963d",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "completeShipRespawn",
      "docs": [
        "Completes ship respawning",
        "This will result in a transfer of respawning ships from the starbase_player to the CSS (Central Space Station).",
        "",
        "Logic overview:",
        "- Check that the starbase_player belongs to the game",
        "- Check that the starbase_player belongs to the star_system",
        "- Check that the starbase belongs to the game",
        "- Check that the css_starbase_player belongs to the css_star_system",
        "- Check that the css_starbase belongs to the game",
        "- Check that the css_star_system is a CSS",
        "- Check that the starbase_player and the css_starbase_player belong to the same profile",
        "- Check that the starbase_player seq_id matches the star_system seq_id",
        "- Check that the ship respawn time has elapsed",
        "- Move the starbase_player respawning ships to the css_starbase_player"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder for any Solana rent."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The profile that owns the `StarbasePlayer`"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`crate::state::StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssStarSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The CSS [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The CSS [`crate::state::StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "25dd28fee54b4a3b",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "shipsIds",
          "docs": [
            "The ship ids to respawn"
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "shipId"
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "configureRentSource",
      "docs": [
        "The explicit administrative acceptance of an admitted source's initial pricing setup (an intentional zero",
        "included), bound to the `write_version` the attester inspected — a value changed after inspection is",
        "refused. Repeating it on a configured source changes nothing. `MANAGE_GAME`; Preparing only."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "adminSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "catalog",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "head",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "9c32ca0d968e633e",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "kind",
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "key",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedWriteVersion",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "contributeToStarbaseUpgrade",
      "docs": [
        "Contribute to a starbase upgrade.",
        "",
        "Logic overview:",
        "- Check that the ProfileValidation has `SagePermissions::DO_STAR_BASE_UPGRADES` with scopes either for the starbase or sage",
        "- Check that the profile belongs to the starbase player",
        "- Check that the starbase player is for the starbase, and that the starbase belongs to the game",
        "- Check that the system has a starbase and that it is upgradeable",
        "- Create a new `crate::state::StarbaseUpgradeProcess` account",
        "- Transfer resources to the upgrade process",
        "- Transfer crew to the upgrade process",
        "- Calculate and set the process duration"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character associated with the profile and game"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "starSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The system account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The starbase player account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "upgradeProcess",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The new upgrade process"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "crewBinding",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "89252915f10ac7ef",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "resourceId",
          "docs": [
            "The resource to contribute"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "cargoId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "quantity",
          "docs": [
            "The amount of resource to contribute"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "crew",
          "docs": [
            "The number of crew to assign to the resource processing"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "controllerSetFactionFlags",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionAccount",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "fdacacd90966e431",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "set",
          "docs": [
            "Bits to add."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "clear",
          "docs": [
            "Bits to remove."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "controllerUpdateFaction",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionAccount",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "7d8734dc8b7bde8c",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "nameHash",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 32
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "contentUriHash",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 32
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "craftingHabRentTopUp",
      "docs": [
        "Top up rent for a crafting hab instance",
        "",
        "Logic overview:",
        "- Check that the profile has MANAGE_CLAIM_STAKE permissions",
        "- Check that the crafting hab instance is placed on the system starbase",
        "- Check that the system has an active starbase and that the player has a",
        "starbase player account on the starbase",
        "- Transfer the rent amount from the character to the crafting hab instance"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character account associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "craftingHabInstance",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The crafting hab instance"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "4a32f450a53b1343",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the profile permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "amount",
          "docs": [
            "The amount of rent to top up"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "craftingHabResourceConsumption",
      "docs": [
        "Resource consumption for a crafting hab instance",
        "",
        "Logic overview",
        "- Check that the crafting hab instance is placed on the system and belongs",
        "to the profile",
        "- Check that the system has an active starbase and that the player has a",
        "starbase player account on the starbase",
        "- Check that the crafting hab is actively staked on the starbase",
        "- Pay the rent due if any",
        "- Consume all the consumable resources",
        "- Emit the resources produced ensuring the storage capacity is not exceeded"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder for any Solana rent payments."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The player profile"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "craftingHabInstance",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The crafting hab instance"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpAccrual",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Building XP ledger (spec §5): REQUIRED by `Game.version == v1` (fail closed) and",
            "rejected on legacy games. Appended after every pre-existing account so legacy",
            "transactions keep their positional prefix."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "d37b8f9755f3d615",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "craftingHabResourceSwap",
      "docs": [
        "Transfer resources to/from a crafting hab instance",
        "",
        "Logic overview",
        "- Check that the crafting hab instance is placed on the system and belongs",
        "to the profile",
        "- Check that the profile has MANAGE_CLAIM_STAKE permissions",
        "- Check that the system has an active starbase and that the player has a",
        "starbase player account on the starbase",
        "- Check that the crafting hab is actively staked on the starbase",
        "- Pay any rent and consume all consumable resources for the crafting hab, ensuring the",
        "storage capacity is not exceeded",
        "- If the crafting hab instance is still active, swap resources between crafting hab and",
        "starbase player cargo pods"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "craftingHabInstance",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The crafting hab instance"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character for gating cargo category access during swaps"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpAccrual",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Building XP ledger (spec §5): REQUIRED by `Game.version == v1` (fail closed) and",
            "rejected on legacy games. Appended after every pre-existing account so legacy",
            "transactions keep their positional prefix. This instruction carries no System",
            "program, so the ledger must already exist (any settle / place / finalize /",
            "production call creates it)."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "ea409ee5633500b6",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "toLoad",
          "docs": [
            "The items to transfer from the starbase player to the crafting hab instance"
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "cargoId"
                },
                {
                  "kind": "numberTypeNode",
                  "format": "u64",
                  "endian": "le"
                }
              ]
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "toUnload",
          "docs": [
            "The items to transfer from the crafting hab instance to the starbase player"
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "cargoId"
                },
                {
                  "kind": "numberTypeNode",
                  "format": "u64",
                  "endian": "le"
                }
              ]
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "createAndAdmitRentSource",
      "docs": [
        "Admits the PRICED source at the cursor that has NO head yet: creates its head + page 0 from the LIVE value",
        "(effective now — never backdated; safe because every writer of a headless source is refused once the",
        "catalog left Disabled, so the live value is the value at the Preparing boundary) and admits it. Funder-paid,",
        "otherwise permissionless; Preparing only."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "catalog",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "LEVEL only."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "body",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "GRID only."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "head",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The new head."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "page0",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Its page 0."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "bc53c3a2404deeb1",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "kind",
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedCursor",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "createCargoCategory",
      "docs": [
        "Implements the CreateCargoCategory instruction which adds new cargo categories.",
        "",
        "This instruction allows administrators to create categories for organizing cargo types.",
        "",
        "# System Context",
        "Facilitates cargo type classification and grouping."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cargoCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The cargo definitions cache account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "af24a648ae6c6e3c",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "cargoCategories",
          "docs": [
            "List of cargo categories to add to the cargo definitions"
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "cargoCategoryId"
                },
                {
                  "kind": "definedTypeLinkNode",
                  "name": "name"
                }
              ]
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "Index of the key in the profile with cargo management permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "remainingAccounts": [
        {
          "kind": "instructionRemainingAccountsNode",
          "value": {
            "kind": "argumentValueNode",
            "name": "mints"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "createCargoDefinitionsCache",
      "docs": [
        "Implements the CreateCargoDefinitions instruction which initializes cargo management.",
        "",
        "This instruction establishes the foundational accounts required for cargo operations.",
        "Must be called before creating cargo types or categories.",
        "",
        "# System Context",
        "Creates the infrastructure for tracking and managing cargo in the game."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cargoCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The cargo definitions cache account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "c0a2d6e332c1ffd2",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "Index of the key in the profile with cargo management permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "createCargoType",
      "docs": [
        "Implements the CreateCargoType instruction which adds new cargo types to the game.",
        "",
        "This instruction allows authorized administrators to define new cargo types, each associated",
        "with a unique mint account for token operations.",
        "",
        "# System Context",
        "Enables extending the available cargo types in the game with their properties and constraints."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cargoCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The cargo definitions cache account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "0e99ba3a7e2fa538",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "cargoTypes",
          "docs": [
            "The cargo types to add"
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "cargoType"
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "Index of the key in the profile with cargo management permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "remainingAccounts": [
        {
          "kind": "instructionRemainingAccountsNode",
          "value": {
            "kind": "argumentValueNode",
            "name": "mints"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "createEncounterTreasury",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "encounterTreasury",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "d69a5098faeb2edd",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "regionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "minorFaction",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "createEncounterTreasuryArgs"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "createFaction",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionAccount",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "f3a5bc73fa93fb0e",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "factionId",
          "docs": [
            "The faction id to mint (must be >= 4; `Init` reverts if it already exists)."
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "createFactionArgs"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "createFactionMarket",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionAccount",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The owning faction's record; bound to `faction_id` + must be Active (gate-before-create)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The anchoring star system; must contain a starbase. Supplies the `seq_id` 3rd seed."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionMarket",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "48823d503f33dff0",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "factionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "createFactionMarketArgs"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "createFactionTreasury",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionTreasury",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "b476c807af1d1b45",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "factionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "createFactionTreasuryArgs"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "createFleet",
      "docs": [
        "Create a fleet",
        "",
        "Logic overview:",
        "- Check that the profile has MANAGE_FLEET permissions",
        "- Check that the star_system and matches the profile faction",
        "- Check that the starbase_player belongs to the profile and is paired with the star_system",
        "- Create the fleet and set its state as docked at the star_system"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileFaction",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The profile faction account associated with the player profile"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The character of [`Self::profile_validation`] that belongs to [`Self::game`]"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "4c7b5152ebe49ccb",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "fleetLabel",
          "docs": [
            "the fleet label"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "name"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "createGearRecipe",
      "docs": [
        "`CreateGearRecipe` args — gear items ARE `Recipe` rows (master §6.1 A7). This is the",
        "EXISTING `CreateRecipe` arg set (create_recipe_rs:12-21) under a crew-named alias: the",
        "admin `key_index`, the `recipe_id`, and the recipe input data (inputs/fee/effect). No new",
        "mint machinery — gear is crafted through the same recipe sink (reagents + ATLAS fee,",
        "recipe_rs:80-83)."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "recipe",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The gear recipe to create — `Init<Seeded<Account<Recipe>>>` with `Create(())` +",
            "`Seeds(RecipeSeeds{ game_id, recipe_id })`, exactly as `CreateRecipe`",
            "(create_recipe_rs:33-41)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program."
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "13f6b7231b784913",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "recipeId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "recipeId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "input",
          "docs": [
            "the recipe input data (inputs map, ATLAS `fee_amount`, the gear effect-family + tier)."
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "createRecipeInputData"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "createLocalMarket",
      "docs": [
        "Initializes a new local market at a starbase",
        "",
        "Logic overview:",
        "- Check that the ProfileValidation has [`ProfilePermissions::DRAIN_SOL_VAULT`]",
        "- Check that the system has a starbase and that it is eligible for local markets",
        "- Create a new `LocalMarket` account",
        "- Initializes the local market account with the given cargo id and seq id"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The starbase account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "localMarket",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The new local market"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "6d8197ac7c1c9dd2",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "cargoId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "cargoId"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "createMissionTreasury",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game — BOUND to the managing profile (`Game.profile == profile.key_for()`)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The (game, region) reward pool, created here. Mirrors `CreateEncounterTreasury`'s Init+Seeds(arg)",
            "threading; seeds = `MissionTreasurySeeds { game_id, region_id }` (region_id from the validate arg)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "acd3040582d0749d",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "regionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "epochLenSecs",
          "docs": [
            "per-epoch breaker window; `0` = breaker off (NOT recommended — the breaker is the inflation bound)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "i64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "atlasOutCapPerEpoch",
          "docs": [
            "the hard ATLAS-out ceiling per epoch (the only real on-chain inflation guard, H4)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "createRecipe",
      "docs": [
        "Creates a new [`Recipe`] account on a game.",
        "",
        "Logic overview:",
        "- Checks that the ProfileValidation has `SagePermissions::MANAGE_RECIPE`",
        "- Creates a new `Recipe` account based on the [`Self::input`]"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "recipe",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The recipe to be created"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "408b8fa9c4d40f38",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "recipeId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "recipeId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "input",
          "docs": [
            "The input data for the recipe"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "createRecipeInputData"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "createRegion",
      "docs": [
        "Creates a new region in the game map.",
        "",
        "This instruction creates a new region entry in the region tracker with specified",
        "parameters. It performs authorization checks, ensures the region doesn't already exist,",
        "and initializes it with the provided configuration details.",
        "",
        "The region is created with the specified id, authored risk tier, border, connections,",
        "and research requirements. The provided border is snapped to the region tracker's grid",
        "(`grid_k`), and path adjacency (`neighbors_by_edge`) is rebuilt to reflect shared edges",
        "with existing regions. Ownership is derived from canonical-King control plus 60% of",
        "effective core systems. Dynamic safe-zone promotion additionally requires one faction",
        "to control every authored member system and the surrounding warp-lane `connections`.",
        "",
        "# Fields",
        "* `id` - Unique identifier for the region",
        "* `risk_zone` - The immutable authored/base risk tier",
        "* `connections` - Optional region-level projection of cross-region warp lanes",
        "* `border` - Optional region border coordinates",
        "* `scanning_research_requirements` - Optional technology requirements for scanning",
        "* `mining_research_requirements` - Optional technology requirements for mining",
        "* `key_index` - Index of the key in the profile with region management permissions",
        "",
        "# System Context",
        "This instruction is part of the spatial management system that enables universe navigation.",
        "It creates the foundation for game mechanics such as exploration, combat zones, and resource acquisition."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Region tracker account storing all regions"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "kingTracker",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Solana System program for account creation"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "6cfcb7292e4d5442",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "id",
          "docs": [
            "Unique identifier for the region"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "name",
          "docs": [
            "The name of the region"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "name"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "riskZone",
          "docs": [
            "The risk zone for this region."
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "riskZoneBorsh"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "connections",
          "docs": [
            "IDs of regions connected by at least one cross-region system warp lane"
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "regionId"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "border",
          "docs": [
            "Coordinate points defining the region's border"
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "i64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "scanningResearchRequirements",
          "docs": [
            "Technology IDs required for scanning in this region"
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "researchTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "miningResearchRequirements",
          "docs": [
            "Technology IDs required for mining in this region"
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "researchTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "xpModifier",
          "docs": [
            "XP modifier for this region"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "Index of the key in the profile with region management permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "createRegionOrderAnchor",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game — BOUND to the managing profile (`Game.profile == profile.key_for()`)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionOrderAnchor",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "seeds = `RegionOrderAnchorSeeds { game_id, region_id }` (region_id from the validate arg)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "a4870f3bd4590207",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "regionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "createRegionTracker",
      "docs": [
        "Creates a new RegionTracker account for storing game map regions.",
        "",
        "This instruction initializes a RegionTracker account to store and manage regions",
        "within the game. It performs authorization checks and creates the account with",
        "appropriate funding and initialization parameters.",
        "",
        "The account is funded by the provided signer and initialized with a reference",
        "to the relevant game account to maintain the proper relationship between",
        "game state and regions.",
        "",
        "# Fields",
        "* `key_index` - Index of the key in the profile with region management permissions",
        "",
        "# System Context",
        "This instruction is part of the spatial management system and must be executed before",
        "any region-related operations can be performed. It establishes the storage foundation",
        "for all region data including borders, connections, and ownership.",
        "",
        "Grid snapping (`grid_k`)",
        "- The tracker carries a `grid_k` exponent used to snap region borders at admin-time.",
        "- It defaults to `56`, which is a no-op for `Point = I8F56` and preserves full precision.",
        "- Intent: we do not anticipate needing snapping at the beginning; if/when operational",
        "needs arise (e.g., long-term determinism across edits), `grid_k` can be changed in a",
        "future admin instruction/migration before further region creations/updates.",
        "- When `grid_k < 56`, region admin ops snap vertices to a power-of-two grid (`2^-grid_k`),",
        "enabling exact per-edge adjacency via bit-equal endpoints."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`RegionTracker`] account to be created"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "016ac4a5043e7627",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "Index of the key in the profile with region management permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "createRentDefHead",
      "docs": [
        "Rent Option B: creates a claim-stake definition's DEF price-source head and its first history page, with",
        "revision 0 = the definition's LIVE `(tier, rent_multiplier)` (read from the Game, never supplied by the",
        "caller), effective now. From then on `UpdateClaimStakeDefinition` appends every change to this history.",
        "",
        "`MANAGE_CLAIM_STAKE_CONFIG`-gated. Only while the game's rent catalog is `DISABLED`. One-way."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account (holds the definition)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's rent catalog PDA (may be uninitialized = Disabled)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "head",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The DEF source head (created)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "page0",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "History page 0 (created, zero-filled in place)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program."
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "92578b0f9b8df707",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the profile permissions."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "claimStakeDefinitionId",
          "docs": [
            "The claim-stake definition whose rent inputs become a price source."
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "claimStakeDefinitionId"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "createRentGridHead",
      "docs": [
        "Rent Option B: creates a planet's GRID price-source head and its first history page, with revision 0 =",
        "the planet's LIVE `base_claim_stake_rent_rate` grid (read from chain, never supplied by the caller),",
        "effective now.",
        "",
        "From then on the planet's grid can only change through [`SetPlanetRentGrid`](crate::instructions::SetPlanetRentGrid)",
        "(which appends to this history); `UpdatePlanetTables`' rent field is refused for it.",
        "",
        "`MANAGE_PLANET`-gated. Only while the game's rent catalog is `DISABLED` (the migration slice owns the",
        "Preparing/Ready/Active creation paths). Nothing reads this history for pricing until the catalog is",
        "Active, so creating a head changes no rent."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The system in which the planet is located."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "body",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The planet whose grid becomes a price source."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's rent catalog PDA (may be uninitialized = Disabled)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "head",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The GRID source head (created)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "page0",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "History page 0 (created, zero-filled in place)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program."
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "07e3e3bac88121fd",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the profile permissions."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "createRentLevelHead",
      "docs": [
        "Rent Option B: creates a star system's LEVEL price-source head and its first history page, with",
        "revision 0 = the system's LIVE starbase level (read from chain, never supplied by the caller), effective",
        "now. From then on every level change of this starbase appends to this history: the admin writer",
        "(`UpdateStarbase`) and the gameplay writers (`InstallStarbaseUpgradeResource`, `AttackStarbase`), which",
        "are hooked from slice 2b on.",
        "",
        "`MANAGE_STAR_BASE`-gated. Only while the game's rent catalog is `DISABLED`. One-way (the history is",
        "durable). Nothing reads the history for pricing until the catalog is Active."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The star system whose starbase level becomes a price source."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's rent catalog PDA (may be uninitialized = Disabled)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "head",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The LEVEL source head (created)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "page0",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "History page 0 (created, zero-filled in place)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program."
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "3bd1dcda63fdfb52",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the profile permissions."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "createScanLootProfile",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanLootProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanLootProfileUpload",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "e9d8cc7f4dc01b9e",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "regionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "status",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "scanPatternStatus"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "createScanPattern",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanPattern",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "07f95a544321fec5",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "id",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "scanPatternId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "createScanPatternArgs"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "createScanPatternPolicy",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanPatternPolicy",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "06a5b4f6942a4ece",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "scanPatternId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "scanPatternId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "values",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "scanPatternPolicyValues"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "createStarSystem",
      "docs": [
        "Creates a star system.",
        "",
        "Logic overview:",
        "- Require MANAGE_SYSTEM scope on the profile validation",
        "- Optionally register the system with the region tracker and mark it as core",
        "- Initialize the `StarSystem` account with ids, name, coordinates, and seq id 0",
        "- Validate each provided connection and insert it into the system map"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Region tracker containing the region this system belongs to"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "kingTracker",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Star system account to be created and initialized"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Solana System program for account creation"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "5a0444fea1e291c0",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "systemId",
          "docs": [
            "ID of the star system"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "systemId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "regionId",
          "docs": [
            "ID of the region this star system belongs to. Boolean for core system or not."
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "regionId"
                },
                {
                  "kind": "booleanTypeNode",
                  "size": {
                    "kind": "numberTypeNode",
                    "format": "u8",
                    "endian": "le"
                  }
                }
              ]
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "coordinates",
          "docs": [
            "Spatial coordinates of the star system [x, y]"
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 2
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "name",
          "docs": [
            "Name of the star system (fixed length array)"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "name"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "Index of the key in the profile with system management permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "connections",
          "docs": [
            "List of connections to other systems"
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "systemId"
                },
                {
                  "kind": "definedTypeLinkNode",
                  "name": "connectionCost"
                }
              ]
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        }
      ],
      "remainingAccounts": [
        {
          "kind": "instructionRemainingAccountsNode",
          "docs": [
            "List of connections to other systems. Must be at least as long as `run_args.connections`"
          ],
          "value": {
            "kind": "argumentValueNode",
            "name": "connectionSystems"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "dailyCheckIn",
      "docs": [
        "Performs a daily check-in for the character, earning XP and increasing the check-in streak if applicable."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The character associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "626fc6ce46544362",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "restoreStreak",
          "type": {
            "kind": "booleanTypeNode",
            "size": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedRestoreCost",
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "deactivateRecipe",
      "docs": [
        "Deactivates a [`Recipe`] account.",
        "",
        "Logic overview:",
        "- Checks that the ProfileValidation has `SagePermissions::MANAGE_RECIPE`",
        "- Checks that the `Recipe` account belongs to the game and has the status [`RecipeStatus::Active`]",
        "- Sets the status of the recipe to [`RecipeStatus::Deactivated`]"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "recipe",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The recipe to be created"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "ae1801f000feba99",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "deactivateScanLootProfile",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanLootProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "9eedd7ad31c1f8dd",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "regionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "declareOutlaw",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileFaction",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Proves faction enlistment — you may only outlaw against your OWN faction (cross-faction needs no flag)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "outlawFlag",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The per-(profile, faction) flag — created on first declare, EXTENDED on re-declare."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "2a62ddd4b26d4d27",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "faction",
          "docs": [
            "The faction to outlaw against — MUST be the actor's OWN enlisted faction (raw `Faction` repr as u8)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "deconstructClaimStakeInstance",
      "docs": [
        "Implementation of the DeconstructClaimStakeInstance instruction which removes a claim stake instance from a celestial body.",
        "",
        "This instruction allows actors to deconstruct an existing `ClaimStakeInstance` from a `CelestialBody`.",
        "The instruction performs the following operations:",
        "- Validates the claim stake instance exists and belongs to the actor",
        "- Ensures the claim stake instance is in active state (not in design)",
        "- Verifies all player-funded buildings have been removed before deconstruction",
        "- Discards the intrinsic bundled hub without refunding it as cargo",
        "- Releases the hub's allocated crew",
        "- Removes the claim stake instance from the celestial body's claim stakes list",
        "- Returns the claim stake cargo to the starbase player's cargo pod",
        "- Closes the claim stake instance account to reclaim rent",
        "- Rent Option B (slice 5a, `instructions::rent_history::lifecycle_hook`): under an Active catalog a stake whose",
        "paid clock is before now is refused (that rent needs history pricing, slice 5b); a successful",
        "deconstruct starts a new incarnation of the stake's settlement authority and retires its active",
        "evaluation, if any, without charging it (the Eval's rent goes to its original funder). Before activation",
        "the legacy behaviour is unchanged — including the known legacy defect that the stored rent balance is",
        "refunded without first settling rent accrued since the paid clock (tracked separately; an Active",
        "deconstruct cannot inherit it, since it requires the stake to be paid through now)",
        "- Building XP (SAGE Q6 / Q-H): the stake's operational ledger is observed once, terminally, and closed",
        "(`settle_terminal_building_xp`): the ledger's banked whole days are paid through the Building budget, the",
        "rest is forfeited and the ledger is closed. Only the bundled hub may remain, which carries no Building XP, so",
        "the final interval itself credits nothing. The helper is still given the terminal contract's bounds — the",
        "snapshot BEFORE the terminal rent settlement, the clock that settlement actually left (a Legacy deconstruct",
        "does not settle rent to now; `TerminalPricing::UpTo(now)` is not a payment) and chain `now` capped by any",
        "earlier planet eviction — so the closure never depends on that precondition",
        "",
        "# Prerequisites",
        "",
        "Before deconstructing a claim stake instance:",
        "- All player-funded buildings must be removed; the single bundled hub may remain",
        "- The claim stake must be in active state (not in design phase)",
        "- The actor must have MANAGE_CLAIM_STAKE permissions",
        "",
        "# System Context",
        "",
        "This instruction is part of the broader claim stake management system and is typically",
        "used when players want to reclaim resources or reorganize their planetary holdings."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character account associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The active game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimStakeInstance",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The claim stake instance to remove"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "celestialBody",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The CelestialBody account holding the claim stake instance"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's rent-catalog PDA (REQUIRED; never created = Disabled)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentAuthority",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The stake's settlement-authority PDA (REQUIRED; never created = never evaluated)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentEval",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's ACTIVE evaluation: required iff the authority has one (retired without charge)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentEvalRefund",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The active evaluation's ORIGINAL funder (receives its rent): required iff `rent_eval` is."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache (its DAO ATLAS vault receives the history-priced rent under Active)."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentGridHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's GRID source head (required iff the catalog is Active)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentLevelHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's system LEVEL source head (required iff the catalog is Active)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentDefHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's definition DEF source head (required iff the catalog is Active)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpAccrual",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The stake's Building XP ledger PDA (REQUIRED; never created = nothing accrued). Closed to `profile`."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudget",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The Character's Building budget: required iff the ledger exists (v1 games only)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The game's XP budget config: required iff the ledger exists (v1 games only)."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "b271b71997df2d03",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "claimStakeLevel",
          "docs": [
            "The starbase level on the celestial body's plot map at which the claim stake is placed"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "starbaseLevel"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "claimStakeIndex",
          "docs": [
            "The index in the celestial body's claim_stakes list of the claim stake to remove"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "rentHints",
          "docs": [
            "Rent Option B: the GRID / LEVEL / DEF baseline-record indices at `max(paid_clock, activation_time)`",
            "(read only under an Active catalog)."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 3
            }
          }
        }
      ],
      "remainingAccounts": [
        {
          "kind": "instructionRemainingAccountsNode",
          "docs": [
            "At most two history pages per axis (under an Active catalog)."
          ],
          "value": {
            "kind": "argumentValueNode",
            "name": "rentPages"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "deconstructCraftingHabInstance",
      "docs": [
        "Implementation of the DeconstructCraftingHabInstance instruction which removes a crafting hab instance from a starbase.",
        "",
        "This instruction allows actors to deconstruct an existing `CraftingHabInstance` from a `Starbase`.",
        "The instruction performs the following operations:",
        "- Validates the crafting hab instance exists and belongs to the actor",
        "- Ensures the crafting hab instance is in active state (not in design)",
        "- Verifies all buildings have been removed before deconstruction",
        "- Synchronizes rent state first (rent-only; no production backfill) so the rent accrued",
        "since the last settlement is paid to the DAO vault before any refund",
        "- Rejects with `InstanceDeactivated` if that sync finds the hab delinquent",
        "- Removes the crafting hab instance from the starbase's crafting habs list",
        "- Returns the crafting hab cargo to the starbase player's cargo pod",
        "- Refunds only the rent balance remaining after the sync to the Character",
        "- Closes the crafting hab instance account to reclaim rent",
        "",
        "# Prerequisites",
        "",
        "Before deconstructing a crafting hab instance:",
        "- All buildings must be removed from the crafting hab",
        "- The crafting hab must be in active state (not in design phase) and its rent must be",
        "paid through the current time",
        "- The actor must have MANAGE_CLAIM_STAKE permissions",
        "",
        "# System Context",
        "",
        "This instruction is part of the broader crafting hab management system and is typically",
        "used when players want to reclaim resources or reorganize their starbase layout."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character account associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The active game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "craftingHabInstance",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The crafting hab instance to remove"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account (receives the rent settled before the refund)"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "5e169c364f1ce424",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "craftingHabLevel",
          "docs": [
            "The starbase level on the starbase's plot map at which the crafting hab is placed"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "starbaseLevel"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "craftingHabIndex",
          "docs": [
            "The index of the crafting hab instance in the starbase's crafting habs list"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "deleteStarSystem",
      "docs": [
        "Deletes a star system.",
        "",
        "Logic overview:",
        "- Require MANAGE_SYSTEM scope on the profile validation",
        "- Ensure the system id matches and that no starbase or celestial bodies remain",
        "- Remove the system from the region tracker and close the account"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Region tracker containing the system's region"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "kingTracker",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Star system account to be updated"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryHistory",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryPolicy",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryGeneration",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "5d3de52249c2c766",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "systemId",
          "docs": [
            "ID of the star system"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "systemId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "Index of the key in the profile with system management permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "depositAtlas",
      "docs": [
        "Deposit ATLAS to a character account",
        "",
        "Logic overview:",
        "- Check that the profile has MANAGE_CURRENCY permissions",
        "- Check that the character belongs to the profile",
        "- Check that the currency_cache belongs to the game and owns the game_atlas_vault",
        "- Deposit the ATLAS to the character balance"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character account associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameAtlasVault",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game's ATLAS vault ATA"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "owner",
          "isWritable": false,
          "isSigner": true,
          "docs": [
            "The authority who owns the source token account and must sign the transaction"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "source",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The source token account containing ATLAS tokens to transfer"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "tokenProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The spl token program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "574e3314bb6144de",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "amount",
          "docs": [
            "Amount of ATLAS tokens to deposit to the character's balance"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "depositCargoToGame",
      "docs": [
        "Implements the DepositCargoToGame instruction.",
        "",
        "This instruction allows players to deposit cargo tokens from their wallet into their",
        "starbase cargo pod.",
        "",
        "# System Context",
        "Forms part of the cargo economic system by allowing players to store resources in the game."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character associated with the profile and game (for access gating)"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "owner",
          "isWritable": false,
          "isSigner": true,
          "docs": [
            "The authority who owns the source token account and must sign the transaction"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "cargoCache",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Account containing cargo definitions cache"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "source",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The source token account containing cargo tokens to transfer"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "destination",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The destination token account that will receive the cargo tokens"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "tokenProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The SPL Token program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "57317594f1f7b012",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "amount",
          "docs": [
            "The amount of cargo tokens to deposit"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "depositDemocracyPtrBacking",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "sourceSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "sourceProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "sourceCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "sourceProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAuthorityGame",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAuthorityIdentity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAuthorityRoot",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAllocation",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionClaimHistory",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionGeneration",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "history",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "route",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "backing",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "1ac2896ea55a5d62",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "currentKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "sourceKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedRootRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAllocationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedBackingRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "crew",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "housingQuantities",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 18
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "destroyCraftingProcess",
      "docs": [
        "Destroys a crafting process at a starbase. This is used when the starbase has been destroyed prior to the crafting process completing.",
        "This will close the crafting process, but all inputs will be lost.",
        "",
        "Logic overview:",
        "- Check that the crafting process belongs to the profile",
        "- Check that the crafting process belongs to the starbase",
        "- Check that the starbase seq id doesn't match the crafting process starbase seq id",
        "- If a crafting hab is required, validate it and then complete the crafting hab job if possible",
        "- Validate the recipe and decrement its usage count",
        "- Close the crafting process account"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "Any signer may perform this cleanup and fund Character rent growth."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The profile that owns the `CraftingProcess`"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character account associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The starbase account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The starbase player account. The crew this process reserved is returned here — guarded in the",
            "handler on the starbase generation matching the process, so a process destroyed after",
            "`DestroyStarbasePlayer` already reset the player does not double-release. No `StarbaseValidation`",
            "here: after a flip the player may be either pre- or post-reset, and the handler distinguishes."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "starbasePlayer",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "5374617262617365506c61796572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "system1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "character2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "system1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "system"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "character2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "character"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "craftingProcess",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The crafting process"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "recipe",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The crafting recipe"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "craftingHabInstance",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The crafting hab instance (Optional)",
            "Should be provided if the `crafting_process` uses a crafting hab"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "9156ef102743e2fa",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "destroyStarbasePlayer",
      "docs": [
        "Processes a destroyed `StarbasePlayer` account",
        "",
        "Logic overview:",
        "- Check that the starbase_player belongs to the profile",
        "- Check that the starbase_player belongs to the star_system",
        "- Check that the starbase seq id doesn't match the starbase_player starbase seq id",
        "- Remove any crew at the starbase_player and start their respawn process",
        "- Remove any ships at the starbase_player and start their respawn process",
        "- Drop all cargo that was at the starbase_player",
        "- Update the starbase_player seq_id field to match the star_system"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The profile that owns the `StarbasePlayer`"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`crate::state::StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder for any Solana rent payments."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "fa4e24d16ae20990",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "destroyStarbaseUpgradeContribution",
      "docs": [
        "Destroys contributions to a starbase upgrade.",
        "This is used when the starbase has been destroyed prior to the upgrade process completing.",
        "This will close the upgrade process, but all inputs will be lost.",
        "",
        "Logic overview:",
        "- Check that the upgrade process belongs to the profile",
        "- Check that the upgrade process belongs to the starbase",
        "- Check that the starbase seq id doesn't match the upgrade process starbase seq id",
        "- Close the upgrade process account"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The profile that owns the `upgrade_process`"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The system account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "upgradeProcess",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The upgrade process"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "4d9b2f7feb3d0741",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "destroyedToRespawn",
      "docs": [
        "Transition fleet from `Destroyed` to `Respawn`",
        "",
        "Logic overview:",
        "- Check that the profile has RESPAWN permissions",
        "- Check that the fleet belongs to the profile",
        "- Check that the css_star_system belongs to the game, is a CSS and matches fleet faction",
        "- Refresh the fleet state then ensure it is destroyed",
        "- Calculate subwarp time to the css_star_system",
        "- Set respawn duration as max of subwarp time and respawn time from game settings",
        "- Check if the fleet was destroyed in a low risk zone",
        "- Enter respawn state (fleet will respawn at reduced HP)"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character account associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The `Fleet`(crate.state.Fleet) account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssStarSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The CSS `StarSystem` account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Region tracker account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account — debited the recovery fee",
            "(summed per-hull `recovery_fee` of the post-normalization composition)."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "crewBinding",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "058fc2058156892e",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "detectSignal",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerProfile",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerCharacter",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "ownerCharacter",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "ownerProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "ownerProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "ownerProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "controllerCharacter",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "controllerCharacter",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanPattern",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanPatternPolicy",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanLootProfile",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanSignal",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "aeb823cdcc67bda4",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedSequence",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "scanPatternId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "scanPatternId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedPolicyRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedProfileRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "focus",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "scanCategory"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "devAddCrew",
      "docs": [
        "Struct for data input to Dev Add Crew"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The `StarbasePlayer` account to add crew to"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "50f4294448a91acf",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the permissions profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "crewCount",
          "docs": [
            "The number of crew to add or remove"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "i32",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "devFundAtlasRewardTreasury",
      "docs": [
        "Non-production reserve credit for local/LiteSVM testing."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "670d4de97b0c8e45",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "cargoId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "cargoId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "amount",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "devFundEncounterTreasury",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The treasury to stock. Reserve growth (a new cargo key) reallocs it, funded by `profile`."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "1317afa6c73d5ad1",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "atlasAmount",
          "docs": [
            "ATLAS to credit into the treasury vault (0 = skip)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "cargoId",
          "docs": [
            "Cargo to stock into the treasury reserve (paired with `cargo_amount`)."
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "cargoId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "cargoAmount",
          "docs": [
            "Units of `cargo_id` to add to the reserve (0 = skip)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "devFundFactionTreasury",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The treasury to stock. Reserve/floor growth (a new cargo key) reallocs it, funded by `profile`."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "ad9765635496ff78",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "atlasAmount",
          "docs": [
            "ATLAS to credit into the treasury vault (0 = skip)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "cargoId",
          "docs": [
            "Cargo to stock into the treasury reserve (paired with `cargo_amount`)."
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "cargoId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "cargoAmount",
          "docs": [
            "Units of `cargo_id` to add to the reserve (0 = skip)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "setFloor",
          "docs": [
            "Optional: set/overwrite the per-cargo strategic-reserve FLOOR (faction-specific anti-drain) for `cargo_id`."
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "disbandDestroyedFleet",
      "docs": [
        "Disbands a fleet that has been destroyed"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder - pays for account rent"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The player profile"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The character that owns the fleet"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssStarSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The CSS [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The CSS [`crate::state::StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account — debited the recovery fee when the",
            "wreck is PLAYER-owned. NPC fleets (faction-ownership sidecar present)",
            "disband free: their sidecars have no funded character, and a mandatory",
            "fee would permanently brick permissionless cleanup."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleetFactionOwnership",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "P5b CONCURRENT-CAP (best-effort): the fleet's FLEET-kind `FactionOwnership` sidecar (optional,",
            "writable) — present ⇔ an NPC fleet; supplies the controlling faction so its live `npc_fleet_count` is",
            "freed on teardown. PDA seed-bound to `fleet`. Omitted ⇒ no-op, byte-identical. ⚠ This is the",
            "PERMISSIONLESS cleanup path: a caller may omit these to leave the slot occupied (best-effort cap).",
            "ROOT-CAUSE FIX (C4 JOR orphan): now `Mut` + closed atomically when supplied — a read-only sidecar",
            "leaked rent and blocked `AdminSetNpcFleetId`'s `Init<Create>` on the respawned fleet (Custom(0))."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerFactionAccount",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "P5b CONCURRENT-CAP: the controlling faction's registry account (Optional, Mut) — decremented when an",
            "NPC fleet is released. REQUIRED ⇔ the sidecar names a dynamic faction (id > 3); PDA-bound in-handler."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "1e66821b3d884c91",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "disbandFleet",
      "docs": [
        "Disbands a `Fleet`",
        "",
        "Logic overview:",
        "- Check that the profile has MANAGE_FLEET permissions",
        "- Check that the star_system and matches the profile faction",
        "- Check that the starbase_player belongs to the profile and is paired with the star_system",
        "- Ensure that the StarbasePlayer and StarSystem accounts are valid",
        "- Ensure that the fleet is docked",
        "- Ensure that the fleet is not rented",
        "- Ensure that the fleet has max AP, SP & HP",
        "- Ensure the fleet is not on warp or scan cooldown",
        "- Move crew from fleet to starbase_player",
        "- Move ships from fleet to starbase_player",
        "- Merge fleet cargo pods with starbase_player cargo pod",
        "- Close the fleet account"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The character of [`Self::profile_validation`] that belongs to [`Self::game`]"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleetFactionOwnership",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "P5b CONCURRENT-CAP (best-effort): the fleet's FLEET-kind `FactionOwnership` sidecar (optional,",
            "writable) — present ⇔ an NPC fleet; supplies the controlling faction so its live `npc_fleet_count` is",
            "freed on teardown. PDA seed-bound to `fleet`. Omitted (player fleet / pre-P5b client) ⇒ no-op,",
            "byte-identical.",
            "ROOT-CAUSE FIX (C4 JOR orphan): now `Mut` + closed atomically when supplied — a read-only sidecar",
            "leaked rent and blocked `AdminSetNpcFleetId`'s `Init<Create>` on the respawned fleet (Custom(0))."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerFactionAccount",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "P5b CONCURRENT-CAP: the controlling faction's registry account (Optional, Mut) — decremented when an",
            "NPC fleet is released. REQUIRED ⇔ the sidecar names a dynamic faction (id > 3); PDA-bound to it",
            "in-handler."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "278b0e552d10d798",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "dockedToIdle",
      "docs": [
        "Transition fleet from `Docked` to `Idle`",
        "",
        "Logic overview:",
        "- Check that the profile has UNDOCK permissions",
        "- Check that the fleet belongs to the profile and is not destroyed and has normalized crew",
        "- Check that the star_system belongs to the game and matches fleet faction",
        "- Refresh the fleet state then ensure it is docked at the star_system",
        "- Enter idle state"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`](crate::state::Fleet) account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "1405c18dc6f551bc",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "dockedToRespawn",
      "docs": [
        "Transition fleet from `Docked` to `Respawn`",
        "",
        "Logic overview:",
        "- Check that the profile has RESPAWN permissions",
        "- Check that the fleet belongs to the profile and is not destroyed",
        "- Check that the star_system belongs to the game and matches fleet faction",
        "- Check that the css_star_system belongs to the game, is a CSS and matches fleet faction",
        "- Refresh the fleet state then ensure it is docked at the star_system",
        "- Enter respawn state if fleet is at css_star_system",
        "- Otherwise, calculate subwarp time to the css_star_system",
        "- Set respawn duration as max of subwarp time and respawn time from game settings",
        "- Check if the fleet is in a low risk zone",
        "- Enter respawn state"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character account associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`](crate::state::Fleet) account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssStarSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The CSS [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Region tracker account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account — debited the recovery fee",
            "(summed per-hull `recovery_fee` of the fleet composition)."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "7b2acc69c0a8f87b",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "editFactionMarket",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionMarket",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Game-scoped (`game_id` bound via `AccountValidate<&Game>`); Draft-enforced + PDA-re-derived",
            "in `process` before any write."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "791c16a621ae038f",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "editFactionMarketArgs"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "equipGear",
      "docs": [
        "`EquipGear` args — equip one gear item into one physical slot."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The caller's `Character` — the crew-roster OWNER anchor (PR #732 second review)."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "roster",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "1d843b060ecca76f",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "crewAssetId",
          "docs": [
            "The crew (by asset id) to equip onto."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 32
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "slotIdx",
          "docs": [
            "The physical slot index to equip into (`0..GEAR_SLOTS`; one item per slot)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "gearId",
          "docs": [
            "The gear definition id (`CargoId`; `0` is the empty sentinel and is rejected —",
            "use `UnequipGear` to clear a slot)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "tier",
          "docs": [
            "The gear tier (`1..=5`; the magnitude is derived from this, master §4.4)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "durability",
          "docs": [
            "Starting durability of the equipped item."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "pageIndex",
          "docs": [
            "The roster page the crew lives on."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "evictClaimStakeInstance",
      "docs": [
        "Evict a rent-delinquent claim stake instance",
        "",
        "Logic overview",
        "- Check that the claim stake instance is placed on the celestial body and belongs",
        "to the profile",
        "- Check that the system which contains the celestial body has an active starbase",
        "and that the profile has a starbase player account on the starbase",
        "- Synchronize rent state first (rent-only; no production backfill) so delinquency is fresh",
        "- Eviction is allowed only when state is `Deactivated` and grace period has elapsed",
        "- Return `EvictionNotDelinquent` if state is still `Active`/`Design`",
        "- Return `CooldownActive` while grace period is still active",
        "- Return buildings and crew to the starbase player account",
        "- Return the claim stake cargo to the starbase player's cargo pod",
        "- Remove the claim stake instance from the celestial body's claim stakes list",
        "- Closes the claim stake instance account to reclaim rent",
        "- Rent Option B (slice 5a, `instructions::rent_history::lifecycle_hook`): under an Active catalog a stake",
        "that is not Deactivated is refused (its sync needs history pricing, slice 5b); an eligible eviction of a",
        "Deactivated stake starts a new incarnation of the stake's settlement authority and retires its active",
        "evaluation, if any, without charging it (the Eval's rent goes to its original funder)",
        "- Building XP (SAGE Q6 / Q-H): the stake's operational ledger is observed once, terminally, and closed",
        "(`settle_terminal_building_xp`). The snapshot is the stake as it entered — BEFORE the rent sync that may",
        "deactivate it here — so a stake that entered Active is credited its proven operational run through the",
        "resulting lapse, bounded by the rent actually paid and by any earlier planet eviction; a stake that entered",
        "Deactivated has no run to credit (its lapse was already closed) and only its banked whole days are paid.",
        "Nothing during grace or up to the eviction time is credited"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder for any Solana rent payments."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The player profile"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character account associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimStakeInstance",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The claim stake instance"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "celestialBody",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The CelestialBody account containing the claim stake"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's rent-catalog PDA (REQUIRED; never created = Disabled)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentAuthority",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The stake's settlement-authority PDA (REQUIRED; never created = never evaluated)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentEval",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's ACTIVE evaluation: required iff the authority has one (retired without charge)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentEvalRefund",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The active evaluation's ORIGINAL funder (receives its rent): required iff `rent_eval` is."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentGridHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's GRID source head (required iff Active and the stake is not Deactivated)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentLevelHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's system LEVEL source head (required iff Active and the stake is not Deactivated)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentDefHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's definition DEF source head (required iff Active and the stake is not Deactivated)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpAccrual",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The stake's Building XP ledger PDA (REQUIRED; never created = nothing accrued). Closed to `profile`."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudget",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The Character's Building budget: required iff the ledger exists (v1 games only)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The game's XP budget config: required iff the ledger exists (v1 games only)."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "d671b90a39ab0d98",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "claimStakeLevel",
          "docs": [
            "The starbase level on the celestial body's plot map at which the claim stake is placed"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "starbaseLevel"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "claimStakeIndex",
          "docs": [
            "The index in the celestial body's claim_stakes list of the claim stake to remove"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "rentHints",
          "docs": [
            "Rent Option B: the GRID / LEVEL / DEF baseline-record indices at `max(paid_clock, activation_time)`",
            "(read only under an Active catalog, for a stake that is not Deactivated)."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 3
            }
          }
        }
      ],
      "remainingAccounts": [
        {
          "kind": "instructionRemainingAccountsNode",
          "docs": [
            "At most two history pages per axis."
          ],
          "value": {
            "kind": "argumentValueNode",
            "name": "rentPages"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "evictCraftingHabInstance",
      "docs": [
        "Evict a rent-delinquent crafting hab instance",
        "",
        "Logic overview",
        "- Check that the crafting hab instance is placed on the starbase and belongs",
        "to the profile",
        "- Check that the system has an active starbase and that the player has a",
        "starbase player account on the starbase",
        "- Synchronize rent state first (rent-only; no production backfill) so delinquency is fresh",
        "- Eviction is allowed only when state is `Deactivated` and grace period has elapsed",
        "- Return `EvictionNotDelinquent` if state is still `Active`/`Design`",
        "- Return `CooldownActive` while grace period is still active",
        "- Return buildings and crew to the starbase player account",
        "- Return the crafting hab cargo to the starbase player's cargo pod",
        "- Remove the crafting hab instance from the starbase's crafting habs list",
        "- Closes the crafting hab instance account to reclaim rent"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder for any Solana rent payments."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The player profile"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character account associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "craftingHabInstance",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The crafting hab instance"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "7379116e1d64fa0b",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "craftingHabLevel",
          "docs": [
            "The starbase level on the celestial body's plot map at which the crafting hab is placed"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "starbaseLevel"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "craftingHabIndex",
          "docs": [
            "The index in the celestial body's crafting_habs list of the crafting hab to remove"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "exitClaimStakesFleetTransfer",
      "docs": [
        "Exit cargo transfers between a fleet and a claim stake instance",
        "",
        "If the claim stake has been evicted, use [`ForceExitClaimStakesFleetTransfer`](crate::instructions::ForceExitClaimStakesFleetTransfer) instead",
        "",
        "Logic overview",
        "- Check that the fleet belongs to the profile, has normalized crew and is not destroyed",
        "- Refresh the fleet state then ensure it is in the claim stake transfer state",
        "- Check that the system which contains the celestial body has an active starbase",
        "and that the profile has a starbase player account on the starbase",
        "- If the claim stake is no longer on the planet then set fleet state to idle",
        "- If the claim stake transfer period is not over then do nothing else",
        "- If the claim stake transfer period has ended then do the cargo transfers and then",
        "set the fleet state to idle",
        "- Rent Option B (slice 5b-2): under an ACTIVE rent catalog the stake tick's rent step is the history-priced",
        "settle-to-now; an Exit before the lock ends runs no rent step; a recognized bound refusal of the",
        "settlement (open evaluation / work cap / history beyond the page bound) releases the fleet to Idle",
        "without moving cargo. The stake's Building XP ledger is observed around the tick (as Start does)."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder for any Solana rent payments."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The player profile"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimStakeInstance",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The claim stake instance"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "celestialBody",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The CelestialBody account containing the claim stake"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`](crate::state::Fleet) account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpAccrual",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Building XP ledger (spec §5), as on Start: REQUIRED by `Game.version == v1` (fail closed) and",
            "rejected on legacy games; it must already exist."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's rent-catalog PDA (REQUIRED; never created = Disabled)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentAuthority",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The stake's settlement-authority PDA (REQUIRED; never created = never evaluated)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentGridHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's GRID source head (required iff the catalog is Active)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentLevelHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's system LEVEL source head (required iff the catalog is Active)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentDefHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's definition DEF source head (required iff the catalog is Active)."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "910cf567315444bc",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "rentHints",
          "docs": [
            "Rent Option B: the GRID / LEVEL / DEF baseline-record indices at `max(paid_clock, activation_time)`",
            "(read only under an Active catalog)."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 3
            }
          }
        }
      ],
      "remainingAccounts": [
        {
          "kind": "instructionRemainingAccountsNode",
          "docs": [
            "At most two history pages per axis (under an Active catalog)."
          ],
          "value": {
            "kind": "argumentValueNode",
            "name": "rentPages"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "expireSignal",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanSignal",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "0ee55f734728af4c",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedSequence",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "finalizeBuildingChanges",
      "docs": [
        "Finalizes pending claim-stake design changes after rent synchronization.",
        "",
        "This instruction performs a rent-only sync first, then requires Design state.",
        "If rent is delinquent, the structure is deactivated and finalization aborts."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The player character"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimStakeInstance",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The claim stake instance to modify the buildings of"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "celestialBody",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The CelestialBody account containing the claim stake"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudget",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpAccrual",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Per-structure Building XP ledger (spec §5). REQUIRED by `Game.version == v1`",
            "(fail closed), rejected on legacy games: finalization is an observation of the",
            "structure, and the new composition only accrues once its construction completes."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's rent-catalog PDA (REQUIRED; never created = Disabled)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentAuthority",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The stake's settlement-authority PDA (REQUIRED; never created = never evaluated)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentGridHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's GRID source head (required iff the catalog is Active)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentLevelHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's system LEVEL source head (required iff the catalog is Active)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentDefHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's definition DEF source head (required iff the catalog is Active)."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "86dd168b9c14a967",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "rentHints",
          "docs": [
            "Rent Option B: the GRID / LEVEL / DEF baseline-record indices at `max(paid_clock, activation_time)`",
            "(read only under an Active catalog)."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 3
            }
          }
        }
      ],
      "remainingAccounts": [
        {
          "kind": "instructionRemainingAccountsNode",
          "docs": [
            "At most two history pages per axis (under an Active catalog)."
          ],
          "value": {
            "kind": "argumentValueNode",
            "name": "rentPages"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "finalizeDemocracyPtrCutover",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "identity",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "migration",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "progress",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "admission",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "custody",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "root",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "cutover",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "fc469316da605591",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "finalizeHabBuildingChanges",
      "docs": [
        "Finalizes pending crafting-hab design changes after rent synchronization.",
        "",
        "This instruction performs a rent-only sync first, then requires Design state.",
        "If rent is delinquent, the structure is deactivated and finalization aborts."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The player character"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "craftingHabInstance",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The crafting hab instance to modify the buildings of"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "crewBinding",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudget",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpAccrual",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Per-structure Building XP ledger (spec §5). REQUIRED by `Game.version == v1`",
            "(fail closed), rejected on legacy games."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "7c6aa3956775a09d",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "finalizeRentSettlement",
      "docs": [
        "Resolves the active evaluation against the stake's LIVE balance and records the result (debit, new",
        "paid clock, reached). Idempotent; moves no money (the commit is slice 4c). Permissionless."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "catalog",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "stake",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "authority",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "eval",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "9fd9701bd21101df",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "nonce",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "forceExitClaimStakesFleetTransfer",
      "docs": [
        "Exit cargo transfers from an evicted or destroyed claim stake instance",
        "",
        "If the claim stake has not been evicted and needs to be evicted, use [`ExitClaimStakesFleetTransfer`](crate::instructions::ExitClaimStakesFleetTransfer) instead",
        "",
        "Logic overview",
        "- Check that the fleet belongs to the game",
        "- Refresh the fleet state then ensure it is in the claim stake transfer state",
        "- Check that the fleet is transferring cargo to the provided claim stake instance",
        "- Check that the claim stake instance account is closed",
        "- Set the fleet state to idle"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder for any Solana rent payments."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimStakeInstance",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The claim stake instance"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "f9d67fd09f1fb3f0",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "forceUndockStaleFleet",
      "docs": [
        "Permissionlessly undocks a fleet that is docked with a stale starbase sequence id."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder for any Solana rent payments."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The fleet account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The system where the fleet is docked"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "fcb533f66a3b9229",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "forcedDisbandFleet",
      "docs": [
        "Forcefully disbands a [`Fleet`]",
        "This is only necessary when a [`ShipId`] is removed from the [`crate::state::Game::ship_definitions`] - the fleet must be disbanded",
        "",
        "Logic overview:",
        "- Check that the star_system and matches the profile faction and is the CSS",
        "- Check that the starbase_player belongs to the profile and is paired with the star_system",
        "- Ensure that the StarbasePlayer and StarSystem accounts are valid",
        "- Ensure that the fleet is not rented",
        "- Move crew from fleet to starbase_player",
        "- Move ships from fleet to starbase_player",
        "- Merge fleet cargo pods with starbase_player cargo pod",
        "- Close the fleet account"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder - pays for account rent"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The player profile"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The character that owns the fleet"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssSystemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssSystemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "asteroid",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "If mining, provide the asteroid being mined",
            "CHECK: validated against fleet mining state"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleetFactionOwnership",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "P5b CONCURRENT-CAP (best-effort): the fleet's FLEET-kind `FactionOwnership` sidecar (optional,",
            "writable) — present ⇔ an NPC fleet; supplies the controlling faction so its live `npc_fleet_count` is",
            "freed on teardown. PDA seed-bound to `fleet`. Omitted ⇒ no-op, byte-identical.",
            "ROOT-CAUSE FIX (C4 JOR orphan): now `Mut` + closed atomically when supplied — a read-only sidecar",
            "leaked rent and blocked `AdminSetNpcFleetId`'s `Init<Create>` on the respawned fleet (Custom(0))."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerFactionAccount",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "P5b CONCURRENT-CAP: the controlling faction's registry account (Optional, Mut) — decremented when an",
            "NPC fleet is released. REQUIRED ⇔ the sidecar names a dynamic faction (id > 3); PDA-bound in-handler."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "12f535779b39014e",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "invalidShipId",
          "docs": [
            "Index of `FleetShipsInfo` in remaining data of `FleetShips`"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "shipId"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "forfeitScanSignalEntropy",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanSignal",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "456abcae193ff030",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedSequence",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "freezeDemocracyPtrLegacyRoute",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "adminSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "identity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "migration",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "playerProfile",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "route",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "voterPower",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "frozenRoute",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "f8c42c342b375d8c",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "adminKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "currentKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "fundAtlasRewardTreasuryCargo",
      "docs": [
        "Token-backed production funding for the finite combat-reward reserve."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "cargoCache",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "owner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "source",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "destination",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "tokenProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "3356381f88b88481",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "amount",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "fundEncounterTreasury",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The treasury whose cargo reserve is being stocked. Reserve growth (a new cargo key) reallocs it."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cargoCache",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's cargo-definitions cache; owns the central per-mint custody ATAs."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "owner",
          "isWritable": false,
          "isSigner": true,
          "docs": [
            "The authority that owns the source token account and signs the transfer."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "source",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The source cargo-token account (owned by `owner`)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "destination",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The central custody ATA for the source mint (owned by `cargo_cache`)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "tokenProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "6f7624e1ea1167e7",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "amount",
          "docs": [
            "Amount of the source mint's cargo token to deposit into the treasury reserve."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "fundEncounterTreasuryAtlas",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The treasury whose ATLAS vault is being funded (no resize → in-place credit)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameAtlasVault",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game's central ATLAS vault ATA (owned by the currency cache)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "owner",
          "isWritable": false,
          "isSigner": true,
          "docs": [
            "The authority that owns the source token account and signs the transfer."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "source",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The source ATLAS token account (owned by `owner`)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "tokenProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "0630acd77b94c8a0",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "amount",
          "docs": [
            "ATLAS (Floyds) to deposit into the treasury vault."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "fundFactionTreasuryAtlas",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The treasury whose ATLAS vault is funded (no resize → in-place credit)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameAtlasVault",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game's central ATLAS vault ATA (owned by the currency cache)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "owner",
          "isWritable": false,
          "isSigner": true,
          "docs": [
            "The authority that owns the source token account and signs the transfer."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "source",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The source ATLAS token account (owned by `owner`)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "tokenProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "d560a979f7d0af1c",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "amount",
          "docs": [
            "ATLAS (Floyds) to deposit into the treasury vault."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "fundFactionTreasuryCargo",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The treasury whose cargo reserve is stocked. A new cargo key reallocs it."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cargoCache",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's cargo-definitions cache; owns the central per-mint custody ATAs."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "owner",
          "isWritable": false,
          "isSigner": true,
          "docs": [
            "The authority that owns the source token account and signs the transfer."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "source",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The source cargo-token account (owned by `owner`)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "destination",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The central custody ATA for the source mint (owned by `cargo_cache`)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "tokenProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "cb74a4bc56b89144",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "amount",
          "docs": [
            "Amount of the source mint's cargo token to deposit into the treasury reserve."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "setFloor",
          "docs": [
            "Optional: set/overwrite the per-cargo strategic-reserve FLOOR (anti-drain) in the same tx."
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "fundMissionTreasuryAtlas",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game — BOUND to the managing profile (`Game.profile == profile.key_for()`)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameAtlasVault",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "owner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "source",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "tokenProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "5a9b55287e692ce8",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "amount",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "grantXp",
      "docs": [
        "Grants `amount` XP in `category` to the character on explicitly allowlisted test",
        "deployments. Privileged (`SagePermissions::MANAGE_PROGRESSION`): used to step a",
        "character through the council-rank paths (e.g. testnet progression / the \"step",
        "through\" UI that replaces God Mode), rather than earning XP through gameplay.",
        "Other SAGE deployments retain the instruction ABI but reject it at runtime.",
        "",
        "Mirrors how every gameplay XP source awards XP: it calls `collect_xp`, which also",
        "rolls the amount into the `CouncilRank` category automatically, so granting any",
        "career-category XP advances council rank exactly as natural play would."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The character (owned by the signer's profile) to grant XP to."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account (provides the XP thresholds used to recompute levels)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudget",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "df9319fc5bed7cd5",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "category",
          "docs": [
            "The XP category to grant into. Granting any non-`CouncilRank` career category also",
            "increments `CouncilRank` (see `collect_xp`)."
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "xpCategory"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "amount",
          "docs": [
            "The amount of XP to grant."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "idleToDocked",
      "docs": [
        "Transition fleet from `Idle` to `Docked`",
        "",
        "Logic overview:",
        "- Check that the profile has DOCK permissions",
        "- Check that the fleet belongs to the profile and is not destroyed",
        "- Check that the system_and_starbase_player belong to the game",
        "- Check that the profile owns the starbase_player",
        "- Refresh the fleet state then ensure it is idle",
        "- Ensure the system has a starbase",
        "- Check that the fleet is located at the Starbase",
        "- Dock the fleet at the starbase"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`](crate::state::Fleet) account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionRelationTracker",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Current diplomacy state and canonical dynamic-capture regime switch. Required so callers cannot",
            "omit it to force legacy ownership resolution while dynamic capture is enabled."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionStanding",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The player's standing with the starbase's current controlling faction."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Reputation policy, including the minimum docking band and lazy decay."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionOwnership",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Current starbase ownership. Required so a previously-created `StarbasePlayer` cannot preserve",
            "docking access after a dynamic-faction capture."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerFactionAccount",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Dynamic controller account used only to recognize its configured NPC operator profile."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "50f006459c302593",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "idleToRespawn",
      "docs": [
        "Transition fleet from `Idle` to `Respawn`",
        "",
        "Logic overview:",
        "- Check that the profile has RESPAWN permissions",
        "- Check that the fleet belongs to the profile and is not destroyed",
        "- Check that the css_star_system belongs to the game, is a CSS and matches fleet faction",
        "- Refresh the fleet state then ensure it is idle",
        "- Calculate subwarp time to the css_star_system",
        "- Set respawn duration as max of subwarp time and respawn time from game settings",
        "- Check if the fleet is in a low risk zone",
        "- Enter respawn state"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character account associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The `Fleet`(crate.state.Fleet) account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssStarSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The CSS `StarSystem` account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Region tracker account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account — debited the recovery fee",
            "(summed per-hull `recovery_fee` of the fleet composition)."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "crewBinding",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "ebcfc8aea1745ba8",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "importDemocracyPtrLegacyObligation",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "adminSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "identity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "migration",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "reconciliation",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "frozenRoute",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "voterPower",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "routeObligations",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "governance",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "delegation",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimState",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "obligation",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "42e1b578c831b6e8",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "adminKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "currentKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "indexDemocracyPtrRegistry",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "catalog",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "registry",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "entry",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "member",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "2e3a3820be64f49e",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "systemId",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedRegistryCount",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initAtlasRewardConfig",
      "docs": [
        "Create version 0 and the per-game epoch registry. The first config is forced disabled; activation is",
        "a separately reviewable `UpdateAtlasRewardConfig` that takes effect at the next boundary."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "registry",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardConfig",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "7e291336209495ee",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "epochOffsetSecs",
          "docs": [
            "Initial UTC alignment offset. `0` means ordinary UTC-day boundaries for a 86,400-second epoch."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "i64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "values",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "atlasRewardConfigInitValues"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initAtlasRewardTreasury",
      "docs": [
        "Create the empty game-level finite cargo reserve used only by medallion and synthetic-salvage rewards."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "8a60cf5f7a9480c1",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initCareerXpMigration",
      "docs": [
        "Seals the migration (`Prepare -> Sealed`, irreversible) in one atomic",
        "step: verifies the staged payload against the **independently approved**",
        "digest supplied by the admin, pins that digest, records the sealed slot",
        "and the target `seq_id`, creates the migration config and flips",
        "`Game.version` to `GAME_XP_RUNTIME_SEALED` so every legacy XP writer,",
        "registration and ordinary sync rejects from this slot on."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "targetDefinitions",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "migrationConfig",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The migration config PDA, created here (duplicate seal rejected)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "a54ea5eb8bd6dbbb",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "approvedDigest",
          "docs": [
            "The approved `target_definitions_payload_sha256` from the editor",
            "contract (`xp_config_v1.json`). Pinned immutably on success."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 32
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initCareerXpTargetDefinitions",
      "docs": [
        "Creates the staged v1 threshold payload PDA with its header (version,",
        "row count, divisor, feeder mask) and zero rows written. Admin-gated;",
        "duplicate creation is rejected (`Create`)."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "targetDefinitions",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The staged payload PDA, created here with zero rows written."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "a16d35d1cb9a2d02",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "renownDivisor",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "feederMask",
          "docs": [
            "Feeder-category mask (`0x00fc` for the six careers), u16 per #222."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initClaimState",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimState",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "738aa8cdd0464bb5",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initCurrencyCache",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency cache account."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "25c1864fc304d3ef",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the profile permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initDemocracyHistoryGeneration",
      "docs": [
        "The ownership writer already committed this controller, generation and baseline. A keeper",
        "may materialize it even after midnight or deletion of an unrelated predecessor account."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "history",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "policy",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "generation",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "487362b0bb35740e",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initDemocracyHistoryPolicy",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "policy",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "03b0d91aafef50ea",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "noControllerRevenue",
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "zeroPowerRevenue",
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "successorBaseline",
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "captureIncomingEligibility",
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "defaultParams",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "governanceParams"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "bounds",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "governanceBounds"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initDemocracyPtrAllocation",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "authorityGame",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "authorityIdentity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "authorityRoot",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "history",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "generation",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "allocation",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimHistory",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "864b208a790ba86c",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedRootRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initDemocracyPtrIdentity",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "adminSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "playerSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "playerProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "playerCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "playerProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "identity",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "route",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "ba1f98af46595754",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "adminKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "playerKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initDemocracyRequirementsRegistry",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "registry",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "535d79c8a9ff1177",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initDemocracySystemHistory",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionOwnership",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "policy",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "registry",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "governance",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "opening",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "history",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "generation",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "f995a509f3516dad",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initFactionEconomicsConfig",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionEconomicsConfig",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "f50514a769634339",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "factionEconomicsDials"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initFactionEpochMeter",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionEpochMeter",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "3df2cf6443165d3f",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "factionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initFactionOwnership",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionOwnership",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Required for a starbase sidecar so the generation witness and King ownership are",
            "derived from canonical live state. Must be omitted for fleet/region sidecars."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardRegistry",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardConfig",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "kingTracker",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryHistory",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryPolicy",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryGeneration",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "e61b48fe70ec034b",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "assetKind",
          "docs": [
            "STARBASE=0 / FLEET=1 / REGION=2 (the mandatory seed discriminator)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "assetKey",
          "docs": [
            "Canonical 32-byte identity (the 3rd seed) — for STARBASE this is `system.pubkey().to_bytes()`."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 32
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "initFactionOwnershipArgs"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initFactionRelationTracker",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionRelationTracker",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "bf1019d42e247ae9",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initFactionStanding",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionAccount",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The target faction's record (game-scoped); the handler binds it to `faction_id` and checks the gate."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionStanding",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "8503bb2df07155c5",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "factionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initGame",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameId",
          "isWritable": true,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "fb2e0cd0b8949d49",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initKingSystemTracker",
      "docs": [
        "Create the per-game fixed-width tracker. It starts empty so a clean deployment can create it before",
        "the universe map; `SetKingSystems` must author all 69 systems before rewards are enabled."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "tracker",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "4f355239cd77a44f",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initLoyaltyAtlasBank",
      "docs": [
        "Create a profile's bounded, persistent accumulated-ATLAS bank for one major faction."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "bank",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "7063fb8e8630deb7",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "factionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initLoyaltyContribution",
      "docs": [
        "Create a profile's zero-value contribution account for one open faction epoch."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "loyaltyEpoch",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "contribution",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "c1ee62d1057af208",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "factionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "epochIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initLoyaltyEpoch",
      "docs": [
        "Create one major faction's current open epoch."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "registry",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "activeConfig",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "PDA-checked against the registry's active version in `process`."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "loyaltyEpoch",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "77fc8e58179fe523",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "factionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "epochIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initStarbaseDelegation",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "starbasePlayer",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "5374617262617365506c61796572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "system1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "character2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "system1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "system"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "character2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "character"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "governance",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "voterPower",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "delegation",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimState",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerFactionAccount",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Required only for dynamic controlling factions; validates their active operator profile."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "ptrRegistryCatalog",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Mandatory canonical sidecars: missing accounts cannot bypass catalog construction."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "ptrRegistryMember",
          "isWritable": false,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "8d25feb31eedd2c7",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "pendingAmount",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "diplomatCrew",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initStarbaseGovernance",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Authored region data gates governance in immutable home safe zones. Dynamic safety changes",
            "do not affect this rule."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "regionTracker",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "526567696f6e547261636b6572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionOwnership",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Required, PDA-bound, maybe-uninitialized ownership sidecar. The resolved controller is",
            "recorded in this immutable governance generation and gates delegation/voting."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "governanceRegistry",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "previousGovernance",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Previous generation accounts are required exactly when the stable registry already points",
            "at a governance generation. They let initialization atomically archive old claims while",
            "carrying only the old undistributed pool into this generation."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "previousTreasury",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "governance",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracySystemHistory",
          "isWritable": false,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "446549516d45621a",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "initVoterPower",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "playerProfile",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "voterPower",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "17c32cd83052fa57",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "installStarbaseUpgradeResource",
      "docs": [
        "Contribute to a starbase upgrade.",
        "",
        "Logic overview:",
        "- Check that the ProfileValidation has `SagePermissions::DO_STAR_BASE_UPGRADES` with scopes either for the starbase or sage",
        "- Check that the profile belongs to the starbase player",
        "- Check that the starbase player is for the starbase, and that the starbase belongs to the game",
        "- Check that the system has a starbase and that it is upgradeable",
        "- Check that the upgrade process belongs to the profile, starbase player and system",
        "- Check that the starbase seq id matches the upgrade process starbase seq id",
        "- Check that the upgrade process is complete",
        "- Transfer crew to the starbase player",
        "- Calculate the amount of resource to refund and install",
        "- Refund resources to the starbase player if needed",
        "- Install resources to the starbase upgrade if you can",
        "- If the upgrade is complete, level up the starbase",
        "- Rent Option B: record the resulting level in the system's LEVEL history (a no-op when unchanged)",
        "- Update the system ownership if the starbase started out as unaligned",
        "- TODO: XP/LP?",
        "- Close the upgrade process account"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "starSystem",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The system account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The starbase player account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "upgradeProcess",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The upgrade process"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Region tracker account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardsRegistry",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardsConfig",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardsEpoch",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardsContribution",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "kingTracker",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's rent catalog PDA (REQUIRED, may be uninitialized = Disabled)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentHead",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "This system's LEVEL source-head PDA (REQUIRED, may be uninitialized = a legacy source)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCurrentPage",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The page holding the head's latest record (required iff the head exists)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentNextPage",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The following page, created on demand (required iff the head exists)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program (creates the next history page)."
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryHistory",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryPolicy",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryGeneration",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyFactionOwnership",
          "isWritable": false,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "98b0631df006a36f",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "invalidateRental",
      "docs": [
        "Invalidates a fleet rental",
        "",
        "1. Ensure the caller of the ix is the registered invalidator",
        "2. Ensure rented crew is on board",
        "3. If there is excess crew, those crew must be refunded to the sub profile on record",
        "a. Load and validate the game id",
        "b. Load and validate the sub profile faction",
        "c. Load and validate the starbase and starbase player accounts of the sub profile at their",
        "central space station",
        "d. Add the excess crew to the sub profile starbase player account",
        "4. Reset rented crew to 0",
        "5. If `remove_invalidator` is true",
        "a. Unset the sub_profile and the sub_profile_invalidator",
        "b. Reset rented crew to 0",
        "6. If `remove_invalidator` is false",
        "a. Set the sub_profile to the sage program to flag the fleet as ready to rent"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "subProfileInvalidator",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The fleet rental invalidator"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The fleet"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "b4b76a99ff08e8b2",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "removeInvalidator",
          "docs": [
            "Whether or not to remove the invalidator"
          ],
          "type": {
            "kind": "booleanTypeNode",
            "size": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "remainingAccounts": [
        {
          "kind": "instructionRemainingAccountsNode",
          "value": {
            "kind": "argumentValueNode",
            "name": "remainingAccounts"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "levelUpCrew",
      "docs": [
        "`LevelUpCrew` args. A batch of crew asset ids to realize on the named page (a crank can",
        "realize many at once; each is O(1)). The `fleet_xp_accumulator` is the current per-capita",
        "accumulator the crew earn against — supplied by the caller from the fleet's roster",
        "summary (the read-half; the write-half advances each record's snapshot to it)."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The caller's `Character` — the crew-roster OWNER anchor (PR #732 second review)."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "roster",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "3d731e3437e51bfe",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "crewAssetIds",
          "docs": [
            "The crew (by asset id) to realize XP for."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "pageIndex",
          "docs": [
            "The roster page the crew live on."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "linkDemocracyPtrProfile",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "adminSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "linkedSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "linkedProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "linkedCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "linkedProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "identity",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "route",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "7a94d85ede80ee7e",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "adminKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "currentKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "linkedKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "loadFleetCrew",
      "docs": [
        "Load crew onto a fleet",
        "",
        "1. Ensure the caller of this instruction has crew permissions on the player's profile",
        "2. Ensure that the StarbasePlayer and Starbase accounts are valid",
        "3. Ensure that the fleet is docked",
        "4. Increment the required crew count on the fleet, checking that it does not exceed the fleet's crew capacity",
        "5. Decrement the crew count on the `StarbasePlayer` account"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`](crate::state::Fleet) account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "2709d4daa76b89d0",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "count",
          "docs": [
            "passenger count"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "loadFleetCrewRoster",
      "docs": [
        "`LoadFleetCrewRoster` args — the individuated load body. **NOT** wire-compatible with the",
        "fungible `FleetCrewInput { count, key_index }` (precisely why this is a *separate* instruction",
        "with its own disc): a passenger `count`, the specific `crew_asset_ids` to flip `OnFleet`, the",
        "`page_index`, and the profile `key_index`. Empty `crew_asset_ids` ⇒ the fungible-core path",
        "(count only) — still under THIS instruction's discriminator, never the legacy fungible one."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The `Fleet` account (fleet_crew_rs:38-43)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The caller's `Character` — the crew-roster OWNER anchor (PR #732 second review).",
            "Validated against the signer's profile + game; a supplied roster must then BE this",
            "character's `(character, page_index)` PDA, so loading ANOTHER player's crew into",
            "this fleet (and stealing their bonuses into the binding) is impossible."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "roster",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The crew roster page holding the named individuated crew. Append-last optional."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "crewBinding",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "e24097be1e79ddcd",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "count",
          "docs": [
            "passenger count (the fungible quantity; preserved exactly, fleet_crew_rs:19)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "crewAssetIds",
          "docs": [
            "The specific crew (by asset id) to flip `AtStarbase → OnFleet`. Empty ⇒ fungible-only",
            "(no individuated records touched). When non-empty its `len()` must equal `count`."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "pageIndex",
          "docs": [
            "the roster page the named crew live on."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the player profile."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "shipId",
          "docs": [
            "PER-SHIP POSTING (appended last so the pre-posting payload is a strict prefix): the",
            "ship MODEL (raw `ShipId`) within the fleet to post the named crew to. `0` = fleet pool",
            "(no posting — exactly the pre-posting behavior). Non-zero ⇒ validated against",
            "`Game.ship_definitions` and the fleet's own composition, with a per-model seat cap;",
            "the posted crew's aptitude contribution to the per-fleet average is weighted by the",
            "model's `required_crew` (snapshotted on the record). One model per call — batch",
            "multiple calls to post across models."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "markCrewGarrison",
      "docs": [
        "`MarkCrewGarrison` args. A signed `delta` so one instruction both garrisons (`+N`) and",
        "releases (`-N`) — symmetric, mirroring `reconcile_crew_allocation`'s signed diff."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "garrisonConfig",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The per-level garrison-cap config (A8 — a SEPARATE account, never a `StarbaseLevelInfo`",
            "append; red-team R3). Read-only: supplies `max_garrison_crew` for the cap check.",
            "ASSUMES (SAGE): the A8 account type + its cap accessor."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "reservation",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Actual garrison-owned Crew for this source and generation. Required even on release;",
            "a caller cannot use the aggregate busy counter as evidence of a garrison reservation."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "2f7f13476006ebda",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the player profile."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "crewDelta",
          "docs": [
            "signed crew delta: `> 0` garrisons (reserve `AtStarbase → Busy`), `< 0` releases",
            "(`Busy → AtStarbase`). Routes through the PUBLIC `reconcile_crew_allocation(delta)`."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "i32",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "markRentCatalogReady",
      "docs": [
        "Preparing → Ready: every scan cursor at the `RENT_ID_NAMESPACE` sentinel AND no pending configuration",
        "(every admitted member baselined and configured). A deliberate tightening of the model's scan-only",
        "`mark_ready` (SAGE's ruling 3); activation re-checks readiness in slice 4. `MANAGE_GAME`.",
        "",
        "READY binding (SAGE ruling, 2026-10-05): the caller passes the per-kind admission counts of the census it",
        "VERIFIED (`expected_admitted`, indexed GRID / LEVEL / DEF) and Ready refuses unless they equal the catalog's.",
        "`note_admission` is the only writer of `admitted` and only increments, and heads are created, never reset or",
        "reused — so equal counts mean no member was added since that census, including one admitted AND configured",
        "by another `MANAGE_GAME` key (which `unconfigured == 0` alone cannot see). Counts are not a digest of current",
        "prices or executable identity: the LEVEL exception and the no-deploy rule stay coordinated off-chain."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "adminSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "catalog",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "76ac3cfcf2948ecf",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAdmitted",
          "docs": [
            "The verified census's per-kind admitted counts (GRID, LEVEL, DEF)."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 3
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "migrateCrewMember",
      "docs": [
        "`MigrateCrewMember` args. `#[ix_args(&run)]` + the `key_index` validate-arg is the EXACT",
        "shape of `AddCrewToGame` (add_crew_to_game_rs:14-20): the profile key index drives the",
        "`ProfileValidation`, the `Vec<CrewMigrateInput>` is the run-arg batch."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account (carries the `crew_config` off-switch in its packed header)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The caller's `Character` — the crew-roster OWNER anchor (PR #732 second review).",
            "Validated against the signer's profile + game; the roster below must then BE this",
            "character's `(character, page_index)` PDA (`ensure_roster_is_characters_page`)."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "crewAuthority",
          "isWritable": false,
          "isSigner": true,
          "docs": [
            "The crew **attestation authority** — must equal `Game.crew_config` and must SIGN.",
            "TEMPORARY hard gate (PR #732 second review): until the Phase-2 DAS/escrow attestation",
            "lands, crew-record creation is closed to the configured authority (ops / the future",
            "attestation oracle), so caller-supplied DAS traits cannot be forged by players even",
            "with the feature enabled. Phase 2 replaces this co-signature with on-chain",
            "attestation verification."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "roster",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The crew roster page to append onto (`page_index`-validated at the handler). The",
            "append-last optional roster. `Mut` because we mutate the `List` tail + cached census."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "6bf9043788cfcc9a",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "items",
          "docs": [
            "The crew to bind this call (DAS-attested rarities)."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "crewMigrateInput"
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "pageIndex",
          "docs": [
            "The page index the supplied roster account must be (paginated whales, master §5)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "mineAsteroidToRespawn",
      "docs": [
        "Transition fleet from `MineAsteroid` to `Respawn`",
        "",
        "Logic overview:",
        "- Check that the profile has RESPAWN permissions",
        "- Check that the fleet belongs to the profile and is not destroyed",
        "- Check that the star_system belongs to the game",
        "- Ensure the fleet is mining the asteroid",
        "- Check that the asteroid is in the star_system",
        "- Check that the css_star_system belongs to the game, is a CSS and matches fleet faction",
        "- Refresh the fleet state (resolve's mining) then ensure it is mining at the star_system",
        "- Enter respawn state if fleet is at css_star_system",
        "- Otherwise, calculate subwarp time to the css_star_system",
        "- Set respawn duration as max of subwarp time and respawn time from game settings",
        "- Check if the fleet is in a low risk zone",
        "- Enter respawn state",
        "- Decrement miner count on asteroid"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`](crate::state::Fleet) account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssStarSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The CSS [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "asteroid",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`CelestialBody`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Region tracker account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account — debited the recovery fee",
            "(summed per-hull `recovery_fee` of the fleet composition)."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudget",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The acting Character's XP budget. Append after the legacy recovery accounts."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Game-scoped XP rules; required with the budget when settling active-v1 mining."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "d03f876cdafc2400",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "mintNpcCrewCapacity",
      "docs": [
        "Struct for data input to Mint NPC Crew Capacity"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The `StarbasePlayer` account to add crew capacity to."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "243b0804041062cd",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the permissions profile."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "amount",
          "docs": [
            "The amount of fungible crew to add to the `StarbasePlayer`."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "mintNpcFleet",
      "docs": [
        "Mint a faction-owned NPC fleet (admin + operator co-signed).",
        "",
        "Logic overview (process order):",
        "1. The faction must be `Active`.",
        "2. The signing operator profile must EQUAL `FactionAccount.operator_profile` (else `FleetNotOwnedByFaction`).",
        "3. `npc_fleet_count < max_npc_fleets`, UNCONDITIONALLY (the primary anti-flood brake; `FactionFleetCapExceeded`).",
        "4. The initial directive byte must be a known, non-`NemesisHunt` kind (`InvalidFleetDirective`).",
        "5. Spend `npc_mint_cost_atlas` from the treasury via `spend_metered` — the per-epoch ATLAS-out meter AND a fail-closed vault debit (a defunded faction reverts).",
        "6. Init the `Fleet` exactly as `CreateFleet` does (owner = operator, `sub_profile = NONE`) + `register_fleet()`.",
        "7. Init the FLEET `FactionOwnership` sidecar (controller = faction) and write the initial directive.",
        "8. Bump `npc_fleet_count`."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileFaction",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The OPERATOR profile's faction account (supplies the legacy `Faction` alignment stamped onto the fleet,",
            "verbatim `CreateFleet`)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The OPERATOR's character that belongs to [`Self::game`] (the fleet-registration concurrency bump),",
            "verbatim `CreateFleet`."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`] account — initialized exactly as `CreateFleet` does (owner = operator profile)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionAccount",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The faction's registry account (`Mut` — `npc_fleet_count` is bumped). Game-scoped here; its PDA is",
            "re-derived from `faction_id` and `ensure_eq!`-bound in `process()` (the `ClaimTerritoryYield` idiom for",
            "a faction account that is both game-scoped AND identity-pinned — `ValidatedAccount`'s validate arg is",
            "the `AccountValidate` arg only, so the seed proof is done in-handler)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionOwnership",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The FLEET dynamic-ownership sidecar — created here (the fleet's faction tag + directive payload). PDA",
            "derived from the freshly-init fleet's key under the FLEET asset-kind, so it cannot collide with a",
            "starbase sidecar over the same raw key."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionTreasury",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The faction's treasury (`Mut` — `spend_metered` rolls the per-epoch ATLAS-out meter AND debits the",
            "vault). Game-scoped",
            "here; its PDA is re-derived from `faction_id` and `ensure_eq!`-bound in `process()` (verbatim the",
            "`fund_treasury` load form + the `ClaimTerritoryYield` seed-bind). One treasury per faction."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionEconomicsConfig",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The per-game NPC-economy dials (supplies `npc_mint_cost_atlas`). Game-scoped here (the",
            "`AccountValidate` impl asserts `game_id == game`); its PDA is per-game (`[seed, game_id]`) so the",
            "game-scope alone pins identity — re-derived + `ensure_eq!`-bound in `process()` as defense in depth."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program."
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "4654633fedce4542",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "fleetLabel",
          "docs": [
            "The fleet label (the operator profile's fleet seed component — clone of `CreateFleet::fleet_label`)."
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "name"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "operatorKeyIndex",
          "docs": [
            "The OPERATOR profile's signing key index (the fleet owner + treasury spender)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "adminKeyIndex",
          "docs": [
            "The ADMIN (`MANAGE_FACTIONS`) profile's signing key index (the co-signer that authorizes the spawn)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "factionId",
          "docs": [
            "The faction to mint for (seeds the faction account / treasury; must be `Active` and own the operator)."
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "initialDirective",
          "docs": [
            "Initial directive kind byte (`FleetDirectiveKind`; `NemesisHunt`/unknown rejected). Run-only."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "aggression",
          "docs": [
            "Initial off-chain aggression dial (0–100; no on-chain rate consequence). Run-only."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "openEncounterTracking",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "encounterCommit",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "261c4f9c14e674a1",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "openScanSignal",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerProfile",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerCharacter",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "ownerCharacter",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "ownerProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "ownerProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "ownerProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "controllerCharacter",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "controllerCharacter",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanSignal",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "78edaac2c3dd89a1",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "paidRespawnToDocked",
      "docs": [
        "Transition fleet from `Respawn` to `Docked` while paying a fee to decrease repawn duration",
        "",
        "Logic overview:",
        "- Check that the profile has RESPAWN permissions",
        "- Check that the fleet belongs to the profile and is not destroyed",
        "- Check that the css_star_system belongs to the game, is a CSS and matches fleet faction",
        "- Refresh the fleet state",
        "- If the resulting fleet stated is docked at css_star_system then return",
        "- If not, then ensure the fleet is still respawning",
        "- Charge the Respawn fee (formerly \"timer-bypass fee\") for the remaining respawn window and dock immediately",
        "(no cooldown gate: `respawn_time_with_fee` is no longer consulted; the fee",
        "prices exactly the seconds of the destruction-anchored `respawn.end` window",
        "that remain, and is zero once the window has elapsed)"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character account associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`](crate::state::Fleet) account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssStarSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The CSS [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`crate::state::StarbasePlayer`] Account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "starbasePlayer",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "5374617262617365506c61796572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "cssStarSystem1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "character2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "cssStarSystem1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "cssStarSystem"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "character2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "character"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "62cd48850ad2dd0c",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "payClaimStakesRent",
      "docs": [
        "Pay rent for a claim stake instance",
        "",
        "Logic overview",
        "- Check that the claim stake instance is placed on the celestial body and belongs",
        "to the profile",
        "- Check that the system which contains the celestial body has an active starbase",
        "and that the profile has a starbase player account on the starbase",
        "- Run a structure tick to settle rent using current on-chain time",
        "- `Design` state also accrues rent; if still covered it remains `Design`",
        "- If rent becomes delinquent, transition the claim stake to `Deactivated`",
        "- Production-side failures are treated as best-effort and do not fail rent payment",
        "- Rent Option B (slice 5b, `instructions::rent_history::settle_now`): under an ACTIVE rent catalog the rent",
        "step is the history-priced settle-to-now instead of the live grid (same guards and post-rent branches);",
        "the stake's settlement authority, its three source heads, at most two pages per axis and three",
        "baseline-record hints are carried. Before activation the legacy pricing is unchanged."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder for any Solana rent payments."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The player profile"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimStakeInstance",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The claim stake instance"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "celestialBody",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The CelestialBody account containing the claim stake"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpAccrual",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Building XP ledger (spec §5): REQUIRED by `Game.version == v1` (fail closed) and",
            "rejected on legacy games. Appended after every pre-existing account so legacy",
            "transactions keep their positional prefix. This instruction carries no System",
            "program, so the ledger must already exist (any settle / place / finalize /",
            "production call creates it)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's rent-catalog PDA (REQUIRED; never created = Disabled)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentAuthority",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The stake's settlement-authority PDA (REQUIRED; never created = never evaluated)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentGridHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's GRID source head (required iff the catalog is Active)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentLevelHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's system LEVEL source head (required iff the catalog is Active)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentDefHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's definition DEF source head (required iff the catalog is Active)."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "d9a41900b21afded",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "rentHints",
          "docs": [
            "Rent Option B: the GRID / LEVEL / DEF baseline-record indices at `max(paid_clock, activation_time)`",
            "(read only under an Active catalog)."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 3
            }
          }
        }
      ],
      "remainingAccounts": [
        {
          "kind": "instructionRemainingAccountsNode",
          "docs": [
            "At most two history pages per axis (under an Active catalog)."
          ],
          "value": {
            "kind": "argumentValueNode",
            "name": "rentPages"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "payCraftingHabRent",
      "docs": [
        "Pay rent for a crafting hab instance",
        "",
        "Logic overview",
        "- Check that the crafting hab instance is placed on the system and belongs",
        "to the profile",
        "- Check that the system has an active starbase and that the player has a",
        "starbase player account on the starbase",
        "- Run a structure tick to settle rent using current on-chain time",
        "- `Design` state also accrues rent; if still covered it remains `Design`",
        "- If rent becomes delinquent, transition the crafting hab to `Deactivated`",
        "- Production-side failures are treated as best-effort and do not fail rent payment"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder for any Solana rent payments."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The player profile"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "craftingHabInstance",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The crafting hab instance"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpAccrual",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Building XP ledger (spec §5): REQUIRED by `Game.version == v1` (fail closed) and",
            "rejected on legacy games. Appended after every pre-existing account so legacy",
            "transactions keep their positional prefix. This instruction carries no System",
            "program, so the ledger must already exist (any settle / place / finalize /",
            "production call creates it)."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "c4ec3d0131abea1e",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "placeClaimStakeBuildings",
      "docs": [
        "Implementation of the PlaceClaimStakeBuildings which takes in a list of buildings to add or remove from the claim stake instance.",
        "",
        "This instruction allows actors to add or remove buildings to an existing `ClaimStakeInstance` on a `CelestialBody`.",
        "- Validates the claim stake instance exists and belongs to the actor",
        "- Validates the sequence id of the claim stake instance",
        "- Synchronizes rent state first (rent-only; no production backfill)",
        "- Authorizes design mutation policy (`Place` allows `Active|Design`; rejects `Deactivated`)",
        "- Adds or removes the buildings from the claim stake instance",
        "- Increments the sequence id of the claim stake instance"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileFaction",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The profile faction account associated with the player profile"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimStakeInstance",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The claim stake instance to modify the buildings of"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`crate::state::StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "celestialBody",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The CelestialBody account containing the claim stake"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionOwnership",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "P5 Bridge #2 (REQUIRED, fail-closed): the starbase's `FactionOwnership(STARBASE)` sidecar. A REQUIRED,",
            "PDA-bound account that MAY be uninitialized — so the displaced legacy owner can no longer keep placing",
            "buildings on a captured starbase by OMITTING it (this is a control/mutation gate, so omission is worse",
            "here than at the dock). When initialized, the owner gate resolves via the dynamic controller",
            "(witness-checked); uninitialized PDA ⇒ legacy gate (byte-identical to pre-P5). See",
            "`resolve_starbase_controller_fail_closed`."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpAccrual",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Building XP ledger (spec §5): REQUIRED by `Game.version == v1` (fail closed) and",
            "rejected on legacy games. Appended after every pre-existing account so legacy",
            "transactions keep their positional prefix."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's rent-catalog PDA (REQUIRED; never created = Disabled)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentAuthority",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The stake's settlement-authority PDA (REQUIRED; never created = never evaluated)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentGridHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's GRID source head (required iff the catalog is Active)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentLevelHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's system LEVEL source head (required iff the catalog is Active)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentDefHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's definition DEF source head (required iff the catalog is Active)."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "08b8920679218a43",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "sequenceId",
          "docs": [
            "The sequence id of the claim stake instance"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "buildingChanges",
          "docs": [
            "A list of tuples of the building id and the number of buildings to place"
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "buildingId"
                },
                {
                  "kind": "numberTypeNode",
                  "format": "i32",
                  "endian": "le"
                }
              ]
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "rentHints",
          "docs": [
            "Rent Option B: the GRID / LEVEL / DEF baseline-record indices at `max(paid_clock, activation_time)`",
            "(read only under an Active catalog)."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 3
            }
          }
        }
      ],
      "remainingAccounts": [
        {
          "kind": "instructionRemainingAccountsNode",
          "docs": [
            "At most two history pages per axis (under an Active catalog)."
          ],
          "value": {
            "kind": "argumentValueNode",
            "name": "rentPages"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "placeClaimStakeInstanceWithHub",
      "docs": [
        "Implementation of the PlaceClaimStakeInstanceWithHubIx which places a new claim stake instance onto a CelestialBody.",
        "",
        "This instruction allows actors to add a `ClaimStakeInstance` to a target `CelestialBody`.",
        "- Validates and installs the matching zero-cost bundled hub.",
        "- Applies the hub's derived stats and reserves its required crew.",
        "- Appends the new claim stake instance to the celestial body's claim_stakes list.",
        "- Rent Option B (slice 5a, `instructions::rent_history::lifecycle_hook`): the stake address's",
        "settlement-authority PDA is ALWAYS passed (never created = never evaluated). An address whose authority",
        "still has an active evaluation cannot be placed on; a real initial rent deposit (> 0) bumps the",
        "authority's balance revision (an omitted or zero deposit is no deposit). The incarnation is not bumped",
        "here — the stake's close already started the new one.",
        "",
        "# System Context",
        "This instruction is part of the broader claim stake system that enables staking on celestial bodies.",
        "It is typically used after registering a celestial body and when a new claim is being established."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileFaction",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The profile faction account associated with the player profile"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimStakeInstance",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The claim stake instance to add"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "celestialBody",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The CelestialBody account to modify"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character account associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentAuthority",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The stake address's settlement-authority PDA (REQUIRED; never created = never evaluated)."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "a385796890e23cc7",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "claimStakeDefinitionId",
          "docs": [
            "The claim stake definition to place"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "claimStakeDefinitionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "hubBuildingId",
          "docs": [
            "The planet- and family-matched hub bundled with this stake"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "buildingId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "initialRentAmount",
          "docs": [
            "The initial amount of rent to deposit (optional)"
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "placeCraftingHabBuildings",
      "docs": [
        "Implementation of the PlaceCraftingHabBuildings instruction which takes in a list of buildings to add or remove from the crafting hab instance.",
        "",
        "This instruction allows actors to add or remove buildings to an existing `CraftingHabInstance` on a `Starbase`.",
        "- Validates the crafting hab instance exists and belongs to the actor",
        "- Validates the sequence id of the crafting hab design",
        "- Synchronizes rent state first (rent-only; no production backfill)",
        "- Authorizes design mutation policy (`Place` allows `Active|Design`; rejects `Deactivated`)",
        "- Adds or removes the buildings from the crafting hab instance",
        "- Increments the sequence id of the crafting hab design"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileFaction",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The profile faction account associated with the player profile"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "craftingHabInstance",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The crafting hab instance to modify the buildings of"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`crate::state::StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpAccrual",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Building XP ledger (spec §5): REQUIRED by `Game.version == v1` (fail closed) and",
            "rejected on legacy games. Appended after every pre-existing account so legacy",
            "transactions keep their positional prefix."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "3ea10f06fca1031a",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "sequenceId",
          "docs": [
            "The sequence id of the crafting hab design"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "buildingChanges",
          "docs": [
            "A list of tuples of the building id and the number of buildings to place"
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "buildingId"
                },
                {
                  "kind": "numberTypeNode",
                  "format": "i32",
                  "endian": "le"
                }
              ]
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "placeCraftingHabInstance",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileFaction",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The profile faction account associated with the player profile"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "craftingHabInstance",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The crafting hab instance to add"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character account associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "e3dcbab4343e233a",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "craftingHabDefinitionId",
          "docs": [
            "The crafting hab cargo id"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "craftingHabDefinitionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "initialRentAmount",
          "docs": [
            "The initial amount of rent to deposit (optional)"
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "placeLocalMarketOrder",
      "docs": [
        "Opens a new local market order at a starbase.",
        "",
        "Logic overview:",
        "- Ensure the starbase has local markets enabled",
        "- Process the order",
        "- Deposit atlas for bid, cargo for ask",
        "- Return any executed cargo or atlas to the starbase player or character vault, respectively",
        "- Charge the profile for rent if necessary"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The character of [`Self::profile_validation`] that belongs to [`Self::game`]"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The system that belongs to [`Self::game`]"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The starbase player for [`Self::system`] and [`Self::profile_validation`]"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "starbasePlayer",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "5374617262617365506c61796572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "system1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "character2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "system1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "system"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "character2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "character"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "localMarket",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The (potentially valid) local market for [`Self::system`]"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbaseGovernance",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Required, PDA-bound governance sidecar. It may be uninitialized (default fees), but callers",
            "cannot omit it to bypass an initialized fee policy."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Currency cache for DAO fee routing. Required when a governed fee produces a DAO share."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbaseTreasury",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Local treasury for local fee routing. Required when a governed fee produces a local share."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryHistory",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryPolicy",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryGeneration",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "e35c6d03b07ccbda",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "processOrderArgs"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "provisionRentPage",
      "docs": [
        "Rent Option B: pre-creates (funds) a future history page of an EXISTING price source (SAGE's 2b ruling:",
        "provision pages ahead of use instead of the acting player paying). A writer needs page `p + 1` from its first",
        "write on page `p`, and pays for it only if it does not exist yet — so writers avoid paying for as long as a",
        "keeper keeps the next page provisioned. The page is created zero-filled with its header only — it holds no",
        "record, changes no value, no head and no catalog state.",
        "",
        "Permissionless: any signer may pay. The page address is fixed by `(game, kind, key, page_index)`, the head",
        "must exist, and `page_index` must lie in `current_page + 1 ..= current_page + RENT_PROVISION_AHEAD`.",
        "Idempotent: an already-provisioned page in that window is validated and left unchanged."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "Pays the page's rent."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "head",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The source's head (must exist)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "page",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The page (created zero-filled if absent)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program."
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "6fcf2a0f123cc9ae",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "kind",
          "docs": [
            "The source kind (`rent_source_kind`)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "key",
          "docs": [
            "The source key (GRID: the celestial body; LEVEL/DEF: the u16 id, little-endian)."
          ],
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "pageIndex",
          "docs": [
            "The page to create."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "publishDemocracyCurveConfig",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "registry",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "curveConfig",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "a3602279ecddd211",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "curveVersion",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "values",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "democracyCurveValues"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "publishDemocracyHousingMap",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "registry",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "housingMap",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "3e9e3207cfb77f05",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "mapVersion",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "cargoIds",
          "docs": [
            "Cargo ids in canonical MUD, ONI, USTUR × T0..T5 order."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 18
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "capacities",
          "docs": [
            "Capacity per raw unit in the same canonical order."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 18
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "enabled",
          "docs": [
            "Per-slot eligibility switches in the same canonical order."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "booleanTypeNode",
              "size": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 18
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "reapExpiredMarket",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Profile that funded the market at reveal; receives the rent refund (pinned by address)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account (scopes the market)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "encounterMarket",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The expired market to close; rent flows to `funder`."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "ba783619936b5056",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "Unused — present only for interface parity with the other permissionless close instructions."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "reconcileKingSystem",
      "docs": [
        "Recompute one tracked system from canonical starbase state. The dynamic-ownership sidecar is optional;",
        "when present it must be the exact starbase PDA. Level0 always counts for nobody."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardRegistry",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardConfig",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "starSystem",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownership",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "tracker",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "92e85fc552e3e487",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "reconcileLegacyCharacter",
      "docs": [
        "Migrates one legacy Character to the staged v1 curves while the game is",
        "sealed (#222). Permissionless cranker (one Character per transaction);",
        "exact-once through the `CareerXpBudget` PDA created here (`Create`) and",
        "its permanent marker; membership proven against the committed manifest."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "Permissionless cranker: pays the budget PDA rent (deterministic state writes)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The character being migrated. Raw validation on purpose: the eager",
            "`ValidatedCharacter` sync must not run ahead of the snapshot."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudget",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character's budget PDA, created here. An existing PDA means the",
            "Character was already reconciled: the duplicate is rejected."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's configured budgets: the fresh PDA is seeded full at these ceilings."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "migrationConfig",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "targetDefinitions",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "c57562cb28ff7f46",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "leafIndex",
          "docs": [
            "Position of this Character in the sorted manifest."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "proof",
          "docs": [
            "Merkle siblings, leaf level first (`verify_manifest_membership`)."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "recordDemocracyPtrLegacyLock",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanContextGame",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanContextIdentity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanContextMigration",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanCensus",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanFrozenRoute",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanVoterPower",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanRouteCensus",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "governance",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "delegation",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "lock",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "8339f55decb78913",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "recoverClaimStakesFleetTransfer",
      "docs": [
        "Recover a fleet from a stuck claim-stake transfer where the queued cargo",
        "cannot be delivered exactly.",
        "",
        "Exists because:",
        "- ExitClaimStakesFleetTransfer resolves the snapshotted transfer exactly.",
        "If either source pod no longer contains the queued cargo, or the",
        "destinations cannot fit it, the swap aborts and the fleet stays stuck in",
        "FleetState::ClaimStakeTransfer.",
        "- [`ForceExitClaimStakesFleetTransfer`](crate::instructions::ForceExitClaimStakesFleetTransfer)",
        "requires the destination claim-stake account to have been evicted /",
        "closed by the SAGE program, which does not help a fleet whose",
        "destination stake is still active.",
        "",
        "Trigger condition: the transfer lock has elapsed and the queued snapshot",
        "cannot execute exactly against the current fleet/stake cargo state. This",
        "includes source shortfalls in either direction, invalid cargo ids, or",
        "destination capacity overflow. If the planned cargo is currently",
        "executable, the instruction errors and the player must use the normal exit",
        "path.",
        "",
        "Access control: the fleet must belong to the signing profile, gated on",
        "SagePermissions::MANAGE_FLEET_CARGO (the same permission required to",
        "start the transfer). Only the fleet owner can recover their own fleet;",
        "the destination claim-stake account is read-only and does not need to sign.",
        "It is used only to prove that the transfer's queued stake-side cargo cannot",
        "complete.",
        "",
        "Effects: sets the fleet back to [`FleetState::Idle`] at its current",
        "location. No cargo movement, no atlas movement, no stake-side state",
        "change. Any stake-side bookkeeping that references this transfer becomes",
        "stale and can be cleaned up by the stake owner via normal stake",
        "operations."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`](crate::state::Fleet) account, must belong to the profile."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimStakeInstance",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The active claim stake instance referenced by the fleet transfer."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "9732d9dbd367e368",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the profile permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "recoverDemocracyPtrIdentity",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "adminSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "recoveredSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "recoveredProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "recoveredCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "recoveredProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "identity",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "route",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "retiringMigration",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Required only during irreversible retirement. Early migration still uses its abort path."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cutoverProgress",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "e41a4b3364064ab1",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "adminKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "recoveredKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "recoverSignal",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerProfile",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerCharacter",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "ownerCharacter",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "ownerProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "ownerProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "ownerProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "controllerCharacter",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "controllerCharacter",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanSignal",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudget",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "8241e122fc9872e9",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedSequence",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "refreshScanSignalWitnesses",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerProfile",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerCharacter",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "ownerCharacter",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "ownerProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "ownerProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "ownerProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "controllerCharacter",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "controllerCharacter",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanSignal",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "31f450a51d0f9a64",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedSequence",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "registerCelestialBody",
      "docs": [
        "Struct for data input to Register CelestialBody"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] to add the celestial body to"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "celestialBody",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`CelestialBody`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game's rent catalog PDA (REQUIRED, may be uninitialized = Disabled; writable: admission counts)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentHead",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The new planet's GRID source head (required iff a PLANET is created while the catalog is Preparing;",
            "absent otherwise — an asteroid is never a price source)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentPage0",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Its history page 0 (required together with the head)."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "f7e792d6fe4e6fd4",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the profile permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "registerCelestialBodyArgs"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "celestialBodyId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "celestialBodyId"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "registerCharacter",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The player permissions [`Profile`]"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder for the new profile"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The `Character` account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudget",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "bf1242f83f4c7cd5",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "registerEncounterPool",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "encounterPool",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "d0f4cabc1c6efa1a",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "regionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "minorFaction",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "registerEncounterPoolArgs"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "registerStarbase",
      "docs": [
        "Struct for data input to Register `Starbase`"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The system to init a starbase in."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardRegistry",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardConfig",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "kingTracker",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game's rent catalog PDA (REQUIRED, may be uninitialized = Disabled; writable: admission counts)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentHead",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The new LEVEL source head (required iff the catalog is Preparing; absent otherwise)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentPage0",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Its history page 0 (required together with the head)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryHistory",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryPolicy",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryGeneration",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyFactionOwnership",
          "isWritable": false,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "6921248aa5b53339",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "registerStarbaseArgs"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the profile permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "registerStarbasePlayer",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder -- pays account rent"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`Character`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileFaction",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The faction that the player belongs to."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`crate::state::StarbasePlayer`] account to initialize"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The system program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionRelationTracker",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "P3 dock-compose gate (OPTIONAL for legacy clients). A supplied tracker controls both",
            "territory admission and the dynamic-capture regime. When omitted, capture state cannot",
            "be proven OFF, so the required PDA-bound sidecar remains authoritative; callers cannot",
            "omit the tracker to recover legacy ownership after capture. Supplying the tracker with",
            "dynamic capture OFF resolves the legacy `Starbase.owner`, matching `IdleToDocked`.",
            "When supplied + territory access ON, Allied / high-standing players may be admitted."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionStanding",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "OPTIONAL: the player's standing vs the STARBASE-OWNER faction. Omit ⇒ no standing override. Read-only",
            "(no fee/accrual). PDA + identity bound (game, player profile, owner faction id) in process()."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "OPTIONAL: per-game reputation dials (supplies dock_min_band + decay). Supply WITH faction_standing."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionOwnership",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "P5 Bridge #1 (REQUIRED, PDA-bound): the starbase's maybe-uninitialized ownership sidecar.",
            "An absent relation tracker cannot prove the capture switch is off, so registration",
            "resolves this sidecar fail-closed. With a present tracker explicitly disabling capture,",
            "registration ignores sidecar state and uses the legacy `Starbase.owner`, like docking.",
            "With capture enabled, fresh sidecars control access; Level0 keeps its stale fallback."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerFactionAccount",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "OPTIONAL dynamic-operator admission bridge. For a dynamically controlled starbase, supply the resolved",
            "owner's [`FactionAccount`] to admit that faction's configured `operator_profile`. Omit ⇒ no operator",
            "admission (the existing own / Allied / standing paths are unchanged). When supplied for a dynamic owner,",
            "process() re-derives its PDA from (game, resolved owner id) before reading it. This account is deliberately",
            "appended after the pre-existing required accounts so legacy clients keep their account ordering."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "3c129e13d09353e2",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "releaseDemocracyPtrBacking",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAuthorityGame",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAuthorityIdentity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAuthorityRoot",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAllocation",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionClaimHistory",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionGeneration",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "backing",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "d3d3015263783b5d",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedRootRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAllocationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedBackingRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "releaseDemocracyPtrZeroPowerLock",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanContextGame",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanContextIdentity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanContextMigration",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanCensus",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanFrozenRoute",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanVoterPower",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanRouteCensus",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "lock",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "delegation",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Canonical original source. No live-system/controller/config account is required to exit."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "f1cc71f10c7d5e22",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "currentKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "releaseFinalizedDemocracyPtrAssets",
      "docs": [
        "Unadopted migration custody is never eligible power. It remains returnable after finalization",
        "even if its original System was deleted or its faction has lost the Starbase."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "authorityGame",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "authorityIdentity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "authorityRoot",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "custody",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "assetLock",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "47227802e469d122",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedRootRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "reloadFleetAp",
      "docs": [
        "Reload fleet AP.",
        "",
        "Logic overview:",
        "- Check that the ProfileValidation has `SagePermissions::ENGAGE_IN_COMBAT`, with scopes either for the fleet or sage",
        "- Check that fleet is alive and synced with game",
        "- Check that the fleet state is allowed",
        "- Reload the AP"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`](crate::state::Fleet) account",
            "Must be alive and have normalized crew"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "76ee99f137012245",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "removeCrewFromGame",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "crewConfig",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "newCrewOwner",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "crewDelegate",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "bubblegumProgram",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "logWrapper",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "compressionProgram",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "f28b4c0f17b66475",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "items",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "crewTransferInput"
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "remainingAccounts": [
        {
          "kind": "instructionRemainingAccountsNode",
          "value": {
            "kind": "argumentValueNode",
            "name": "remainingAccounts"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "removeRegion",
      "docs": [
        "Removes a region from the game map.",
        "",
        "This instruction deletes an existing region from the region tracker. It performs",
        "authorization checks and then permanently removes the region with the specified ID",
        "from the game map.",
        "",
        "Once a region is removed, geometric and warp-lane references from other regions are",
        "cleared. Star systems must still be removed or reassigned before the region can be",
        "deleted.",
        "",
        "# Fields",
        "* `id` - Unique identifier for the region to remove",
        "* `key_index` - Index of the key in the profile with region management permissions",
        "",
        "# System Context",
        "This instruction is part of the spatial management system that enables universe navigation.",
        "It should be used with caution as it may impact game mechanics that depend on the",
        "existence of the region."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Region tracker account storing all regions"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "a6f67cc3712b4621",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "id",
          "docs": [
            "Unique identifier for the region to remove"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "Index of the key in the profile with region management permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "removeScanLootProfile",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanLootProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "e8edc45e9fb7941b",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "regionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "removeScanPattern",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanPattern",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanPatternNoiseMapUpload",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "d512c855151f3663",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "scanPatternId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "scanPatternId"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "removeScanPatternPolicy",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanPatternPolicy",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "9585178b34782c10",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "scanPatternId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "scanPatternId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "removeShipDefinition",
      "docs": [
        "Deletes a ship in `Game`'s [`ShipDefinitions`](crate::state::ShipDefinitions)",
        "",
        "# Logic overview:",
        "1. Run the account set validations on [`UpdateShipDefinitionAccounts`]",
        "2. Increment the ship definitions sequence ID (done in `remove_ship_definition`)",
        "3. Delete the ship from `Game`'s [`ShipDefinitions`](crate::state::ShipDefinitions). If the ship id doesn't exist,",
        "return an error.",
        "4. Retain the ship mint in the [mint_to_id](crate::state::ShipDefinitions::mint_to_id) map to allow withdrawal of removed ships."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game account for which the ship definitions are being updated"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Solana System program for account creation"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "mint",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The mint of the ship to create. None if updating an existing ship."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "e4bab1fde0cdca30",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The key index on the profile with [`SagePermissions::MANAGE_SHIP`] permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "shipId",
          "docs": [
            "The id of the ship to delete"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "shipId"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "removeShipEscrow",
      "docs": [
        "Struct for data input for `RemoveShipEscrow`"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileFaction",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`Character`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "destinationTokenAccount",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Destination Token Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "shipEscrowTokenAccount",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Escrow Token Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starSystem",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "starbasePlayer",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "5374617262617365506c61796572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "starSystem1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "character2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "starSystem1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "starSystem"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "character2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "character"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "tokenProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Token Program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "43046ca1ba6a7d34",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "shipAmount",
          "docs": [
            "Amount of `Ship` tokens to transfer from escrow"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "id",
          "docs": [
            "Unique identifier for the ship"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "permissionKeyIndex",
          "docs": [
            "the index of the `ProfileKey` in `Profile` with required permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "repairDockedFleet",
      "docs": [
        "Repair docked fleet.",
        "",
        "Logic overview:",
        "- Check that the ProfileValidation has `SagePermissions::REPAIR`, with scopes either for the fleet or sage",
        "- Check that the starbase player belongs to the starbase",
        "- Check that the fleet is docked at the starbase",
        "- Check that the fleet is alive and synced with game",
        "- Repair fleet"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`](crate::state::Fleet) account",
            "Must be alive"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardsRegistry",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardsConfig",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardsEpoch",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardsContribution",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "0a6dda73332b55cb",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "amount",
          "docs": [
            "The amount of toolkits to use to repair"
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "repairIdleFleet",
      "docs": [
        "Repair idle fleet.",
        "",
        "Logic overview:",
        "- Check that the ProfileValidation has `SagePermissions::REPAIR`, with scopes either for the fleet or sage",
        "- Accept an optional target fleet otherwise repair self",
        "- Check that both fleets are alive and synced with game",
        "- Check that the fleet's are idle and within range",
        "- Repair fleet"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`] account",
            "Must be alive and have normalized crew"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "targetFleet",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The defending fleet.",
            "Must be alive and have normalized crew"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardsRegistry",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardsConfig",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardsEpoch",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardsContribution",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "db9fab7c97f93dbd",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "amount",
          "docs": [
            "The amount of toolkits to use to repair"
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "repairStarbase",
      "docs": [
        "Repair starbase.",
        "",
        "Logic overview:",
        "- Check that the ProfileValidation has `SagePermissions::REPAIR`, with scopes either for the fleet or sage",
        "- Check that fleet is idle and within range of starbase",
        "- Repair starbase"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`](crate::state::Fleet) account",
            "Must be alive and have normalized crew"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The starbase account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardsRegistry",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardsConfig",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardsEpoch",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardsContribution",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "8b603afb249fa34e",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "amount",
          "docs": [
            "The amount of toolkits to use to repair"
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "requestDemocracyPtrAllocation",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAuthorityGame",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAuthorityIdentity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAuthorityRoot",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAllocation",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionClaimHistory",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionGeneration",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "history",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "policy",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentStarbasePlayer",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Only needed for a positive target or a changed explicit ballot. A zero exit needs no",
            "current StarbasePlayer, controller signature, active requirements version or live tier."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerFactionAccount",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "requirements",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "curve",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "housingMap",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "activeCurve",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "activeHousingMap",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "7fe5e943d45ee5ec",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedRootRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAllocationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedBackingRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "targetPvp",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "preference",
          "docs": [
            "None is standing abstention; Some replaces the complete four-parameter ballot."
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "governanceParams"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "resolveCombatRewards",
      "docs": [
        "Resolve medallions and at most one weighted salvage outcome per committed death leg. Combat never",
        "depended on reserve availability: awards clamp to finite stock and emit an observable low-stock log."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "config",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "loot",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "recentSlothashes",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "7c4a3bbc921d54ef",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "resolveSignal",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanSignal",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "controllerCharacter",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanPatternPolicy",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanLootProfile",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "recentSlothashes",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudget",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "602d7d312e2e4c0e",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedSequence",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "respawnClaimStakeInstance",
      "docs": [
        "Respawn a claim stake instance",
        "",
        "Logic overview",
        "- Verify instance ownership and that it is placed on the given celestial body",
        "- Verify it requires respawn (starbase destroyed or level downgrade invalidation)",
        "- Verify `star_system` belongs to the game and matches the celestial body",
        "- Verify `css_star_system` belongs to the game and is a CSS",
        "- Verify `css_starbase_player` belongs to `css_star_system` and the profile",
        "- Remove the instance from the planet, capturing the invalidation timestamp",
        "- Pay rent up to invalidation and refund remaining rent to the character",
        "- Refund claim stake buildings to the CSS starbase player's cargo pod",
        "- Start crew respawn on the system starbase player with the proper end time",
        "- Queue the claim stake respawn on the system starbase player's respawn map",
        "- Close the claim stake instance account",
        "- Rent Option B (slice 5a, `instructions::rent_history::lifecycle_hook`): under an Active catalog a stake whose",
        "paid clock is before its invalidation time is refused (that rent needs history pricing, slice 5b); a",
        "successful respawn starts a new incarnation of the stake's settlement authority and retires its active",
        "evaluation, if any, without charging it (the Eval's rent goes to its original funder)",
        "- Building XP (SAGE ruling on evicted-stake design mutations, Q2(c)): the stake's operational ledger is",
        "observed once, terminally — the operational, PAID part of its run up to the invalidation is credited",
        "(never to the observation time, never a construction no tick completed), its whole days are converted",
        "through the Character's Building budget, and the ledger is closed (`settle_terminal_building_xp`)"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder for any Solana rent payments."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The player profile"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character account associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimStakeInstance",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The claim stake instance"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "celestialBody",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The CelestialBody account containing the claim stake"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] in which the claim stake was placed"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The `star_system` [`crate::state::StarbasePlayer`] Account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "starbasePlayer",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "5374617262617365506c61796572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "starSystem1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "character2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "starSystem1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "starSystem"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "character2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "character"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssStarSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The CSS [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The CSS [`crate::state::StarbasePlayer`] Account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "cssStarbasePlayer",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "5374617262617365506c61796572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "cssStarSystem1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "character2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "cssStarSystem1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "cssStarSystem"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "character2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "character"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's rent-catalog PDA (REQUIRED; never created = Disabled)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentAuthority",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The stake's settlement-authority PDA (REQUIRED; never created = never evaluated)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentEval",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's ACTIVE evaluation: required iff the authority has one (retired without charge)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentEvalRefund",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The active evaluation's ORIGINAL funder (receives its rent): required iff `rent_eval` is."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentGridHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's GRID source head (required iff the catalog is Active)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentLevelHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's system LEVEL source head (required iff the catalog is Active)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentDefHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's definition DEF source head (required iff the catalog is Active)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpAccrual",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The stake's Building XP ledger PDA (REQUIRED; never created = nothing accrued). Closed to `profile`."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudget",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The Character's Building budget: required iff the ledger exists (v1 games only)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The game's XP budget config: required iff the ledger exists (v1 games only)."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "2bad0acbc94a1360",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "rentHints",
          "docs": [
            "Rent Option B: the GRID / LEVEL / DEF baseline-record indices at `max(paid_clock, activation_time)`",
            "(read only under an Active catalog)."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 3
            }
          }
        }
      ],
      "remainingAccounts": [
        {
          "kind": "instructionRemainingAccountsNode",
          "docs": [
            "At most two history pages per axis (under an Active catalog)."
          ],
          "value": {
            "kind": "argumentValueNode",
            "name": "rentPages"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "respawnCraftingHabInstance",
      "docs": [
        "Respawn a crafting hab instance",
        "",
        "Logic overview",
        "- Verify instance ownership and that it is placed on the starbase",
        "- Verify it requires respawn (starbase destroyed or level downgrade invalidation)",
        "- Verify `star_system` belongs to the game",
        "- Verify `css_star_system` belongs to the game and is a CSS; verify `css_starbase_player` belongs to it and the profile",
        "- Remove the instance from the starbase, capturing the invalidation timestamp",
        "- Pay rent up to invalidation and refund remaining rent to the character",
        "- Refund crafting hab buildings to the CSS starbase player's cargo pod",
        "- Start crew respawn on the system starbase player with the proper end time",
        "- Queue the crafting hab respawn on the system starbase player's respawn map",
        "- Close the crafting hab instance account"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder for any Solana rent payments."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The player profile"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character account associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "craftingHabInstance",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The crafting hab instance"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starSystem",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] in which the crafting hab was placed"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The `star_system` [`crate::state::StarbasePlayer`] Account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "starbasePlayer",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "5374617262617365506c61796572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "starSystem1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "character2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "starSystem1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "starSystem"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "character2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "character"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssStarSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The CSS [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The CSS [`crate::state::StarbasePlayer`] Account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "cssStarbasePlayer",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "5374617262617365506c61796572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "cssStarSystem1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "character2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "cssStarSystem1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "cssStarSystem"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "character2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "character"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "46012bd781e5433a",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "respawnToDocked",
      "docs": [
        "Transition fleet from `Respawn` to `Docked`",
        "",
        "Logic overview:",
        "- Check that the profile has RESPAWN permissions",
        "- Check that the fleet belongs to the profile and is not destroyed",
        "- Check that the css_star_system belongs to the game, is a CSS and matches fleet faction",
        "- Refresh the fleet state then ensure the resulting state is Docked at css_star_system"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`](crate::state::Fleet) account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cssStarSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The CSS [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`crate::state::StarbasePlayer`] Account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "6345edc0504eefbe",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "respecPerks",
      "docs": [
        "`RespecPerks` args — wipe all perks on one crew (refunding its slots, NOT its lifetime",
        "points: respec re-rolls the *allocation*, the lifetime budget is spent-history). Charges an",
        "ATLAS fee (the sink)."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account (flag gate; also where the respec ATLAS fee is configured — `RESPEC_*`",
            "price sheet, master §9)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The caller's `Character` — the crew-roster OWNER anchor (PR #732 second review)."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "atlasSource",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The player's ATLAS source token account (debited the respec fee — the sink)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "atlasVault",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The ATLAS sink vault (credited; EXISTING `atlas_vault`/`dao_atlas_vault`)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "tokenProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The SPL token program for the ATLAS transfer."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "roster",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "984e48bdb7b57502",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "crewAssetId",
          "docs": [
            "The crew (by asset id) to respec."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 32
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "pageIndex",
          "docs": [
            "The roster page the crew lives on."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "restoreDemocracyPtrAssets",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "adminSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminGame",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "releaseGame",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "releaseIdentity",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "releaseMigration",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "releaseCustody",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "releasePlayerProfile",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "releaseSystem",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "releaseStarbasePlayer",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "releaseAssetLock",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "04b5e00b61d8c3c5",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "adminKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "restoreDemocracyPtrLegacyRoute",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "adminSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "identity",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "migration",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "frozenRoute",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "voterPower",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentRefund",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Immutable receipt-bound destination; abort cannot divert sentinel rent to another admin."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "4c308071c5be828b",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "adminKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "retireDemocracyPtrLegacySource",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "identity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "migration",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "progress",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "route",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "frozen",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "lock",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "voter",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "governance",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "opening",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "delegation",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "claim",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The original source remains the release destination after recovery or System deletion."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "receipt",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "4f24b3fcd2935cb0",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "retireStaleRentSettlement",
      "docs": [
        "Retires the active evaluation `nonce` when it can PROVABLY never commit (see the module docs).",
        "Permissionless."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "stake",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The stake ADDRESS the authority belongs to — it may have been closed (or closed and re-created)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "authority",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "eval",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "refund",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Eval's original funder."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "4c96b98a1687fc23",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "nonce",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "retireStaleStarbaseDelegation",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The player's account at this starbase. It may already be synchronized to the successor",
            "generation; diplomat crew are released only while the stale generation's reservation is",
            "still present."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "governance",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "voterPower",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "delegation",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimState",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "cedf5d60a546fd95",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "retrieveLoot",
      "docs": [
        "Attack an enemy fleet.",
        "",
        "Logic overview:",
        "- Check that the ProfileValidation has `SagePermissions::ENGAGE_IN_COMBAT`, with scopes either for the fleet or sage",
        "- Check that the fleet is alive and synced with game",
        "- Check that the instruction is the only instruction in the transaction",
        "- Check that the fleet's is idle and within loot range",
        "- Pickup loot"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`](crate::state::Fleet) account",
            "Must be alive and have normalized crew"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "loot",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The loot account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "instructionsSysvar",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Solana Instructions Sysvar"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "Sysvar1nstructions1111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "recentSlothashes",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Solana recent slothashes"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "lootCreator",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The loot creator account",
            "Required to refund rent when closing the loot account",
            "If profile doing the looting is different"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "e9a07b4deb33d62d",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "want",
          "docs": [
            "A list of items the fleet intends to loot, organized by target.",
            "",
            "Each element is a tuple containing a target's index and a vector",
            "of (`CargoId`, amount) pairs to take from that target."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "numberTypeNode",
                  "format": "u8",
                  "endian": "le"
                },
                {
                  "kind": "arrayTypeNode",
                  "item": {
                    "kind": "tupleTypeNode",
                    "items": [
                      {
                        "kind": "definedTypeLinkNode",
                        "name": "cargoId"
                      },
                      {
                        "kind": "numberTypeNode",
                        "format": "u64",
                        "endian": "le"
                      }
                    ]
                  },
                  "count": {
                    "kind": "prefixedCountNode",
                    "prefix": {
                      "kind": "numberTypeNode",
                      "format": "u32",
                      "endian": "le"
                    }
                  }
                }
              ]
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "revealEncounter",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "encounterCommit",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The player's pending commit (game-scoped; ownership re-checked in the handler). Cleared on reveal."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "pool",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The (region, faction) envelope — validated to match the committed zone + be active."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The matching treasury — read here only to clamp sell quantities to available stock."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "encounterMarket",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The player-funded, time-boxed market to open (bound to the owner's character via seeds)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "recentSlothashes",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "0443b47ebdf96065",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "rollAtlasRewardEpoch",
      "docs": [
        "Close all three faction epochs, snapshot their ATLAS entitlements, activate the next config, and",
        "create all three next epochs atomically. It advances exactly one epoch, even when a keeper is",
        "late. Treasury solvency is deliberately not a rollover precondition."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "registry",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "activeConfig",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "pendingConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "kingTracker",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "mudEpoch",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "oniEpoch",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "usturEpoch",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "mudTreasury",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "oniTreasury",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "usturTreasury",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "nextMudEpoch",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "nextOniEpoch",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "nextUsturEpoch",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "2a3cf05f3ed79b35",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "closingEpochIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "nextEpochIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "scan",
      "docs": [
        "Scan.",
        "",
        "Logic overview:",
        "- Check that the ProfileValidation has `SagePermissions::SCAN`, with scopes either for the fleet or sage",
        "- Check that the fleet is not destroyed and has normalized crew",
        "- Check that the instruction is the only instruction in the transaction",
        "- Refresh fleet state and verify fleet is either Idle or MoveSubwarp",
        "- Pay scanning costs",
        "- Calculate scan results and possible loot",
        "- Pick up possible loot"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanPattern",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "instructionsSysvar",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "Sysvar1nstructions1111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "recentSlothashes",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "crewBinding",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "encounterCommit",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Optional (Phase 2 — encounter): the caller's per-character [`EncounterCommit`], stamped when an encounter arms."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "encounterPool",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Optional (Phase 2 — encounter): the `(region, faction)` [`EncounterPool`] the caller is arming. Its",
            "faction is PINNED into the commit here — before the reveal's future hash exists — so it can't be",
            "steered after the entropy is knowable. Validated active + same-region at scan; reveal requires the",
            "revealed pool's faction to match. Must be supplied with `region_tracker` + `encounter_commit` to arm."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudget",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "852e7dfc30eca448",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "scanDemocracyPtrLegacyRegistry",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "scanContextGame",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanContextIdentity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanContextMigration",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanCensus",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanFrozenRoute",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanVoterPower",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanRouteCensus",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "entry",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "registry",
          "isWritable": false,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "8077e38e8b4904a0",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedRegistryIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "scheduleDemocracyRequirementsConfig",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "registry",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "curveConfig",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "housingMap",
          "isWritable": false,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "16a09a9991b4da1b",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "curveVersion",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "housingMapVersion",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "sealDemocracyLegacyHistory",
      "docs": [
        "Explicit per-generation cutover. Both live and archived legacy generations can be sealed;",
        "no live System or obsolete controller signature is needed to preserve archived claims."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "adminSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "adminProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "policy",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "governance",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "opening",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "af39f52b882d6ced",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "seedMajorFactions",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "mud",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "oni",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "ustur",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "a3ae39f3a1b41c30",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "setContested",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionOwnership",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "e4cc2ecb5fbc3c16",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "assetKind",
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "assetKey",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 32
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "setContestedArgs"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "setCrewConfig",
      "docs": [
        "`SetCrewConfig` args — set (or clear) the `Game.crew_config` `OptionalPubkey`, the master",
        "feature flag. `Some(key)` switches the whole crew layer ON; `None` switches it OFF (the",
        "shipped default — flipping back to `None` is the instant, no-redeploy rollback).",
        "",
        "**The stored key is ALSO the crew attestation authority** (PR #732 second review):",
        "`BindCrew` / `MigrateCrewMember` require it as a co-signer, so record creation stays",
        "closed to the configured authority (ops / the future attestation oracle) until Phase-2",
        "on-chain attestation verification replaces the co-signature. Setting a key nobody holds",
        "keeps the feature ON for gameplay while binds stay closed; rotating the authority is one",
        "admin call."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game account — `Mut` to write `crew_config`. Validated against the admin profile",
            "(the EXISTING `Game` admin validate arg, create_recipe_rs:30-31)."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "16691c55917079c2",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the player profile."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "crewConfig",
          "docs": [
            "the new `crew_config` value: `Some` ⇒ ON (the key doubles as the crew attestation",
            "authority that must co-sign Bind/Migrate), `None` ⇒ OFF."
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "publicKeyTypeNode"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "setEncounterPoolStatus",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "encounterPool",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "fedafe5239ace49f",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "active",
          "docs": [
            "`true` → `Active` (spawnable); `false` → `Draft` (paused)."
          ],
          "type": {
            "kind": "booleanTypeNode",
            "size": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "setFactionConfig",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionConfig",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "56d5468f71685444",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "setFactionConfigArgs"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "setFactionController",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionAccount",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "controllerProfile",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The assignee, supplied only when setting (not clearing). Loading it as `Account<Profile>` proves it",
            "is a real, owned `Profile` account; the handler binds its key to `new_controller`."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "2b80ff83285925f6",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "newController",
          "docs": [
            "The new controller profile pubkey, or `None` to clear. When `Some`, `controller_profile` MUST be",
            "supplied and equal it (so a typo can't lock the faction behind a non-existent profile)."
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "publicKeyTypeNode"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "setFactionEconomicsConfig",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionEconomicsConfig",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "b1e2165ac5d58481",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "factionEconomicsDials"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "setFactionFlags",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionAccount",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "81407c124b50e41d",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "set",
          "docs": [
            "Bits to add."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "clear",
          "docs": [
            "Bits to remove."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "setFactionMarketStatus",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionMarket",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "acc59db12a7908bf",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "active",
          "docs": [
            "`true` → `Active` (tradable); `false` → `Draft` (paused)."
          ],
          "type": {
            "kind": "booleanTypeNode",
            "size": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "setFactionOperator",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionAccount",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "operatorProfileAccount",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The assignee, supplied only when setting (not clearing). Loading it as `Account<Profile>` proves it",
            "is a real, owned `Profile` account; the handler binds its key to `operator_profile`."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "f1a47945f269119d",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "operatorProfile",
          "docs": [
            "The new operator profile pubkey, or `None` to clear. When `Some`, `operator_profile_account` MUST be",
            "supplied and equal it (so a typo can't bind the faction to a non-existent operator profile)."
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "publicKeyTypeNode"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "maxNpcFleets",
          "docs": [
            "The hard cap on this faction's concurrent NPC fleets (the primary anti-flood brake `MintNpcFleet`",
            "enforces unconditionally). `0` (the genesis default) disables minting entirely."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "setFactionRelation",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionA",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionB",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionRelationTracker",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "9e995221821e4ced",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "factionA",
          "docs": [
            "First faction id."
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "factionB",
          "docs": [
            "Second faction id."
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "rel",
          "docs": [
            "The relationship to set. `Neutral` REMOVES any existing entry on the pair."
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "relationship"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "ceasefireUntil",
          "docs": [
            "Unix ts the ceasefire lifts (used only when `rel == Ceasefire`)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "i64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "setFactionRelationConfig",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionRelationTracker",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "47420bceb8da1d51",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "setFactionRelationConfigArgs"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "setFactionStatus",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionAccount",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "82e05c48b02d3b91",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "status",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "factionStatus"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "setFleetDirective",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionAccount",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionOwnership",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "e93dc8774d8aa994",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "Index of the signing key on the caller's profile (admin-or-controller; validated at the LOW floor)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "factionId",
          "docs": [
            "The faction whose fleet is being re-tasked (seeds `faction_account`; `controller` is read from it)."
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "fleet",
          "docs": [
            "The fleet whose FLEET-kind sidecar receives the directive (seeds `faction_ownership`)."
          ],
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "setFleetDirectiveArgs"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "setKingSystems",
      "docs": [
        "Replace the canonical King-system membership and its initial effective owners. This is deliberately",
        "admin-authored genesis/runtime data; every live ownership mutation and permissionless reconciliation",
        "subsequently maintains the counts."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardRegistry",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardConfig",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "tracker",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "ab5854e29f301213",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "systems",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "systemId"
                },
                {
                  "kind": "definedTypeLinkNode",
                  "name": "minorFactionId"
                }
              ]
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "setPerkDefinitions",
      "docs": [
        "`SetPerkDefinitions` args — replace/extend the perk catalogue with a batch of rows."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game account — `Mut` to append into the tail `crew_perk_definitions` map."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program (the tail growth may need rent for the account resize)."
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "0ca9042e5655adfe",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the player profile."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "defs",
          "docs": [
            "the perk rows to author (keyed by `id` into `Game.crew_perk_definitions`)."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "perkDefInput"
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "setPlanetRentGrid",
      "docs": [
        "Rent Option B — the dedicated, guarded rent-epoch writer for a planet's rent grid (appendix A4).",
        "",
        "Writes `Planet.base_claim_stake_rent_rate` AND appends the change to the planet's GRID price-source",
        "history atomically. The caller states the head `write_version` it reviewed; the program refuses a stale",
        "expectation (`RentWriteVersionMismatch`) — the version bumps on every effective write, including a",
        "same-second coalesced one, so two writers can never both succeed from the same view.",
        "",
        "Values are converted exactly like `UpdatePlanetTables` (`f64` → `U32F32`), except that a value outside",
        "the fixed-point range (negative, NaN, too large) is refused instead of panicking.",
        "",
        "Catalog states: Disabled — any existing head; Preparing / Ready — prices are FROZEN (slice 5c-1a): a change",
        "of the encoded grid is refused, an unchanged grid is a history no-op; Active — only a usable (baselined +",
        "configured) member source, the change effective from this instruction's clock (prospective, never",
        "backdated)."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The system in which the planet is located."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "body",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The planet (its grid projection is written)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's rent catalog PDA (may be uninitialized = Disabled)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "head",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The planet's GRID source head."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentPage",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The history page holding the latest record."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "nextPage",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The following history page — created (funder-paid, zero-filled in place) by the FIRST write against",
            "the current page (even a no-op), written when the append crosses into it."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program."
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "55eb9df8f36ae661",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the profile permissions."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "currentPageIndex",
          "docs": [
            "The page holding the head's latest record (`current_revision / 16`) — a seed input; re-checked",
            "against the head."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedWriteVersion",
          "docs": [
            "The head `write_version` the caller reviewed."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "grid",
          "docs": [
            "The new grid, `[starbase level][claim-stake tier]`."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "f64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 5
              }
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 7
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "settleClaimStakeBuildingXp",
      "docs": [
        "Settles the operational-day Building XP of one claim stake.",
        "",
        "Rent Option B (slice 5b-2): under an ACTIVE rent catalog the stake tick's rent step is the history-priced",
        "settle-to-now; a refused settlement refuses the XP settlement too (no XP over an unsettled interval)."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimStakeInstance",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "celestialBody",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "accrual",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Per-structure operational ledger, created on first observation."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudget",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's rent-catalog PDA (REQUIRED; never created = Disabled)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentAuthority",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The stake's settlement-authority PDA (REQUIRED; never created = never evaluated)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentGridHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's GRID source head (required iff the catalog is Active)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentLevelHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's system LEVEL source head (required iff the catalog is Active)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentDefHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's definition DEF source head (required iff the catalog is Active)."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "86195c372c606e4d",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "rentHints",
          "docs": [
            "Rent Option B: the GRID / LEVEL / DEF baseline-record indices at `max(paid_clock, activation_time)`",
            "(read only under an Active catalog)."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 3
            }
          }
        }
      ],
      "remainingAccounts": [
        {
          "kind": "instructionRemainingAccountsNode",
          "docs": [
            "At most two history pages per axis (under an Active catalog)."
          ],
          "value": {
            "kind": "argumentValueNode",
            "name": "rentPages"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "settleDemocracyPtrAllocation",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAuthorityGame",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAuthorityIdentity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAuthorityRoot",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionAllocation",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionClaimHistory",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "positionGeneration",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "history",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "boundary",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The last old-power day for a matured scheduled change. Not needed for a target canceled",
            "before activation by capture, or for explicitly configured capture-close activation."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "settlement",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "eb68befee9e66bf1",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedRootRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAllocationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "settleHabBuildingXp",
      "docs": [
        "Settles the operational-day Building XP of one crafting hab."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "craftingHabInstance",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "accrual",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Per-structure operational ledger, created on first observation."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudget",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "16d69755327d7d1d",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "settleLoyaltyContribution",
      "docs": [
        "Convert one closed epoch contribution into the profile's persistent ATLAS bank exactly once."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "epoch",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "contribution",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "bank",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "config",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Append-last for deployed-client compatibility. Legacy closed epochs were pre-funded and do",
            "not require this account; claim-funded epochs debit it when the player settles."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "2aa0bed3916e620e",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "factionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "epochIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "settleMission",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The cranker (pays + reclaims the process rent). `recipient,funder` is REQUIRED for the",
            "`CloseAccount` to be executable (convention #9). The ONLY signer; no `ProfileValidation`."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The reserved-counter starbase-player, cross-checked by the process. `Mut` for the crew move."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "missionProcess",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The process being settled — validated against its stored `starbase_player` (the owner",
            "cross-check) and CLOSED on success (the no-leak guarantee)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "roster",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The owner's pinned reward page — CONDITIONALLY REQUIRED when the WIN branch pours XP (fail-closed)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "recentSlothashes",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The future-hash entropy source."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "missionVault",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The escrow vault, seeds re-derived from the process key (boundary-enforced). Swept + closed."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardPool",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The emissions-fed treasury — validated `== mission.reward_pool` in-handler. `Mut` for the draw + breaker."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The owner's character (WIN ATLAS reward + stake-refund target). A `CharacterSeeds{profile,game}`",
            "PDA the cranker can supply; validated in-handler against the process owner + the game-sub pin."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionOrderAnchor",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The per-region sector anchor — seeds `(game, mission.region_id)` validated in-handler (region_id",
            "comes from the process, not the caller). `Mut` for the impact fold. (CreateIfNeeded at first settle",
            "is the alternative; v1 requires it pre-created by the admin ix.)"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "d3f6d928a49b8023",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "settleStarbaseGovernanceRewards",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "governance",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "1ec804d46b93d43b",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "skipDemocracyPtrAbsentDelegation",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "scanContextGame",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanContextIdentity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanContextMigration",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanCensus",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanFrozenRoute",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanVoterPower",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanRouteCensus",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "governance",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "delegation",
          "isWritable": false,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "6308e3da7198338d",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "skipDemocracyPtrEmptyRegistries",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "catalog",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "d7ab0fc32298ede1",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedSystemId",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ],
      "remainingAccounts": [
        {
          "kind": "instructionRemainingAccountsNode",
          "docs": [
            "Exactly 1..16 consecutive canonical registry PDAs, beginning at the stored Game cursor."
          ],
          "value": {
            "kind": "argumentValueNode",
            "name": "registries"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "skipEmptyRentSources",
      "docs": [
        "Proves `count` consecutive ids of `kind`, starting at the catalog cursor, EMPTY and advances the cursor.",
        "LEVEL / GRID: the remaining accounts are exactly the `count` canonical source PDAs in id order, each",
        "proven uninitialized (1..=16). DEF: no accounts — each id is checked absent from the validated `Game`",
        "map (1..=256). Permissionless; Preparing only."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "catalog",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "8a02f1307d47196d",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "kind",
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedCursor",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "count",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "remainingAccounts": [
        {
          "kind": "instructionRemainingAccountsNode",
          "docs": [
            "LEVEL / GRID: the canonical source PDAs, in id order. DEF: none."
          ],
          "value": {
            "kind": "argumentValueNode",
            "name": "sources"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "skipUnpricedRentSource",
      "docs": [
        "Proves the id at the cursor is an existing but UNPRICED source (LEVEL: a validated star system without a",
        "starbase; GRID: a validated non-planet body) and advances the cursor by one. Permissionless; Preparing only."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "catalog",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "LEVEL only: the canonical star system of the scanned id."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "body",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "GRID only: the canonical celestial body of the scanned id."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "ad75ea0fe68a7214",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "kind",
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedCursor",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "stageDemocracyPtrAssets",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "currentSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "currentProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "sourceSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "sourceProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "sourceCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "sourceProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "identity",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "migration",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "custody",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "route",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "assetLock",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "75821513972ab921",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "currentKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "sourceKeyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAuthorizationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "crew",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "housingQuantities",
          "docs": [
            "Canonical CSS mint order. Zero entries do not require that mint in this Game."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 18
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "startChunkedBorderUpload",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionBorderUpload",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "daf59fca31614ca4",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "regionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedLen",
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "startClaimStakesFleetTransfer",
      "docs": [
        "Start cargo transfers between a fleet and a claim stake instance",
        "",
        "Logic overview",
        "- Check that the profile has MANAGE_FLEET_CARGO permissions",
        "- Check that the fleet belongs to the profile, has normalized crew and is not destroyed",
        "- Refresh the fleet state then ensure it is idle",
        "- Ensure the fleet is withing range of the asteroid",
        "- Check that the claim stake instance is placed on the celestial body and belongs",
        "to the profile",
        "- Check that the system which contains the celestial body has an active starbase",
        "and that the profile has a starbase player account on the starbase",
        "- Check that the claim stake is actively staked on the celestial body",
        "- Enter into the claim stake transfer fleet state",
        "- Rent Option B (slice 5b-2): under an ACTIVE rent catalog the stake tick's rent step is the history-priced",
        "settle-to-now (the stake's settlement authority, three source heads, at most two pages per axis and three",
        "baseline-record hints are carried); a refused settlement refuses the whole instruction (the fleet stays",
        "Idle). Before activation the legacy pricing is unchanged."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The `Fleet`(crate.state.Fleet) account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimStakeInstance",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The claim stake instance"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "celestialBody",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The CelestialBody account containing the claim stake"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character for gating cargo category access at start"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "crewBinding",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpAccrual",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Building XP ledger (spec §5): REQUIRED by `Game.version == v1` (fail closed) and",
            "rejected on legacy games. Appended after every pre-existing account so legacy",
            "transactions keep their positional prefix. This instruction carries no System",
            "program, so the ledger must already exist (any settle / place / finalize /",
            "production call creates it)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's rent-catalog PDA (REQUIRED; never created = Disabled)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentAuthority",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The stake's settlement-authority PDA (REQUIRED; never created = never evaluated)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentGridHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's GRID source head (required iff the catalog is Active)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentLevelHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's system LEVEL source head (required iff the catalog is Active)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentDefHead",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The stake's definition DEF source head (required iff the catalog is Active)."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "e20a781bb85da045",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the profile permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "toLoad",
          "docs": [
            "The items to transfer from the claim stake instance to the fleet"
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "cargoId"
                },
                {
                  "kind": "numberTypeNode",
                  "format": "u64",
                  "endian": "le"
                }
              ]
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "toUnload",
          "docs": [
            "The items to transfer from the fleet to the claim stake instance"
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "cargoId"
                },
                {
                  "kind": "numberTypeNode",
                  "format": "u64",
                  "endian": "le"
                }
              ]
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "rentHints",
          "docs": [
            "Rent Option B: the GRID / LEVEL / DEF baseline-record indices at `max(paid_clock, activation_time)`",
            "(read only under an Active catalog)."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 3
            }
          }
        }
      ],
      "remainingAccounts": [
        {
          "kind": "instructionRemainingAccountsNode",
          "docs": [
            "At most two history pages per axis (under an Active catalog)."
          ],
          "value": {
            "kind": "argumentValueNode",
            "name": "rentPages"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "startCraftingProcess",
      "docs": [
        "Initializes and starts new crafting process at a starbase.",
        "",
        "Logic overview:",
        "- Check that the ProfileValidation has `SagePermissions::DO_CRAFTING`, with scopes either for the starbase or sage",
        "- Check that the profile belongs to the starbase player",
        "- Check that the starbase player is for the starbase, and that the starbase belongs to the game",
        "- Check that the recipe is active and belongs to the game",
        "- Ensure that the tags are matched for the recipe at the starbase",
        "- Compute the recipe duration and required crew, utilizing the crafting hab if provided",
        "- Create a new `CraftingProcess` account",
        "- Transfer all the inputs from the starbase player's cargo pod to the new crafting process",
        "- Transfer crew from the starbase player to the new crafting process"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character account associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The starbase account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The starbase player account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "starbasePlayer",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "5374617262617365506c61796572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "system1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "character2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "system1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "system"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "character2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "character"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "recipe",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The crafting recipe"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "craftingProcess",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The new crafting process"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "craftingHabInstance",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The crafting hab instance (Optional)"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The currency config cache account (Optional; provided when `crafting_hab_instance` is provided)"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "crewBinding",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "crew: Optional per-fleet binding (red-team C1/R13). Positional `Option`",
            "crew: decode ⇒ a pre-crew client that omits this trailing account decodes it as `None`,",
            "crew: every fold below no-ops to identity, and the instruction is byte-identical to today.",
            "crew: Folds read `crew_binding.summary`; build #18 also AUTO-POURS Crafting XP into it once the",
            "crew: craft commits — hence `Mut` (the optional account still decodes via the program-id",
            "crew: sentinel, so Mut stays flag-off-safe). Crafting is starbase-side (no fleet account), so the",
            "crew: resolve below locks on the OWNER profile only — the player picks which fleet's crew staffs it.",
            "Account order is ABI: do not move this field even as newer trailing options are appended."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbaseGovernance",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Required, PDA-bound governance sidecar. The PDA may be uninitialized (default fees), but it",
            "cannot be omitted or replaced with the optional-account sentinel to bypass active policy."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpAccrual",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Building XP ledger (spec §5): REQUIRED by `Game.version == v1` (fail closed) and",
            "rejected on legacy games. Appended after every pre-existing account so legacy",
            "transactions keep their positional prefix."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryHistory",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryPolicy",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryGeneration",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "406c6d3e09808af6",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "quantity",
          "docs": [
            "The input data for the recipe"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "numCrew",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "startMiningAsteroid",
      "docs": [
        "Start mining an asteroid",
        "",
        "Logic overview:",
        "- Check that the profile has DO_MINING permissions",
        "- Check that the fleet belongs to the profile, has normalized crew and is not destroyed",
        "- Refresh the fleet state then ensure it is idle",
        "- Ensure the fleet is withing range of the asteroid",
        "- Ensure the fleet has enough fuel to exit the asteroid",
        "- Start mining"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`](crate::state::Fleet) account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character associated with the profile and game"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "starSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The region tracker account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "asteroid",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`CelestialBody`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "bad7501eaee2d321",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "resources",
          "docs": [
            "Selected resources to mine (canonical ascending order)."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "startMission",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "missionProcess",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The NEW mission process (keypair-funded, closed on terminal call) — clone of `quest_process`."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The owner's character — the in-game ATLAS source (`character.atlas`, the `AtlasBalance` ledger,",
            "per `trade.rs`). Validated against `profile_validation.profile` + `game` (PR#732 house type)."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "starSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The system the starbase-player is in — asserted `== sbp.system`, read `region: Option<RegionId>`",
            "to PIN `MissionProcess.region_id` (never caller-chosen; 10 §2.1 step 6, option a)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "missionVault",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The per-mission escrow PDA, seeds `(b\"MissionVault\", mission_process.key)`."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardPool",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The emissions-fed treasury this mission's WIN draws from — pinned into the process."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "stakeFleet",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "(v1: ATLAS-only) Reserved for a future on-chain RESOURCE stake. StartMission rejects",
            "`stake_resource_qty > 0` in v1, so this trailing optional account is currently always omitted; it is",
            "kept in the set for forward-compatibility once the stake-return path is designed. Validated against",
            "game + owner profile (same arg shape scan.rs uses for its fleet); when None the validate is a no-op."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Phase-2: the region tracker — read-only, to pin the sector's RIGHTFUL incumbent",
            "(`regions[region_id].owner`) TRUSTLESSLY at start (never a caller arg). Same validate arg shape as",
            "scan.rs's region_tracker."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "outlawFlag",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Phase-2: the actor's OutlawFlag for `base_faction` (APPEND-LAST optional). Omitted (program-id",
            "sentinel) ⇒ not outlaw ⇒ own-faction opposition stays BLOCKED (fail-closed). `AccountValidate`",
            "checks the profile match; the handler re-derives the (profile, base_faction) PDA + key-checks it",
            "(base_faction isn't known at validate). Read-only — `StartMission` only SNAPSHOTS the resolved value."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "dce029192e86fe9d",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "crew",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "duration",
          "type": {
            "kind": "numberTypeNode",
            "format": "i64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "rewardPage",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "rewardXp",
          "docs": [
            "WIDENED u8 -> u16 vs StartQuest (BUILD BLOCKER #0)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "rewardAtlas",
          "docs": [
            "the ATLAS (Floyds) paid on win (the catalog's tier-scaled winAtlas); breaker-capped at settle."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "successBps",
          "docs": [
            "THE committed success target (0..=10000), computed off-chain by `formula.js` (parity)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "sectorWinDelta",
          "docs": [
            "committed sector impacts (off-chain PRE-SCALED; settle folds exactly one into the RegionOrderAnchor)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "i16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "sectorLossDelta",
          "type": {
            "kind": "numberTypeNode",
            "format": "i16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "missionTemplateId",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "lootTableId",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "stakeAtlas",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "stakeResourceId",
          "docs": [
            "0 = no resource stake. Multi-resource stakes pass extra legs as remaining_accounts (vault map)."
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "cargoId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "stakeResourceQty",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "stanceSide",
          "docs": [
            "Phase-2 faction-stance (doc 180): 0=INCUMBENT intent, 1=CHALLENGER intent, 255=NONE (untagged).",
            "Whether this resolves to support/oppose/treason is DERIVED at settle (stance_side × incumbent × base)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "startQuest",
      "docs": [
        "`StartQuest` args. Clones `ContributeToStarbaseUpgrade` (contribute_rs:22-34): the profile",
        "`key_index`, the crew count to reserve, and the quest parameters (duration + the flat",
        "reward). `crew` is the number reserved Busy (the engine's `num_crew`)."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "questProcess",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The NEW quest process account (created here, closed on a terminal call). Init+Signer,",
            "exactly as the upgrade process (contribute_rs:66-68); `Create(())` because it is a",
            "keypair account (not a PDA) — the process's own key is its sequence id (state-slice",
            "quest_rs note)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program."
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "d4b54f2cc8f20d69",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the player profile."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "crew",
          "docs": [
            "the number of crew to reserve Busy for this quest (the engine's `num_crew`)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "duration",
          "docs": [
            "the quest duration in seconds (`end_time = now + duration`)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "i64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "rewardXp",
          "docs": [
            "the flat XP reward poured on completion (credited as XP toward perk-point milestones,",
            "NOT a direct perk-point mint — PR #732 fourth review; saturated at `PERK_POINTS_MAX`)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "rewardPage",
          "docs": [
            "the roster page the reward must land on (PR #732 third review). The owner pins it here",
            "(they sign `StartQuest`); `CompleteQuest` credits EXACTLY this page of the owner's",
            "character, so a permissionless cranker can neither omit the roster nor steer the payout",
            "to a dust page. Ignored when `reward_xp == 0`."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "startScanLootProfileUpload",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanLootProfileUpload",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "14dad340921a1457",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "regionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedAnchorCount",
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedRowCount",
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "baseRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedContentHash",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 32
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "riskValueMultiplierBps",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "startScanPatternNoiseMapUpload",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanPattern",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanPatternNoiseMapUpload",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "05a6bb7501b2b95a",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "scanPatternId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "scanPatternId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedLen",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "startShipDefinitionUpload",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "shipDefinitionUpload",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "mint",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "fd246de33a92a898",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "shipId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "shipId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "ship",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "shipSized"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedResearchLen",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedComponentLen",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "startSubwarp",
      "docs": [
        "Start subwarp fleet movement",
        "",
        "Logic overview:",
        "- Check that the profile has MOVE_FLEET permissions",
        "- Check that the fleet belongs to the profile, has normalized crew and is not destroyed",
        "- Refresh the fleet state then ensure it is idle",
        "- Calculate subwarp distance, duration & expected fuel expenditure",
        "- Start the subwarp movement"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The user's Character account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The `Fleet`(crate.state.Fleet) account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The region tracker account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "crewBinding",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudget",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "c068c5281e279b30",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "toCoordinate",
          "docs": [
            "The destination coordinates"
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 2
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "startRegionId",
          "docs": [
            "Optional: The region the fleet is currently in (client-provided for O(E) verification",
            "instead of O(total_regions) lookup). If provided, verified with region.contains(location)."
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "regionId"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "destRegionId",
          "docs": [
            "Optional: The region the destination is in (client-provided for O(E) verification).",
            "Required if the path crosses deep space to avoid O(total_regions) lookup."
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "regionId"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "stepRentSettlement",
      "docs": [
        "Advances the active evaluation by at most `budget` segment units (the first call initializes from the",
        "verified baseline-record `hints`). Permissionless. The remaining accounts are the history pages this step",
        "needs (at most [`MAX_RENT_STEP_PAGES`], any axis order); a needed page that exists but is not presented",
        "fails the step — it is never mistaken for the end of the history."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "catalog",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "stake",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "authority",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "eval",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "gridHead",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "levelHead",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "defHead",
          "isWritable": false,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "4eaeac7fd8310e9e",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "nonce",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "budget",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "hints",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 3
            }
          }
        }
      ],
      "remainingAccounts": [
        {
          "kind": "instructionRemainingAccountsNode",
          "value": {
            "kind": "argumentValueNode",
            "name": "pages"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "stopMiningAsteroid",
      "docs": [
        "Stop mining an asteroid",
        "",
        "Logic overview:",
        "- Check that the profile has DO_MINING permissions",
        "- Check that the fleet belongs to the profile, has normalized crew and is not destroyed",
        "- Ensure the fleet is mining the asteroid",
        "- Resolve the mining state",
        "- Check that the asteroid is in the star_system",
        "- Refresh the fleet state  (resolve's mining)",
        "- If fleet is idle then return",
        "- Otherwise ensure fleet is mining and then stop mining",
        "- Decrement miner count on asteroid"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The `Fleet`(crate.state.Fleet) account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "asteroid",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The `CelestialBody` account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "crewBinding",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudget",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "b54d2da3671bd351",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "stopSubwarp",
      "docs": [
        "Stop subwarp fleet movement",
        "",
        "Logic overview:",
        "- Check that the profile has MOVE_FLEET permissions",
        "- Check that the fleet belongs to the profile, has normalized crew and is not destroyed",
        "- Refresh the fleet state",
        "- If fleet is idle then return",
        "- Otherwise ensure fleet is subwarping and stop the subwarp movement"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The user's Character account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`](crate::state::Fleet) account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The region tracker account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudget",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "963a030006cf772e",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "submitEpochVote",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "starbasePlayer",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "5374617262617365506c61796572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "system1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "character2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "system1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "system"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "character2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "character"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "governance",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "voterPower",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "delegation",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimState",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "epochVote",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerFactionAccount",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Required only for dynamic controlling factions; validates their active operator profile."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "1561badf93bdf9f8",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "params",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "governanceParams"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "sweepExpiredCombatRewardLoot",
      "docs": [
        "Return expired, unclaimed reward-issued cargo to the global reward reserve. Ordinary carried-cargo",
        "Loot is never swept by this instruction."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "loot",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "lootCreator",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Original Loot creator; receives rent if all ordinary/reward items are gone."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "80cf7806156f2aa1",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "sweepExpiredLoyaltyAtlasBank",
      "docs": [
        "Return an expired persistent-bank balance to its faction treasury. Non-expiring banks cannot sweep."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profile",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "bank",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "a6ff135e3224b41f",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "factionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "sweepLoyaltyEpoch",
      "docs": [
        "Close settlement after the deadline and return any legacy prepaid reserve to its faction treasury."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "epoch",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "213ad966f3e7b77e",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "factionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "epochIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "syncCharacter",
      "docs": [
        "Advances a stale Character staging account toward the current research and",
        "XP definitions.",
        "",
        "This is permissionless because the transition is deterministic: it only",
        "rebuilds modifiers from the Character's existing unlocked nodes and the",
        "authenticated Game definitions. It never unlocks nodes or changes earned or",
        "spent XP. The live Character is updated only after the staged rebuild is",
        "complete, so gameplay can never observe partial modifiers."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "Permissionless cranker. Pays missing Character or staging-account rent;",
            "existing rent surplus is never refunded to the cranker."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Character to advance. Raw validation intentionally avoids the eager,",
            "unbounded sync performed by `ValidatedCharacter`."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "characterSync",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "PDA accumulator for the bounded rebuild. Created on the first call,",
            "reused by intermediate calls, and closed into the Character on commit."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Game whose research and XP definitions are authoritative."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Solana System program used when the staging PDA must be created."
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "1cdc3d263e42d443",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "maxSteps",
          "docs": [
            "Maximum unlocked research-node levels to replay in this transaction."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "syncFleetWithGame",
      "docs": [
        "Syncs a fleet with the game, recalculating ship counts and stats based on the latest ship definitions",
        "stored in the [`Game`] account."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The fleet to update"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "7f46a7f3c8f42f0f",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "syncStarbaseCargoWithGame",
      "docs": [
        "Implements the `SyncStarbaseCargoWithGame` instruction.",
        "",
        "Syncs a starbase player with the game, recalculating cargo based on the latest cargo definitions",
        "stored in the [`Game`] account."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The starbase player to update"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "7d8a475f7608efe4",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "theOneFleetStateHandler",
      "docs": [
        "Update fleet state",
        "",
        "Logic overview:",
        "- Check that the fleet belongs to the game and is not destroyed",
        "- Refresh the fleet state"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "funder",
          "isWritable": true,
          "isSigner": true,
          "docs": [
            "The funder for any Solana rent payments."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The fleet."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The [`StarSystem`] at which the fleet will exit respawn",
            "Must be provided only if fleet is respawning"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "asteroid",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The asteroid that the fleet is mining",
            "Must be provided only if fleet is mining"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The character that the fleet is controlled by",
            "Must be provided only if fleet is controlled by a character"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Optional rent-transfer program. Preserve the trailing System Program used",
            "by existing callers before appending the XP runtime accounts."
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudget",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The controlling Character's writable XP budget; required for XP awards on v1 games."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The game's XP config; required for XP awards on v1 games."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "724dfc1b34a1029c",
            "encoding": "base16"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "tradeEncounter",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The trading fleet — crew normalized at validation; cargo is delivered to / taken from its hold."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "encounterMarket",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The player's open market (game-scoped; owner re-checked in the handler). Offer qtys decrement here."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The treasury this market settles against (bound match re-checked in the handler). Value moves here."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionStanding",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The signer's `(game, profile, faction)` standing PDA (created via `InitFactionStanding`); credited here."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Per-game reputation dials (`[FactionConfig, game]`): supplies `standing_bps` + the decay/DR/cap."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionEpochMeter",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Per-faction aggregate emission meter (`[FactionEpochMeter, game, faction]`): the anti-sybil cap."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "377fd3651482658c",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "Index into the signer profile's key set (proves SCAN authority over the character/fleet)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "offerIndex",
          "docs": [
            "Which `LiveOffer` of the market to fill."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "quantity",
          "docs": [
            "Requested units. Bounded by the offer's remaining qty, then capped by stock (buy) or holdings (sell)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "playerBuys",
          "docs": [
            "`true` = player buys from the NPC (Ask leg); `false` = player sells to the NPC (Bid/faucet leg)."
          ],
          "type": {
            "kind": "booleanTypeNode",
            "size": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "tradeFactionMarket",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The anchoring star system; must contain a starbase (supplies the dock `seq_id` + the market's 3rd seed)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The DOCK gate — the player must have an undestroyed docked presence at this starbase (matches",
            "`ManageLocalMarketOrder`, NOT the encounter's fleet-idle-at-sector check)."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "starbasePlayer",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "5374617262617365506c61796572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "system1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "character2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "system1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "system"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "character2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "character"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The trading fleet — crew normalized at validation; cargo is delivered to / taken from its hold."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionMarket",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The faction market (game-scoped; PDA + starbase binding re-checked in the handler). Offer qtys",
            "decrement here; the in-trade restock rewrites the list in place (same count, no realloc)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The faction's one treasury (PDA re-derived from the market's `faction_id`). All value moves here; a",
            "Bid that supplies a not-yet-stocked cargo reallocs its `reserves` map (hence `NormalizeRent`, as in",
            "`FundFactionTreasuryCargo`)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionStanding",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The signer's `(game, profile, faction)` standing PDA (created via `InitFactionStanding`); read for the",
            "access band, credited on the SELL leg."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Per-game reputation dials (`[FactionConfig, game]`): the decay/DR/aggregate-cap bundle."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionEpochMeter",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Per-faction aggregate emission meter (`[FactionEpochMeter, game, faction]`): the anti-sybil cap."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "08e8ac347836961e",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "Index into the signer profile's key set (proves `MANAGE_LOCAL_MARKET_ORDERS` over the character/fleet)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "offerIndex",
          "docs": [
            "Which `LiveOffer` of the market to fill."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "quantity",
          "docs": [
            "Requested units. Bounded by the offer's remaining qty, then capped by sellable stock (buy) or",
            "holdings (sell)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "playerBuys",
          "docs": [
            "`true` = player buys from the faction (Ask leg); `false` = player sells to the faction (Bid/faucet)."
          ],
          "type": {
            "kind": "booleanTypeNode",
            "size": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "transferCargoToFleet",
      "docs": [
        "Transfers cargo to/from a `Fleet`",
        "",
        "Logic overview:",
        "- Check that the profile has MANAGE_FLEET_CARGO permissions",
        "- Check that the star_system and matches the profile faction",
        "- Check that the starbase_player belongs to the profile and is paired with the star_system",
        "- Ensure that the StarbasePlayer and StarSystem accounts are valid",
        "- Check that the fleet belongs to the profile and is not destroyed and has normalized crew",
        "- Ensure that the fleet is docked at the star_system",
        "- Transfer the selected cargo from the starbase_player pod to the fleet"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`](crate::state::Fleet) account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character for gating cargo category access"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "7f1d3584a878630e",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "ammoBank",
          "docs": [
            "the amount to deposit or withdraw from the fleet's ammo bank",
            "use a negative value to withdraw ammo"
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "fuelTank",
          "docs": [
            "the amount to deposit or withdraw from the fleet's fuel tank",
            "use a negative value to withdraw fuel"
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "cargoHold",
          "docs": [
            "the cargo to deposit or withdraw from the fleet's cargo hold"
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "fleetCargoHoldInput"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "transferCargoWithinFleet",
      "docs": [
        "Transfers cargo within a `Fleet`",
        "",
        "Logic overview:",
        "- Check that the profile has MANAGE_FLEET_CARGO permissions",
        "- Ensure that the fleet is either idle, docked, or in a claim stake transfer",
        "- Check that the fleet belongs to the profile and is not destroyed and has normalized crew",
        "- Transfer cargo between the selected fleet cargo pods"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`](crate::state::Fleet) account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "c96d29db3934b417",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "amount",
          "docs": [
            "cargo amount"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "cargoPodTo",
          "docs": [
            "the cargo pod to deposit to"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "fleetCargoPod"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "cargoPodFrom",
          "docs": [
            "the cargo pod to deposit from"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "fleetCargoPod"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "cargoId",
          "docs": [
            "the cargo type id"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "transferFactionOwnership",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionOwnership",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Live StarSystem to re-witness `captured_seq_id` from (the stale-sidecar recovery lever, spec MD-P4-6).",
            "REQUIRED for a STARBASE asset and must BE the asset's system; omit for FLEET/REGION (witness preserved).",
            "Re-witnessing here (rather than trusting an admin-supplied seq) removes the brick-the-capture footgun."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardRegistry",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardConfig",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "kingTracker",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryHistory",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryPolicy",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryGeneration",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "7da2ca27da37d2ce",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "assetKind",
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "assetKey",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 32
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "transferFactionOwnershipArgs"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "unbindCrew",
      "docs": [
        "`UnbindCrew` args. Identifies the crew by `crew_asset_id` (stable identity, master R-S1) —",
        "the handler locates its index in the roster List, so a client never passes a raw index",
        "that could race the List order."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The caller's `Character` — the crew-roster OWNER anchor (PR #732 second review)."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "roster",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "13778a96dc625c92",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "crewAssetId",
          "docs": [
            "The crew cNFT asset id to unbind."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 32
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "pageIndex",
          "docs": [
            "The roster page the crew lives on."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "unequipGear",
      "docs": [
        "`UnequipGear` args — clear one physical slot, returning the item to escrow."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The caller's `Character` — the crew-roster OWNER anchor (PR #732 second review)."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "roster",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "3a21f6aaba8a3de2",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "crewAssetId",
          "docs": [
            "The crew (by asset id) to unequip from."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 32
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "slotIdx",
          "docs": [
            "The physical slot index to clear (`0..GEAR_SLOTS`)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "pageIndex",
          "docs": [
            "The roster page the crew lives on."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "unloadFleetCrew",
      "docs": [
        "Unload crew from a fleet",
        "",
        "1. Ensure the caller of this instruction has crew permissions on the player's profile",
        "2. Ensure that the StarbasePlayer and Starbase accounts are valid",
        "3. Ensure that the fleet is docked",
        "4. Decrement the required crew count on the fleet",
        "5. Increment the crew count on the `StarbasePlayer` account",
        "6. Ensure any rented crew are still on board"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`](crate::state::Fleet) account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "675f2a554f904720",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "count",
          "docs": [
            "passenger count"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "unloadFleetCrewRoster",
      "docs": [
        "`UnloadFleetCrewRoster` args — symmetric to `LoadFleetCrewRoster`."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The `Fleet` account (fleet_crew_rs:38-43)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The caller's `Character` — the crew-roster OWNER anchor (PR #732 second review).",
            "Validated against the signer's profile + game; a supplied roster must then BE this",
            "character's `(character, page_index)` PDA, so loading ANOTHER player's crew into",
            "this fleet (and stealing their bonuses into the binding) is impossible."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "roster",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The crew roster page holding the named individuated crew. Append-last optional."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "crewBinding",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "50a3bae6c214834b",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "count",
          "docs": [
            "passenger count (fungible quantity; fleet_crew_rs:114-119 preserved)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "crewAssetIds",
          "docs": [
            "The specific crew (by asset id) to flip `OnFleet → AtStarbase`. Empty ⇒ fungible-only."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "pageIndex",
          "docs": [
            "the roster page the named crew live on."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the player profile."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "unlockPerk",
      "docs": [
        "`UnlockPerk` args — slot one perk on one crew at a tier."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account — both the `crew_config` flag gate AND the `crew_perk_definitions`",
            "catalogue the perk id resolves against."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The caller's `Character` — the crew-roster OWNER anchor (PR #732 second review)."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "roster",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "e388cd5af9df3431",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "crewAssetId",
          "docs": [
            "The crew (by asset id) to unlock the perk on."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 32
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "perkId",
          "docs": [
            "The catalogue perk id (key into `Game.crew_perk_definitions`; `0` rejected)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "tier",
          "docs": [
            "The tier to slot the perk at (`>= 1`; magnitude is `mag_per_tier × tier`)."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "pageIndex",
          "docs": [
            "The roster page the crew lives on."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "unlockResearchNode",
      "docs": [
        "Unlocks the specified research node for the character, paying the cost and updating the character",
        "modifiers."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The character associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The starbase player for [`Self::character`]"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "starbasePlayer",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "5374617262617365506c61796572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "system1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "character2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "system1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "system"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "character2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "character"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The system for [`Self::starbase_player`]"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "f42f83484ef65e26",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "nodeId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "researchNodeId"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateAtlasRewardConfig",
      "docs": [
        "Create a new immutable config version from a partial patch and activate it next epoch."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "registry",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "baseConfig",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "newConfig",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "55d6be2cab05d9ce",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "baseConfigVersion",
          "docs": [
            "Must be the active config, or the pending config when revising an update before activation."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "newConfigVersion",
          "docs": [
            "Must equal `registry.latest_config_version + 1`."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "allowOutstandingMedallionReprice",
          "docs": [
            "Explicitly accept repricing every outstanding token when the medallion cargo id is unchanged."
          ],
          "type": {
            "kind": "booleanTypeNode",
            "size": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "partial",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "atlasRewardConfigPartial"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateBuildingDefinition",
      "docs": [
        "Input data for registering or updating a building definition"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "a54d5d7cd0280534",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the profile permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "buildingSized",
          "docs": [
            "The sized portion of the building definition to register or update"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "buildingDefinitionSized"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "buildingUnsized",
          "docs": [
            "The unsized inputs for the building definition"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "buildingDefinitionUnsizedInputs"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateCargoType",
      "docs": [
        "Implements the UpdateCargoType instruction which modifies existing cargo type properties.",
        "",
        "This instruction allows authorized administrators to update properties of cargo types.",
        "Storage cost changes trigger sequence ID increments for cost calculation updates.",
        "",
        "# System Context",
        "Enables adjustment of cargo type definitions as game requirements evolve."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "cargoCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The cargo definitions cache account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "e722620dca1051aa",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "cargoTypes",
          "docs": [
            "The cargo types to update"
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "cargoTypeUpdate"
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "Index of the key in the profile with cargo management permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "remainingAccounts": [
        {
          "kind": "instructionRemainingAccountsNode",
          "value": {
            "kind": "argumentValueNode",
            "name": "mints"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateCelestialBody",
      "docs": [
        "Struct for data input to Update CelestialBody"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "body",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`CelestialBody`] account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "24202e0e8f3cfe90",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the profile permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "updateCelestialBodyArgs"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "removeUnlistedResources",
          "docs": [
            "If true (default), resources not in the update list will be removed.",
            "If false, existing resources not in the update list will be preserved,",
            "allowing incremental resource addition across multiple transactions."
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "booleanTypeNode",
              "size": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateClaimStakeDefinition",
      "docs": [
        "Input data for updating a claim stake definition"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's rent catalog PDA (REQUIRED, may be uninitialized = Disabled)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentHead",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "This definition's DEF source-head PDA (REQUIRED, may be uninitialized = a legacy source)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCurrentPage",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The page holding the head's latest record (required iff the head exists)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentNextPage",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The following page, created on demand (required iff the head exists)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program (history page creation)."
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "40451aeda8620a6f",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the profile permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "claimStakeDefinitionId",
          "docs": [
            "Also a validate arg: it derives the DEF source-head seeds."
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "claimStakeDefinitionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "claimStakeDefinitionSized",
          "docs": [
            "The claim stake definition to update"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "claimStakeDefinitionSized"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "claimStakeDefinitionUnsized",
          "docs": [
            "The unsized inputs for the claim stake definition"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "claimStakeDefinitionUnsizedInputs"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateClaimStakeRuntimeConfig",
      "docs": [
        "Input data for updating claim-stake runtime config."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game account."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "69e832c3b10b90cc",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the profile permissions."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "evictionGracePeriod",
          "docs": [
            "The amount of time a claim stake is immune to eviction after rent runs out."
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "respawnTime",
          "docs": [
            "Time taken for claim stakes to respawn when a starbase is destroyed."
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateCombatStimulantDefinition",
      "docs": [
        "Creates or replaces a combat stimulant definition on the Game config."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "48457151ffb9cdf2",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "stimCargoId",
          "docs": [
            "Cargo id of the stimulant item this definition describes."
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "cargoId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "effects",
          "docs": [
            "One to three effects applied when this stimulant is consumed."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "stimEffect"
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateCraftingHabDefinition",
      "docs": [
        "Input data for updating a crafting hab definition"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "68a9b10b7c00fcd5",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "craftingHabDefinitionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "craftingHabDefinitionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "craftingHabDefinitionSized",
          "docs": [
            "The crafting hab definition to update"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "craftingHabDefinitionSized"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "craftingHabDefinitionUnsized",
          "docs": [
            "The unsized inputs for the crafting hab definition"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "craftingHabDefinitionUnsizedInputs"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateCraftingHabRuntimeConfig",
      "docs": [
        "Input data for updating crafting-hab runtime config."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game account."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "51ffd3cc480d8f99",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the profile permissions."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "evictionGracePeriod",
          "docs": [
            "The amount of time a crafting hab is immune to eviction after rent runs out."
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "respawnTime",
          "docs": [
            "Time taken for crafting habs to respawn when a starbase is destroyed."
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateFaction",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionAccount",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "aafbf3e0da7a3714",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "nameHash",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 32
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "contentUriHash",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 32
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "homeRegion",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "maxAllies",
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateGame",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "crewConfigAccount",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "atlasMint",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "atlasVault",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "atlasDaoVault",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "polisMint",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "polisVault",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "polisDaoVault",
          "isWritable": false,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "9f3d848303ead1dc",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the profile permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "resources",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "resourcesPartial"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "combatConfig",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "combatConfigPartial"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "crewConfig",
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "publicKeyTypeNode"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "atlasConfig",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "updateCurrencyArgs"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "polisConfig",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "updateCurrencyArgs"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateHabBuildingDefinition",
      "docs": [
        "Input data for updating a hab building definition"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "c248e7008f10aa1e",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the profile permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "habBuildingDefinitionSized",
          "docs": [
            "The hab building definition to update"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "habBuildingDefinitionSized"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "habBuildingDefinitionUnsized",
          "docs": [
            "The unsized inputs for the hab building definition"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "habBuildingDefinitionUnsizedInputs"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updatePlanetTables",
      "docs": [
        "Struct for data input to update the plot, rent rate, and placement fee tables for the `CelestialBody`"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The system in which the planet is located"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "body",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`CelestialBody`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Rent Option B: the game's rent catalog PDA (REQUIRED, may be uninitialized = Disabled). Its state",
            "gates the rent field — the account is derived from the game, so it cannot be omitted or swapped."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentGridHead",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Rent Option B: this planet's GRID source-head PDA (REQUIRED, may be uninitialized). Once it exists the",
            "rent field is retired for this planet — the history-appending `SetPlanetRentGrid` is its only grid",
            "writer, so the history always equals the live grid."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "fda82c5160f9de54",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "updatePlanetTablesArgs"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the profile permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateRecipe",
      "docs": [
        "Updates a [`Recipe`] account.",
        "",
        "Logic overview:",
        "- Checks that the ProfileValidation has `SagePermissions::MANAGE_RECIPE`",
        "- Checks that the `Recipe` account belongs to the game and has the status [`RecipeStatus::Active`]",
        "- Updates the `Recipe` account based on the [`Self::input`]"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "recipe",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The recipe to be created"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "4f768fed4424f20f",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "input",
          "docs": [
            "The input data for the recipe"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "updateRecipeInputData"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateRegion",
      "docs": [
        "Updates an existing region in the game map.",
        "",
        "This instruction modifies properties of an existing region in the region tracker. It",
        "performs authorization checks, ensures the region exists, and updates only the",
        "properties that are explicitly provided in the instruction arguments.",
        "",
        "The update can modify any combination of: authored risk tier, border, connections,",
        "research requirements, and XP modifier. Any field not provided will remain unchanged.",
        "When the border changes, it is snapped to the tracker's grid",
        "(`grid_k`) and geometric path adjacency (`neighbors_by_edge`) is rebuilt. Dynamic",
        "safety and effective risk are derived from warp-lane `connections`, not polygon",
        "contact.",
        "",
        "# Fields",
        "* `id` - Unique identifier for the region to update",
        "* `risk_zone` - Optional new risk zone",
        "* `connections` - Optional new region-level projection of cross-region warp lanes",
        "* `border` - Optional new region border coordinates",
        "* `scanning_research_requirements` - Optional new technology requirements for scanning",
        "* `mining_research_requirements` - Optional new technology requirements for mining",
        "* `xp_modifier` - Optional new XP modifier",
        "* `key_index` - Index of the key in the profile with region management permissions",
        "",
        "# System Context",
        "This instruction is part of the spatial management system that enables universe navigation.",
        "It allows for dynamic map changes as the game evolves, affecting gameplay elements such as",
        "faction territory control, safe/unsafe zones, and resource availability."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Region tracker account storing all regions"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "kingTracker",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "329a3da683415c14",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "id",
          "docs": [
            "Unique identifier for the region to update"
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "Index of the key in the profile with region management permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "updateRegionArgs"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateResearchTreeNodes",
      "docs": [
        "Updates or adds research nodes to the research tree for a game."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game account to be updated"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "e3a5cab7f4a08a8d",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "nodes",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "updateResearchNodeInput"
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateResearchTreeNodesChecked",
      "docs": [
        "Atomically updates research-tree nodes only when the live tree sequence matches the caller's",
        "finalized snapshot. This additive instruction is the compare-and-swap surface for bounded",
        "multi-transaction migrations; the legacy unchecked admin instruction remains ABI-compatible."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game account to be updated"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "b8eaa5261dd1e4df",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedSequence",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "nodes",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "updateResearchNodeInput"
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateScanLootProfile",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanLootProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanLootProfileUpload",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "429991e5c682dad0",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "regionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "status",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "scanPatternStatus"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateScanPattern",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanPattern",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "2ada841f9dd4a232",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "updateScanPatternArgs"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateScanPatternPolicy",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "scanPatternPolicy",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "e24bbe0f3dad0230",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "scanPatternId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "scanPatternId"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "expectedRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "values",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "scanPatternPolicyValues"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateShipDefinition",
      "docs": [
        "Creates or updates a ship in `Game`'s [`ShipDefinitions`](crate::state::ShipDefinitions)",
        "",
        "# Logic overview",
        "1. Run the account set validations on [`UpdateShipDefinitionAccounts`]",
        "2. Apply the full ship definition in one operation (atomic from the caller perspective)",
        "3. Increment the ship definitions sequence id exactly once"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game account for which the ship definitions are being updated"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Solana System program for account creation"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "mint",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The mint of the ship to create. None if updating an existing ship."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "3fe6ea6aefb3c6e9",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The key index on the profile with [`SagePermissions::MANAGE_SHIP`] permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "ship",
          "docs": [
            "New values for the ship. [`ShipSized::id`] is the ship to update if it exists."
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "shipSized"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "requirements",
          "docs": [
            "New requirements for the ship."
          ],
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "shipUnsizedInput"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "clearExisting",
          "docs": [
            "If true (default), existing requirements are cleared before adding new ones.",
            "If false, new requirements are appended to existing ones."
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "booleanTypeNode",
              "size": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateStarSystem",
      "docs": [
        "Updates an existing star system.",
        "",
        "Logic overview:",
        "- Require MANAGE_SYSTEM scope on the profile validation",
        "- Optionally move the system between regions and update core status",
        "- Apply provided name and coordinate changes to the stored system data",
        "- Rebuild the connection map after validating each referenced system"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Region tracker containing the system's region"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "kingTracker",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "Star system account to be updated"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "98da86a4b4ff6f18",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "updateStarSystemArgs"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "Index of the key in the profile with system management permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "remainingAccounts": [
        {
          "kind": "instructionRemainingAccountsNode",
          "value": {
            "kind": "argumentValueNode",
            "name": "connectionSystems"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateStarbase",
      "docs": [
        "Struct for data input to Update `Starbase`"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardRegistry",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "rewardConfig",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "kingTracker",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionOwnership",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The Solana System program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCatalog",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game's rent catalog PDA (REQUIRED, may be uninitialized = Disabled)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentHead",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "This system's LEVEL source-head PDA (REQUIRED, may be uninitialized = a legacy source)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentCurrentPage",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The page holding the head's latest record (required iff the head exists)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "rentNextPage",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "The following page, created on demand (required iff the head exists)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryHistory",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryPolicy",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyHistoryGeneration",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "democracyFactionOwnership",
          "isWritable": false,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "4e9268a66f925f1c",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "updateStarbaseArgs"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the profile permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "remainingAccounts": [
        {
          "kind": "instructionRemainingAccountsNode",
          "docs": [
            "Required only when this update LOWERS `starbase.level`: EVERY celestial body registered in",
            "`system.celestial_bodies`, each exactly once, in any order. A downgrade never evicts (it does not",
            "bump `built_destroyed_timestamp`), so it is refused while any plot above the new level is occupied —",
            "on any planet of the system, loaded or not. Ignored when the level does not decrease."
          ],
          "value": {
            "kind": "argumentValueNode",
            "name": "celestialBodies"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateStarbaseDelegation",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "starbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "starbasePlayer",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "5374617262617365506c61796572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "system1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "character2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "system1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "system"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "character2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "character"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "governance",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "treasury",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "voterPower",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "delegation",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "claimState",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "ownerFactionAccount",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true,
          "docs": [
            "Required only for dynamic controlling factions; validates their active operator profile."
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "46074b2f9fa9566b",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "pendingAmount",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "diplomatCrew",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateStarbaseTables",
      "docs": [
        "Struct for data input to update the plot, rent rate, and placement fee tables for the `Starbase`"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "system",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "65f2573941abc159",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "args",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "updateStarbaseTablesArgs"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "the index of the key in the profile permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateVoterPower",
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "voterPower",
          "isWritable": true,
          "isSigner": false
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "677558465316f1c2",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "pvpAmount",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateXpBudgetConfig",
      "docs": [
        "Writes the per-game v1 XP runtime configuration (`xp_config_v1`): the",
        "six track budgets AND the six earning rules, as one full parameter set.",
        "",
        "Admin-gated (`MANAGE_GAME`); the canonical game-scoped config PDA is",
        "created on first update. It must exist before `ActivateXpMigration`, and",
        "every v1 XP write requires it: the program never substitutes defaults."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account being configured."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The canonical budget-config PDA. Created on first update."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Solana System program used when the config PDA must be created."
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "11111111111111111111111111111111"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "33ec38166b72bf0f",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "params",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "xpBudgetParams"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 6
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "rules",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "xpEarningRulesV1"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateXpCheckInConfig",
      "docs": [
        "Updates the daily check-in configuration for XP rewards in a game."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game account to be updated"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "9f818883adb97f9b",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "config",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "dailyCheckInConfig"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateXpRenownConfig",
      "docs": [
        "Updates Council Rank renown generation config for a game."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game account to be updated"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "af6806c057e5b11d",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "config",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "renownConfig"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "updateXpThresholds",
      "docs": [
        "Updates the xp thresholds for a game.",
        "",
        "This will attempt to modify the list in place, starting with [`Self::starting_level`] through the number of thresholds provided.",
        "This will append additional thresholds to the list if there are not enough to modify in place."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game account to be updated"
          ]
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "312a86cc02b88a82",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "startingLevel",
          "docs": [
            "The starting level to update from"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "truncate",
          "docs": [
            "If true, the list will be truncated to the starting level plus the new levels added"
          ],
          "type": {
            "kind": "booleanTypeNode",
            "size": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "thresholds",
          "docs": [
            "The new xp thresholds to set"
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "xpLevelThresholdInfo"
            },
            "count": {
              "kind": "prefixedCountNode",
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              }
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "warpLane",
      "docs": [
        "Start warp lane fleet movement",
        "",
        "Logic overview:",
        "- Check that the profile has MOVE_FLEET permissions",
        "- Check that the fleet belongs to the profile, has normalized crew and is not destroyed",
        "- Refresh the fleet state then ensure it is idle",
        "- Check that the fleet is within range of the starting warp lane connection",
        "- Validate the provide warp lane connections are connected",
        "- Calculate warp lane distance, duration & expected fuel expenditure",
        "- Check that the warp lane movement will not terminate in an enemy safe zone",
        "- Consume fuel",
        "- Start the warp lane movement",
        "- Award distance-based Pilot XP through the Character's shared movement budget"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character account associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`Fleet`](crate::state::Fleet) account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "fromSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The fleet`s current StarSystem. P3.5: game-scoped only (NOT faction-pinned) so cross-faction lanes",
            "can be passed; the faction/toll decision moves to `process()` behind `cross_faction_economics_enabled`."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "toSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The StarSystem that `Fleet` will move to (game-scoped; see `from_system`)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "factionRelationTracker",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "P3.5 cross-faction warp economics: the per-game relation tracker — the",
            "`cross_faction_economics_enabled` flag, the toll dials, and the relationship lookup. REQUIRED: when",
            "the flag is `0`, cross-faction warp is foreclosed exactly as pre-P3.5 (same-faction warp is unaffected)."
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "Region graph used to enforce the destination's effective risk tier."
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "regionTracker",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "526567696f6e547261636b6572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudget",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "e8bcc3316448e7f3",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "warpToCoordinate",
      "docs": [
        "Start warp fleet movement",
        "",
        "Logic overview:",
        "- Check that the profile has MOVE_FLEET permissions",
        "- Check that the fleet belongs to the profile, has normalized crew and is not destroyed",
        "- Refresh the fleet state then ensure it is idle",
        "- Ensure fleet's warp is not on cool down",
        "- Calculate warp distance, duration & expected fuel expenditure",
        "- Check that the warp distance is within the fleet's warp range",
        "- Set new warp cool down time",
        "- Consume fuel",
        "- Start the warp movement",
        "- Award distance-based Pilot XP through the Character's shared movement budget"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character account associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "fleet",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The `Fleet`(crate.state.Fleet) account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "regionTracker",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The region tracker account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "crewBinding",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudget",
          "isWritable": true,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "xpBudgetConfig",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "573c329af16a4d17",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the player profile"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "destination",
          "docs": [
            "The destination coordinates"
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 2
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "startRegionId",
          "docs": [
            "Optional: The region the fleet is currently in (client-provided for O(E) verification",
            "instead of O(total_regions) lookup). If provided, verified with region.contains(location)."
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "regionId"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "destRegionId",
          "docs": [
            "Optional: The region the destination is in (client-provided for O(E) verification).",
            "Required if the path crosses deep space to avoid O(total_regions) lookup."
          ],
          "type": {
            "kind": "optionTypeNode",
            "item": {
              "kind": "definedTypeLinkNode",
              "name": "regionId"
            },
            "prefix": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "withdrawAtlas",
      "docs": [
        "Withdraws ATLAS from a character account",
        "",
        "Logic overview:",
        "- Check that the profile has MANAGE_CURRENCY permissions",
        "- Check that the character belongs to the profile",
        "- Check that the currency_cache belongs to the game and owns the game_atlas_vault",
        "- Ensure that the requested withdrawal can be completed successfully",
        "- Withdraw the ATLAS from the character balance"
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileValidationProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "character",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The Character account associated with the profile"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "character",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "436861726163746572",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "profileValidationProfile1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game2",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "profileValidationProfile1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "profileValidationProfile"
                }
              },
              {
                "kind": "pdaSeedValueNode",
                "name": "game2",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "gameAtlasVault",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The game's ATLAS vault ATA"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "destination",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The destination token account that will receive ATLAS tokens"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "currencyCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The currency config cache account"
          ],
          "defaultValue": {
            "kind": "pdaValueNode",
            "pda": {
              "kind": "pdaNode",
              "name": "currencyCache",
              "seeds": [
                {
                  "kind": "constantPdaSeedNode",
                  "type": {
                    "kind": "bytesTypeNode"
                  },
                  "value": {
                    "kind": "bytesValueNode",
                    "data": "43757272656e6379436f6e666967",
                    "encoding": "base16"
                  }
                },
                {
                  "kind": "variablePdaSeedNode",
                  "name": "game1",
                  "type": {
                    "kind": "publicKeyTypeNode"
                  }
                }
              ]
            },
            "seeds": [
              {
                "kind": "pdaSeedValueNode",
                "name": "game1",
                "value": {
                  "kind": "accountValueNode",
                  "name": "game"
                }
              }
            ]
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The game account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "tokenProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The spl token program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "557eb8aca03f5959",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "amount",
          "docs": [
            "Amount of ATLAS tokens to withdraw from the character's balance"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    },
    {
      "kind": "instructionNode",
      "name": "withdrawCargoFromGame",
      "docs": [
        "Implements the WithdrawCargoFromGame instruction.",
        "",
        "This instruction allows players to withdraw cargo tokens from their starbase cargo pod",
        "back to their wallet.",
        "",
        "# System Context",
        "Forms part of the cargo economic system by allowing players to extract resources from the game."
      ],
      "accounts": [
        {
          "kind": "instructionAccountNode",
          "name": "profileSigner",
          "isWritable": false,
          "isSigner": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProfile",
          "isWritable": true,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileCertificate",
          "isWritable": false,
          "isSigner": false,
          "isOptional": true
        },
        {
          "kind": "instructionAccountNode",
          "name": "profileProgram",
          "isWritable": false,
          "isSigner": false,
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "C4PRoFNroxxzdgeCoM31LJjYRg7kT6ymogSTAT99iD1u"
          }
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerSystem",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The [`StarSystem`] account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "systemAndStarbasePlayerStarbasePlayer",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The [`StarbasePlayer`] Account"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "game",
          "isWritable": false,
          "isSigner": false
        },
        {
          "kind": "instructionAccountNode",
          "name": "cargoCache",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The CargoDefinitionsCache account that acts as authority and receives rent refunds"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "source",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The source token account containing cargo tokens to withdraw"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "destination",
          "isWritable": true,
          "isSigner": false,
          "docs": [
            "The destination token account that will receive the withdrawn tokens"
          ]
        },
        {
          "kind": "instructionAccountNode",
          "name": "tokenProgram",
          "isWritable": false,
          "isSigner": false,
          "docs": [
            "The SPL Token program"
          ],
          "defaultValue": {
            "kind": "publicKeyValueNode",
            "publicKey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
          }
        }
      ],
      "arguments": [
        {
          "kind": "instructionArgumentNode",
          "name": "discriminator",
          "defaultValueStrategy": "omitted",
          "type": {
            "kind": "fixedSizeTypeNode",
            "size": 8,
            "type": {
              "kind": "bytesTypeNode"
            }
          },
          "defaultValue": {
            "kind": "bytesValueNode",
            "data": "66da5835ffc2183e",
            "encoding": "base16"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "amount",
          "docs": [
            "The amount of cargo tokens to withdraw"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        },
        {
          "kind": "instructionArgumentNode",
          "name": "keyIndex",
          "docs": [
            "The index of the key in the profile permissions"
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ],
      "discriminators": [
        {
          "kind": "fieldDiscriminatorNode",
          "name": "discriminator",
          "offset": 0
        }
      ]
    }
  ],
  "definedTypes": [
    {
      "kind": "definedTypeNode",
      "name": "activeStimulant",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "stat",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "combatStatField"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "deltaBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "chargesRemaining",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "addShipArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "id",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "shipId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "amount",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "ammoUsage",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "none",
            "discriminator": 0
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "light",
            "discriminator": 1
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "heavy",
            "discriminator": 2
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "appendScanPatternNoiseMapsArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "noiseMaps",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "scanNoiseMapBorsh"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activate",
            "type": {
              "kind": "booleanTypeNode",
              "size": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "asteroid",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "resources",
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "definedTypeLinkNode",
                "name": "asteroidResourceState"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "asteroidResourceState",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "richness",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "amountMined",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "miners",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "atlasRewardConfigInitValues",
      "docs": [
        "Compact bootstrap values for `InitAtlasRewardConfig`.",
        "",
        "A full config with all three variable-length tables can exceed Solana's transaction-size ceiling.",
        "Initialization therefore installs the default King curve with empty material/salvage tables and all",
        "sources disabled. Admins populate each table through one or more partial updates before enabling the",
        "final pending version."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "epochLenSecs",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "claimSettlementWindowSecs",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlasBankInactivityExpirySecs",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardLootReclaimSecs",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "factionPoolLever",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pveLpRateBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pvpMedallionRateBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "salvageEvRateBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "repairKitLpRate",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lossModelTargetBps",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u16",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 3
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseDestructionMedallions",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 7
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeMedallion",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "medallionRewardConfig"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "medallionBuybackCapPerEpoch",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardReserveLowBalanceThreshold",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "atlasRewardConfigPartial",
      "docs": [
        "Partial runtime update. Every authored value in [`AtlasRewardConfigValues`] is represented."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "enabled",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "booleanTypeNode",
                "size": {
                  "kind": "numberTypeNode",
                  "format": "u8",
                  "endian": "le"
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "sourceFlags",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u16",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "epochLenSecs",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "claimSettlementWindowSecs",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlasBankInactivityExpirySecs",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardLootReclaimSecs",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "factionPoolLever",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "kingSystemCurve",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "numberTypeNode",
                  "format": "u64",
                  "endian": "le"
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pveLpRateBps",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pvpMedallionRateBps",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "salvageEvRateBps",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "upgradeLpRates",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "definedTypeLinkNode",
                  "name": "upgradeLpRate"
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "repairKitLpRate",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lossModelTargetBps",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "numberTypeNode",
                  "format": "u16",
                  "endian": "le"
                },
                "count": {
                  "kind": "fixedCountNode",
                  "value": 3
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseDestructionMedallions",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "numberTypeNode",
                  "format": "u64",
                  "endian": "le"
                },
                "count": {
                  "kind": "fixedCountNode",
                  "value": 7
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "activeMedallion",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "medallionRewardConfig"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "salvageEntries",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "definedTypeLinkNode",
                  "name": "salvageRewardEntry"
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "medallionBuybackCapPerEpoch",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardReserveLowBalanceThreshold",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "boundingBox",
      "docs": [
        "Axis-Aligned Bounding Box",
        "Meant to store spatial hints for regions to allow cheaper coordinate lookups"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "minX",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxX",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minY",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxY",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "buildingDefinition",
      "docs": [
        "Building definition that specifies capabilities and requirements"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "buildingId",
            "docs": [
              "The cargo type which is used to place the building"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "buildingId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "docs": [
              "Name of the building (fixed length array of 64 bytes)"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "name"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "slots",
            "docs": [
              "Number of plot slots required"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "crewSlots",
            "docs": [
              "Number of crew slots provided"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "neededCrew",
            "docs": [
              "Number of crew needed to operate"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "constructionTime",
            "docs": [
              "Time required for construction (in seconds)"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "power",
            "docs": [
              "Power consumption/generation"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "resourceStorage",
            "docs": [
              "Total resource storage capacity"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "hubValue",
            "docs": [
              "Value when used as a hub"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minimumTier",
            "docs": [
              "Minimum claim stake tier required for placement"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "tier"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xpValue",
            "docs": [
              "XP value of the building"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "refunds",
            "docs": [
              "Refund amount when recycling the building"
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "constructionCost",
            "docs": [
              "Cost to construct the building"
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "researchRequirements",
            "docs": [
              "Research requirements (all required)"
            ],
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "researchTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "netResourceProduction",
            "docs": [
              "Resource production rates per type"
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "i64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "resourceExtraction",
            "docs": [
              "Resource extraction rates per type"
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "requiredTags",
            "docs": [
              "Building tags (must match planet or claim stake tags)"
            ],
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "buildingTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "providedTags",
            "docs": [
              "Building tags provided by the building"
            ],
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "buildingTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "buildingDefinitionSized",
      "docs": [
        "Sized portion of [`BuildingDefinition`]"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "buildingId",
            "docs": [
              "The cargo type which is used to place the building"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "buildingId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "docs": [
              "Name of the building (fixed length array of 64 bytes)"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "name"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "slots",
            "docs": [
              "Number of plot slots required"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "crewSlots",
            "docs": [
              "Number of crew slots provided"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "neededCrew",
            "docs": [
              "Number of crew needed to operate"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "constructionTime",
            "docs": [
              "Time required for construction (in seconds)"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "power",
            "docs": [
              "Power consumption/generation"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "resourceStorage",
            "docs": [
              "Total resource storage capacity"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "hubValue",
            "docs": [
              "Value when used as a hub"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minimumTier",
            "docs": [
              "Minimum claim stake tier required for placement"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "tier"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xpValue",
            "docs": [
              "XP value of the building"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "buildingDefinitionUnsizedInputs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "refunds",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "tupleTypeNode",
                  "items": [
                    {
                      "kind": "definedTypeLinkNode",
                      "name": "cargoId"
                    },
                    {
                      "kind": "numberTypeNode",
                      "format": "u64",
                      "endian": "le"
                    }
                  ]
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "constructionCost",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "tupleTypeNode",
                  "items": [
                    {
                      "kind": "definedTypeLinkNode",
                      "name": "cargoId"
                    },
                    {
                      "kind": "numberTypeNode",
                      "format": "u64",
                      "endian": "le"
                    }
                  ]
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "researchRequirements",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "definedTypeLinkNode",
                  "name": "researchTag"
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "netResourceProduction",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "tupleTypeNode",
                  "items": [
                    {
                      "kind": "definedTypeLinkNode",
                      "name": "cargoId"
                    },
                    {
                      "kind": "numberTypeNode",
                      "format": "i64",
                      "endian": "le"
                    }
                  ]
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "resourceExtraction",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "tupleTypeNode",
                  "items": [
                    {
                      "kind": "definedTypeLinkNode",
                      "name": "cargoId"
                    },
                    {
                      "kind": "numberTypeNode",
                      "format": "u64",
                      "endian": "le"
                    }
                  ]
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "requiredTags",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "definedTypeLinkNode",
                  "name": "buildingTag"
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "providedTags",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "definedTypeLinkNode",
                  "name": "buildingTag"
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "buildingDefinitions",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "seqId",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "buildings",
            "type": {
              "kind": "structTypeNode",
              "fields": [
                {
                  "kind": "structFieldTypeNode",
                  "name": "unsizedLen",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The total size of the unsized bytes in the list"
                  ],
                  "type": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                },
                {
                  "kind": "structFieldTypeNode",
                  "name": "offsetList",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The list of items containing offsets, and potentially extra metadata, for the start of each element in the unsized list"
                  ],
                  "type": {
                    "kind": "arrayTypeNode",
                    "item": {
                      "kind": "structTypeNode",
                      "fields": [
                        {
                          "kind": "structFieldTypeNode",
                          "name": "offset",
                          "type": {
                            "kind": "numberTypeNode",
                            "format": "u32",
                            "endian": "le"
                          }
                        },
                        {
                          "kind": "structFieldTypeNode",
                          "name": "key",
                          "type": {
                            "kind": "definedTypeLinkNode",
                            "name": "buildingId"
                          }
                        }
                      ]
                    },
                    "count": {
                      "kind": "prefixedCountNode",
                      "prefix": {
                        "kind": "numberTypeNode",
                        "format": "u32",
                        "endian": "le"
                      }
                    }
                  }
                },
                {
                  "kind": "structFieldTypeNode",
                  "name": "unsizedList",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The list of byte offsets for the start of each element in the unsized list"
                  ],
                  "type": {
                    "kind": "arrayTypeNode",
                    "item": {
                      "kind": "definedTypeLinkNode",
                      "name": "buildingDefinition"
                    },
                    "count": {
                      "kind": "prefixedCountNode",
                      "prefix": {
                        "kind": "numberTypeNode",
                        "format": "u32",
                        "endian": "le"
                      }
                    }
                  }
                }
              ]
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "buildingId",
      "type": {
        "kind": "tupleTypeNode",
        "items": [
          {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "buildingTag",
      "type": {
        "kind": "tupleTypeNode",
        "items": [
          {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "cancelOrderArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "orderId",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "price",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "cargoCategoryId",
      "type": {
        "kind": "tupleTypeNode",
        "items": [
          {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "cargoDefinitions",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "seqId",
            "docs": [
              "The sequence id of this `CargoDefinitions` account."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cache",
            "docs": [
              "The `CargoDefinitionsCache` for this `CargoDefinitions`"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cargoTypes",
            "docs": [
              "A map of cargo types"
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "definedTypeLinkNode",
                "name": "cargoType"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "mintToId",
            "docs": [
              "A map of mint addresses to cargo types"
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "publicKeyTypeNode"
              },
              "value": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cargoCategoryIds",
            "docs": [
              "A set of cargo category ids"
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoCategoryId"
              },
              "value": {
                "kind": "definedTypeLinkNode",
                "name": "name"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "cargoFlags",
      "docs": [
        "Cargo type classification flags."
      ],
      "type": {
        "kind": "tupleTypeNode",
        "items": [
          {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "cargoId",
      "type": {
        "kind": "tupleTypeNode",
        "items": [
          {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "cargoPod",
      "docs": [
        "Implements a container for multiple cargo types and their quantities.",
        "",
        "CargoPod is an unsized type that manages a collection of different cargo types",
        "and their respective amounts. It tracks the total storage cost of all contained",
        "cargo and provides operations for adding and removing cargo while maintaining",
        "proper accounting of amounts and costs.",
        "",
        "# System Context",
        "CargoPod is a central component of the cargo management system, allowing players",
        "and game entities to store and manage collections of different cargo types.",
        "It automatically handles storage cost accounting when cargo is added or removed."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "seqId",
            "docs": [
              "The sequence identifier of this CargoPod account"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "storageCost",
            "docs": [
              "The total storage cost of all cargo in this pod"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "amounts",
            "docs": [
              "A map of cargo type IDs to their respective quantities"
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "cargoStats",
      "docs": [
        "A ship's cargo stats"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "cargoCapacity",
            "docs": [
              "the capacity of the ship's cargo hold"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "fuelCapacity",
            "docs": [
              "the capacity of the ship's fuel tank"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "ammoCapacity",
            "docs": [
              "the capacity of the ship's ammo bank"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "ammoConsumptionRate",
            "docs": [
              "the amount of ammo consumed per second by the ship when doing non-combat activities e.g. mining"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "foodConsumptionRate",
            "docs": [
              "the amount of food consumed per second by the ship when doing non-combat activities e.g. mining"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "miningRate",
            "docs": [
              "the amount of resources that can be mined by a ship per second"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "loadRate",
            "docs": [
              "the amount of cargo that the ship can load/unload per second"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "cargoType",
      "docs": [
        "Represents a specific cargo type with its properties and constraints.",
        "",
        "# System Context",
        "This structure underpins the cargo system by defining the characteristics",
        "and constraints of each cargo type in the game economy."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "id",
            "docs": [
              "The id of this cargo type"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "docs": [
              "The name of this cargo type"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "name"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "mint",
            "docs": [
              "The mint associated with this cargo type"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "storageCost",
            "docs": [
              "The storage cost of this cargo type"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "category",
            "docs": [
              "The category id of this cargo type"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoCategoryId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "withdrawEpochDuration",
            "docs": [
              "The duration of a withdrawal epoch in seconds, if `0` withdrawals are disabled"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "circuitBreaker",
            "docs": [
              "The max withdrawable amount each epoch"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xpModifier",
            "docs": [
              "XP modifier applied to actions which produce this cargo type"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "flags",
            "docs": [
              "Flags applicable to this cargo type"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoFlags"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "cargoTypeCache",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "currentEpoch",
            "docs": [
              "The current withdrawal epoch"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "totalWithdrawn",
            "docs": [
              "The total amount withdrawn since last reset"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "cargoTypeUpdate",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "id",
            "docs": [
              "The id of this cargo type"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "docs": [
              "The name of this cargo type"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "name"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "storageCost",
            "docs": [
              "The storage cost of this cargo type"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "category",
            "docs": [
              "The category id of this cargo type"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "cargoCategoryId"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "withdrawEpochDuration",
            "docs": [
              "The duration of a withdrawal epoch in seconds"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "circuitBreaker",
            "docs": [
              "The max withdrawable amount each epoch"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "categoryXpInfo",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "spent",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "earned",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "celestialBodyId",
      "type": {
        "kind": "tupleTypeNode",
        "items": [
          {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "celestialBodyType",
      "docs": [
        "Represents different types a `CelestialBody` could be"
      ],
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "planet",
            "discriminator": 0,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "planet"
                }
              ]
            }
          },
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "asteroid",
            "discriminator": 1,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "asteroid"
                }
              ]
            }
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "celestialBodyTypeBorsh",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "planet",
            "discriminator": 0,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "arrayTypeNode",
                  "item": {
                    "kind": "tupleTypeNode",
                    "items": [
                      {
                        "kind": "definedTypeLinkNode",
                        "name": "cargoId"
                      },
                      {
                        "kind": "numberTypeNode",
                        "format": "u64",
                        "endian": "le"
                      }
                    ]
                  },
                  "count": {
                    "kind": "prefixedCountNode",
                    "prefix": {
                      "kind": "numberTypeNode",
                      "format": "u32",
                      "endian": "le"
                    }
                  }
                },
                {
                  "kind": "arrayTypeNode",
                  "item": {
                    "kind": "definedTypeLinkNode",
                    "name": "buildingTag"
                  },
                  "count": {
                    "kind": "prefixedCountNode",
                    "prefix": {
                      "kind": "numberTypeNode",
                      "format": "u32",
                      "endian": "le"
                    }
                  }
                }
              ]
            }
          },
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "asteroid",
            "discriminator": 1,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "arrayTypeNode",
                  "item": {
                    "kind": "tupleTypeNode",
                    "items": [
                      {
                        "kind": "definedTypeLinkNode",
                        "name": "cargoId"
                      },
                      {
                        "kind": "numberTypeNode",
                        "format": "u64",
                        "endian": "le"
                      }
                    ]
                  },
                  "count": {
                    "kind": "prefixedCountNode",
                    "prefix": {
                      "kind": "numberTypeNode",
                      "format": "u32",
                      "endian": "le"
                    }
                  }
                }
              ]
            }
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "characterAssetCounts",
      "docs": [
        "Aggregated counts of capped assets owned by the character.",
        "Used to enforce per-character limits for items that can be queued or created."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "claimStakes",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingHabs",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "fleets",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "characterModifier",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "fleetSize",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "fleetConcurrency",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "respawnTimeModifier",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "warpLaneFeeModifier",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "warpSpeedModifier",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "subwarpSpeedModifier",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "warpCooldownModifier",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingEfficiencyModifier",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingTimeModifier",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingJobConcurrencyBonus",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxResidentialPlotTier",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "optionalTier"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxResidentialPlots",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxProductivePlotTier",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "optionalTier"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxProductivePlots",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "securityZoneAccess",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "riskZoneChecked"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "enemyFactionZoneAccess",
            "type": {
              "kind": "booleanTypeNode",
              "size": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxDailyStreakLength",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxShipSize",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "sizeClass"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "scanPowerModifier",
            "docs": [
              "Data Runner research multiplier for scan loot. Base 1.0, additive combine."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "scanCoolDownModifier",
            "docs": [
              "Data Runner research multiplier for scan cooldown. Base 1.0, additive combine."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "researchTags",
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "researchTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cargoCategories",
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "cargoCategoryId"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rareMineralDiscovery",
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "characterModifierInput",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "sized",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "characterModifierSized"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "researchTags",
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "researchTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cargoCategories",
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "cargoCategoryId"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rareMineralDiscovery",
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "characterModifierSized",
      "docs": [
        "Sized portion of [`CharacterModifier`]"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "fleetSize",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "fleetConcurrency",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "respawnTimeModifier",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "warpLaneFeeModifier",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "warpSpeedModifier",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "subwarpSpeedModifier",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "warpCooldownModifier",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingEfficiencyModifier",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingTimeModifier",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingJobConcurrencyBonus",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxResidentialPlotTier",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "optionalTier"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxResidentialPlots",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxProductivePlotTier",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "optionalTier"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxProductivePlots",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "securityZoneAccess",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "riskZoneChecked"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "enemyFactionZoneAccess",
            "type": {
              "kind": "booleanTypeNode",
              "size": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxDailyStreakLength",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxShipSize",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "sizeClass"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "scanPowerModifier",
            "docs": [
              "Data Runner research multiplier for scan loot. Base 1.0, additive combine."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "scanCoolDownModifier",
            "docs": [
              "Data Runner research multiplier for scan cooldown. Base 1.0, additive combine."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "characterModifiers",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "seqId",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "unupdatedCount",
            "docs": [
              "When nodes are updated the seq_id changes and unupdated_count is set to the len of unlocked_nodes.",
              "",
              "Then loop through each unlocked node by list index in the set (starting with len - unupdated_count)",
              "and modify the modifier."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "unlockedNodes",
            "docs": [
              "Set of unlocked nodes"
            ],
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "researchNodeId"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "nodeLevels",
            "docs": [
              "Per-node unlock level. Missing entries for legacy/unrepeatable nodes are treated as level 1 when unlocked."
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "researchNodeId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "modifiers",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "characterModifier"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "checkInStreakInfo",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "lastCheckInTime",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "checkInStreak",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "claimStakeDefinition",
      "docs": [
        "Claim stake definition that specifies capabilities and requirements"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "docs": [
              "The human-readable name for this claim stake."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "name"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cargoId",
            "docs": [
              "The cargo type which is used to place the claim stake"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "tier",
            "docs": [
              "The tier level of the claim stake"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "tier"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "slots",
            "docs": [
              "Number of slots available on the claim stake"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rentMultiplier",
            "docs": [
              "Multiplier for rent calculations"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "placementFeeMultiplier",
            "docs": [
              "Multiplier for placement fees"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "hubValue",
            "docs": [
              "Value of hub type buildings which can be built"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "requiredTags",
            "docs": [
              "Tags required to place the claim stake"
            ],
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "buildingTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "providedTags",
            "docs": [
              "Tags provided by the claim stake for satisfying building requirements"
            ],
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "buildingTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "claimStakeDefinitionId",
      "type": {
        "kind": "tupleTypeNode",
        "items": [
          {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "claimStakeDefinitionSized",
      "docs": [
        "Sized portion of [`ClaimStakeDefinition`]"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "docs": [
              "The human-readable name for this claim stake."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "name"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cargoId",
            "docs": [
              "The cargo type which is used to place the claim stake"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "tier",
            "docs": [
              "The tier level of the claim stake"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "tier"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "slots",
            "docs": [
              "Number of slots available on the claim stake"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rentMultiplier",
            "docs": [
              "Multiplier for rent calculations"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "placementFeeMultiplier",
            "docs": [
              "Multiplier for placement fees"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "hubValue",
            "docs": [
              "Value of hub type buildings which can be built"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "claimStakeDefinitionUnsizedInputs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "requiredTags",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "definedTypeLinkNode",
                  "name": "buildingTag"
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "providedTags",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "definedTypeLinkNode",
                  "name": "buildingTag"
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "claimStakeDefinitions",
      "docs": [
        "Claim stake definitions container"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "seqId",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "evictionGracePeriod",
            "docs": [
              "The amount of time a claim stake is immune to eviction after its rent runs out."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "respawnTime",
            "docs": [
              "Time taken for claim stakes to respawn when a starbase is destroyed"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "claimStakes",
            "type": {
              "kind": "structTypeNode",
              "fields": [
                {
                  "kind": "structFieldTypeNode",
                  "name": "unsizedLen",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The total size of the unsized bytes in the list"
                  ],
                  "type": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                },
                {
                  "kind": "structFieldTypeNode",
                  "name": "offsetList",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The list of items containing offsets, and potentially extra metadata, for the start of each element in the unsized list"
                  ],
                  "type": {
                    "kind": "arrayTypeNode",
                    "item": {
                      "kind": "structTypeNode",
                      "fields": [
                        {
                          "kind": "structFieldTypeNode",
                          "name": "offset",
                          "type": {
                            "kind": "numberTypeNode",
                            "format": "u32",
                            "endian": "le"
                          }
                        },
                        {
                          "kind": "structFieldTypeNode",
                          "name": "key",
                          "type": {
                            "kind": "definedTypeLinkNode",
                            "name": "claimStakeDefinitionId"
                          }
                        }
                      ]
                    },
                    "count": {
                      "kind": "prefixedCountNode",
                      "prefix": {
                        "kind": "numberTypeNode",
                        "format": "u32",
                        "endian": "le"
                      }
                    }
                  }
                },
                {
                  "kind": "structFieldTypeNode",
                  "name": "unsizedList",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The list of byte offsets for the start of each element in the unsized list"
                  ],
                  "type": {
                    "kind": "arrayTypeNode",
                    "item": {
                      "kind": "definedTypeLinkNode",
                      "name": "claimStakeDefinition"
                    },
                    "count": {
                      "kind": "prefixedCountNode",
                      "prefix": {
                        "kind": "numberTypeNode",
                        "format": "u32",
                        "endian": "le"
                      }
                    }
                  }
                }
              ]
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "claimStakeTransfer",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "planet",
            "docs": [
              "The `Planet` the `Fleet` on which the claim stake is located"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "claimStake",
            "docs": [
              "The claim stake that the fleet is loading and/or unloading"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "end",
            "docs": [
              "The time at which the transfer ends"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "load",
            "docs": [
              "Cargo moving from claim_stake to fleet"
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "unload",
            "docs": [
              "Cargo moving from fleet to claim_stake"
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "claimStakesInfo",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "chronoList",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "publicKeyTypeNode"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "stakeMap",
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "publicKeyTypeNode"
              },
              "value": {
                "kind": "definedTypeLinkNode",
                "name": "structureState"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "combatConfig",
      "docs": [
        "Combat Config"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "globalCeasefire",
            "docs": [
              "global ceasefire"
            ],
            "type": {
              "kind": "booleanTypeNode",
              "size": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "interactionRange",
            "docs": [
              "The range at which ships can interact"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lootExclusivityTime",
            "docs": [
              "amount of time when the last-hitter of a fleet will have exclusive access to loot"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxLootRate",
            "docs": [
              "the max loot rate"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseUpgradeProgressContinuation",
            "docs": [
              "percentage of a starbase upgrade that's kept when a level 0 starbase is destroyed"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "crewRespawnTime",
            "docs": [
              "Time taken for crew to respawn when a starbase is destroyed"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cargoRespawnTime",
            "docs": [
              "Time taken for cargo to respawn when a starbase is destroyed"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rawShipsRespawnTime",
            "docs": [
              "Time taken for individual ships to respawn when a starbase is destroyed"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxFleetSize",
            "docs": [
              "The max number of ships in a fleet"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "combatConfigPartial",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "globalCeasefire",
            "docs": [
              "global ceasefire"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "booleanTypeNode",
                "size": {
                  "kind": "numberTypeNode",
                  "format": "u8",
                  "endian": "le"
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "interactionRange",
            "docs": [
              "The range at which ships can interact"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "i64",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lootExclusivityTime",
            "docs": [
              "amount of time when the last-hitter of a fleet will have exclusive access to loot"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "i64",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxLootRate",
            "docs": [
              "the max loot rate"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseUpgradeProgressContinuation",
            "docs": [
              "percentage of a starbase upgrade that's kept when a level 0 starbase is destroyed"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "crewRespawnTime",
            "docs": [
              "Time taken for crew to respawn when a starbase is destroyed"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "i64",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cargoRespawnTime",
            "docs": [
              "Time taken for cargo to respawn when a starbase is destroyed"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "i64",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rawShipsRespawnTime",
            "docs": [
              "Time taken for individual ships to respawn when a starbase is destroyed"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "i64",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxFleetSize",
            "docs": [
              "The max number of ships in a fleet"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "combatRewardLeg",
      "docs": [
        "One destroyed player fleet's deterministic recipient and authored reward amounts. The future hash",
        "chooses only the salvage table outcome; it cannot change the recipient or economic target."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "recipient",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "medallions",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "salvageTargetValue",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "combatStatField",
      "type": {
        "kind": "tupleTypeNode",
        "items": [
          {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "combatStats",
      "docs": [
        "A ship's combat stats"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "ap",
            "docs": [
              "ability power"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "hp",
            "docs": [
              "Health points"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "sp",
            "docs": [
              "Shield points"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "ammoConsumptionRate",
            "docs": [
              "the amount of ammo used for each unit of AP used in an attack"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "apRegenRate",
            "docs": [
              "the amount of AP regenerated per second"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "shieldRechargeRate",
            "docs": [
              "the amount of SP regenerated per second"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "repairRate",
            "docs": [
              "The rate at which this fleet can be repaired",
              "TODO: Units should be HP/s"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "repairAbility",
            "docs": [
              "The maximum number of toolkits that can be applied by this fleet when performing a Repair action",
              "TODO: Units should be Toolkits"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "repairEfficiency",
            "docs": [
              "Unitless value representing how efficient the fleet is at applying repairs",
              "TODO: Units should be Unitless"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "repairCost",
            "docs": [
              "The cost in toolkits to apply repairs to this fleet",
              "TODO: Units should be HP/Toolkit"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lootRate",
            "docs": [
              "Unitless salvage multiplier, not a per-second amount. get_loot_rate divides this fleet",
              "aggregate by combat size; apply_loot_rate caps that rate at the game's max_loot_rate and",
              "multiplies it into a base roll. Only the rate is capped, never the product. The base roll",
              "is a zero-floored six-uniform normal approximation (mean 0.5, sigma about 0.15) spanning 0",
              "to about 1.1363, which exceeds 1.0 roughly once in 10,000 rolls, so once the capped rate",
              "reaches about 0.88 the product can exceed 1.0 as well. Nothing bounds that fraction; the",
              "amount actually taken is limited only by the requested amount, the pile itself, and",
              "remaining pod capacity. While max_loot_rate is at or above FULL_LOOT_SENTINEL, and for",
              "owner-locked reward loot at any rate, this stat is still computed and passed but does not",
              "affect the claimed quantity. Authored per ship as 0..3 in the c4-schema ship.rs."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "shieldBreakDelay",
            "docs": [
              "the time it takes the ship's SP to start regenerating after getting to 0"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "warpSpoolTime",
            "docs": [
              "the amount of time taken before the ship can start warping"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "damageKinetic",
            "docs": [
              "Kinetic damage dealt by this ship."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "damageKineticVariance",
            "docs": [
              "Kinetic damage randomization range, expressed as a multiplier."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "damageEnergy",
            "docs": [
              "Energy damage dealt by this ship."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "damageEnergyVariance",
            "docs": [
              "Energy damage randomization range, expressed as a multiplier."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "damageEmp",
            "docs": [
              "EMP damage dealt by this ship."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "damageEmpVariance",
            "docs": [
              "EMP damage randomization range, expressed as a multiplier."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "damageSuperchill",
            "docs": [
              "Superchill damage dealt by this ship."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "damageSuperchillVariance",
            "docs": [
              "Superchill damage randomization range, expressed as a multiplier."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "damageShockwave",
            "docs": [
              "Shockwave damage dealt by this ship."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "damageShockwaveVariance",
            "docs": [
              "Shockwave damage randomization range, expressed as a multiplier."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "damageGraygoo",
            "docs": [
              "Gray goo damage dealt by this ship."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "damageGraygooVariance",
            "docs": [
              "Gray goo damage randomization range, expressed as a multiplier."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "damageHeat",
            "docs": [
              "Heat damage dealt by this ship."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "damageHeatVariance",
            "docs": [
              "Heat damage randomization range, expressed as a multiplier."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "damageBomb",
            "docs": [
              "Bomb damage dealt by this ship."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "damageBombVariance",
            "docs": [
              "Bomb damage randomization range, expressed as a multiplier."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "counterDecoy",
            "docs": [
              "Decoy countermeasure strength."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "counterEnergyCapacitor",
            "docs": [
              "Energy capacitor countermeasure strength."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "counterFireSuppressor",
            "docs": [
              "Fire suppressor countermeasure strength."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "counterFlare",
            "docs": [
              "Flare countermeasure strength."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "counterHealingNanobots",
            "docs": [
              "Healing nanobots countermeasure strength."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "counterMine",
            "docs": [
              "Mine countermeasure strength."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "counterNegativeRemPlating",
            "docs": [
              "Negative REM plating countermeasure strength."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "counterWarmingPlates",
            "docs": [
              "Warming plates countermeasure strength."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "counterFaradayShielding",
            "docs": [
              "Faraday shielding countermeasure strength."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "stealthPower",
            "docs": [
              "Stealth strength used by combat hit/dodge calculations."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "hitChance",
            "docs": [
              "Hit chance modifier used by combat hit calculations."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "aimAbility",
            "docs": [
              "Aim ability used to offset size mismatch penalties."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "critChance",
            "docs": [
              "Critical hit chance."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "critMultiplier",
            "docs": [
              "Critical hit damage multiplier."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "fuelConsumptionRate",
            "docs": [
              "Combat fuel consumption modifier reserved for Combat v2 balancing."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "missileDamage",
            "docs": [
              "Missile damage reserved for Combat v2 balancing."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "missileFireRate",
            "docs": [
              "Missile fire rate reserved for Combat v2 balancing."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "condPerkEntry",
      "docs": [
        "One conditional perk pre-loaded into the summary's `perk_cond[8]` table; a consumer",
        "evaluates its `trigger` in a ≤8-iteration loop (master §3.4; reference-impl",
        "`CondPerkEntry`, record_rs:320-327).",
        "",
        "Byte-exact to `layout.CondPerkEntryPod` (record_rs:566-577):",
        "`perk_id(2) + slot_family(1) + trigger(1) + mag(2) + tier(1) + _pad(1) = 8 B`.",
        "",
        "`mag` is stored as an **`i16` q-format fixed-point delta** (NOT `f64` — the",
        "reference-impl models it as `f64` only in its behavioral mirror; the byte-exact",
        "proof and the real program store the raw `i16`, record_rs:319,573). The fold site",
        "reconstitutes it into the engine's fixed-point (`PreciseStatVal`) when it sums —",
        "the q-format scale + the fold are owned by `folds/`, not by this value object.",
        "`slot_family` / `trigger` are raw discriminant bytes (decode via",
        "`SlotFamily::from_u8` / `Trigger::from_u8`), kept as `u8` to preserve Pod-ness."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "perkId",
            "docs": [
              "On-chain perk definition id (`0` ⇒ unused table slot)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "slotFamily",
            "docs": [
              "Raw `SlotFamily` discriminant the perk modifies."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "trigger",
            "docs": [
              "Raw `Trigger` discriminant gating the perk."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "mag",
            "docs": [
              "Magnitude as an `i16` q-format delta (scale owned by `folds/`)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "tier",
            "docs": [
              "Perk tier."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad",
            "docs": [
              "Padding to the 8-byte slot (`layout.CondPerkEntryPod._pad`)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "connectionCost",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "level1",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level2",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level3",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level4",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level5",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "css",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "craftingHabDefinition",
      "docs": [
        "Crafting hab definition that specifies capabilities and requirements"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "docs": [
              "The human-readable name for this crafting hab."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "name"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cargoId",
            "docs": [
              "The cargo type which is used to place the crafting hab"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "tier",
            "docs": [
              "The tier level of the crafting hab"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "tier"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "slots",
            "docs": [
              "Number of building slots available on the crafting hab"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rentMultiplier",
            "docs": [
              "Multiplier for rent calculations"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "placementFeeMultiplier",
            "docs": [
              "Multiplier for placement fees"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "hubValue",
            "docs": [
              "Value of hub type buildings which can be built"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "requiredTags",
            "docs": [
              "Tags required to place the crafting hab"
            ],
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "buildingTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "providedTags",
            "docs": [
              "Tags provided by the crafting hab for satisfying building requirements"
            ],
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "buildingTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "craftingHabDefinitionId",
      "type": {
        "kind": "tupleTypeNode",
        "items": [
          {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "craftingHabDefinitionSized",
      "docs": [
        "Sized portion of [`CraftingHabDefinition`]"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "docs": [
              "The human-readable name for this crafting hab."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "name"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cargoId",
            "docs": [
              "The cargo type which is used to place the crafting hab"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "tier",
            "docs": [
              "The tier level of the crafting hab"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "tier"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "slots",
            "docs": [
              "Number of building slots available on the crafting hab"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rentMultiplier",
            "docs": [
              "Multiplier for rent calculations"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "placementFeeMultiplier",
            "docs": [
              "Multiplier for placement fees"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "hubValue",
            "docs": [
              "Value of hub type buildings which can be built"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "craftingHabDefinitionUnsizedInputs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "requiredTags",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "definedTypeLinkNode",
                  "name": "buildingTag"
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "providedTags",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "definedTypeLinkNode",
                  "name": "buildingTag"
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "craftingHabDefinitions",
      "docs": [
        "Crafting hab definitions container"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "seqId",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "evictionGracePeriod",
            "docs": [
              "The amount of time a crafting hab is immune to eviction after its rent runs out."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "respawnTime",
            "docs": [
              "Time taken for crafting habs to respawn when a starbase is destroyed"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingHabs",
            "type": {
              "kind": "structTypeNode",
              "fields": [
                {
                  "kind": "structFieldTypeNode",
                  "name": "unsizedLen",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The total size of the unsized bytes in the list"
                  ],
                  "type": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                },
                {
                  "kind": "structFieldTypeNode",
                  "name": "offsetList",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The list of items containing offsets, and potentially extra metadata, for the start of each element in the unsized list"
                  ],
                  "type": {
                    "kind": "arrayTypeNode",
                    "item": {
                      "kind": "structTypeNode",
                      "fields": [
                        {
                          "kind": "structFieldTypeNode",
                          "name": "offset",
                          "type": {
                            "kind": "numberTypeNode",
                            "format": "u32",
                            "endian": "le"
                          }
                        },
                        {
                          "kind": "structFieldTypeNode",
                          "name": "key",
                          "type": {
                            "kind": "definedTypeLinkNode",
                            "name": "craftingHabDefinitionId"
                          }
                        }
                      ]
                    },
                    "count": {
                      "kind": "prefixedCountNode",
                      "prefix": {
                        "kind": "numberTypeNode",
                        "format": "u32",
                        "endian": "le"
                      }
                    }
                  }
                },
                {
                  "kind": "structFieldTypeNode",
                  "name": "unsizedList",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The list of byte offsets for the start of each element in the unsized list"
                  ],
                  "type": {
                    "kind": "arrayTypeNode",
                    "item": {
                      "kind": "definedTypeLinkNode",
                      "name": "craftingHabDefinition"
                    },
                    "count": {
                      "kind": "prefixedCountNode",
                      "prefix": {
                        "kind": "numberTypeNode",
                        "format": "u32",
                        "endian": "le"
                      }
                    }
                  }
                }
              ]
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "craftingHabsInfo",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "chronoList",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "publicKeyTypeNode"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "habMap",
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "publicKeyTypeNode"
              },
              "value": {
                "kind": "definedTypeLinkNode",
                "name": "structureState"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "craftingModifiers",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "craftingEfficiencyModifier",
            "docs": [
              "Changes the amount of crafted outputs by a percentage"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingSpeedModifier",
            "docs": [
              "Changes the amount of time taken to craft an item by a percentage",
              "This value gets multiplied by the base crafting time to get the new crafting time, so a value of 0.5 means the crafting time is halved"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "crewCountModifier",
            "docs": [
              "Changes the amount of crew required to craft an item by a percentage"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingFeeModifier",
            "docs": [
              "Changes the amount of crafting fee required to craft an item by a percentage"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "createEncounterTreasuryArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "epochLenSecs",
            "docs": [
              "Circuit-breaker epoch length, seconds. The per-epoch ATLAS-out cap resets each window."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlasOutCapPerEpoch",
            "docs": [
              "Max ATLAS the treasury may emit on the faucet leg per epoch (inflation ceiling)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "createFactionArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "capabilityFlags",
            "docs": [
              "Capability bitset ([`crate::state::FactionCapabilityFlags`]). Admin-masked via `validate_flag_grant`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "nameHash",
            "docs": [
              "Content-addressed off-chain lore hash (SHA-256 of the canonical content file)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "contentUriHash",
            "docs": [
              "Off-chain manifest hash (cosmetics / blueprint catalog / dialogue)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "homeRegion",
            "docs": [
              "Homeland region (`0` = none)."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "regionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxAllies",
            "docs": [
              "Max simultaneous Allied edges (diplomacy cap, enforced in P3)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "createFactionMarketArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "minStandingBuy",
            "docs": [
              "Access band to BUY (Ask): standing threshold; `<= -1000` = open."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minStandingSell",
            "docs": [
              "Access band to SELL (faucet): `<= -1000` = open (a Hostile player can still sell their way back)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "priceTierBps",
            "docs": [
              "Per-depletion-tier Ask price multiplier (bps); index 0 = full stock, rising as the reserve depletes."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u16",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 4
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "authoredTargetQty",
            "docs": [
              "Per-offer restock target (opportunistic in-trade restock tops `remaining_qty` toward this)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "restockPeriodSecs",
            "docs": [
              "In-trade restock time-gate (seconds)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlasBurnBps",
            "docs": [
              "ATLAS-burn on the faucet (sell-back) leg, basis points."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "standingBps",
            "docs": [
              "Per-market standing accrual rate (sell-leg); `0` disables earning here."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "faucetEnabled",
            "docs": [
              "`0` = sell-only (faucet disabled)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "offers",
            "docs": [
              "The concrete offers (Ask via SIDE_SELL, Bid via SIDE_BUY). Non-empty; at most one Ask per cargo."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "liveOffer"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "createFactionTreasuryArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "epochLenSecs",
            "docs": [
              "Circuit-breaker epoch length, seconds. The per-epoch faucet ATLAS-out cap resets each window."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlasOutCapPerEpoch",
            "docs": [
              "Max ATLAS the treasury may emit on the faucet (sell-back) leg per epoch."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "createRecipeInputData",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "recipeId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "recipeId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "duration",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minDuration",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "name"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "feeAmount",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "feeRecipient",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "recipeFeeRecipient"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "usageLimit",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minStarbaseLevel",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseLevel"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "value",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingEfficiencyMinmax",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minMax"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingSpeedMinmax",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minMax"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingCrewCountMinmax",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minMax"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingFeeMinmax",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minMax"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "habRequired",
            "type": {
              "kind": "booleanTypeNode",
              "size": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "researchRequirements",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "researchTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "inputs",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "tupleTypeNode",
                "items": [
                  {
                    "kind": "definedTypeLinkNode",
                    "name": "cargoId"
                  },
                  {
                    "kind": "numberTypeNode",
                    "format": "u64",
                    "endian": "le"
                  }
                ]
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "outputs",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "tupleTypeNode",
                "items": [
                  {
                    "kind": "definedTypeLinkNode",
                    "name": "cargoId"
                  },
                  {
                    "kind": "numberTypeNode",
                    "format": "u64",
                    "endian": "le"
                  }
                ]
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "createScanPatternArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "name"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cooldownMultiplier",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "blankWeight",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "blankXpValue",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "scanCost",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "scanCost"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lootTable",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "scanLootEntry"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "noiseMaps",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "scanNoiseMapBorsh"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "crewMigrateInput",
      "docs": [
        "One crew to individuate: its DAS-attested rarity + the rarity-derived base-stat seed.",
        "",
        "`BorshSerialize/Deserialize + TypeToIdl` — the EXACT derive set of the existing",
        "`CrewTransferInput` (crew_transfer_common_rs:129-134), so this rides the same client/IDL",
        "surface. (In the full instruction the migrate item would also carry the Bubblegum",
        "transfer proof fields of `CrewTransferInput`; this slice models the crew-record half —",
        "the rarity attestation that seeds the on-chain `CrewRecord`. The integrator unions this",
        "with `CrewTransferInput`'s proof fields.)"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "crewAssetId",
            "docs": [
              "The crew cNFT asset id (Bubblegum leaf) — the stable per-crew identity (master R-S1)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rarity",
            "docs": [
              "DAS-attested rarity discriminant (`0..=5`); decoded via `Rarity::from_u8`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "baseStat",
            "docs": [
              "Rarity-derived base aptitude magnitude seeding every aptitude (reference-impl",
              "`rarity_base_stat`, record_rs:398-407). Supplied (not recomputed) so the rarity→seed",
              "ladder stays owned by the contract slice (single source of truth)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "crewRecord",
      "docs": [
        "One individuated crew member — the on-chain character sheet (**292 B** with the per-skill-XP",
        "block; **202 B** through the original `tail`).",
        "",
        "The original blocks (identity/scalars = 40, timestamps/counters = 40, assignment = 33,",
        "stats = 24, personality = 5, perks = 16, gear = 40, tail = 4) sum to 202 and remain",
        "byte-exact to `crew-mechanics-detail.md` §1.2 / reference-impl `layout.CrewRecordPod`",
        "(record_rs:530-561). **Per-skill XP (build #17)** appends a per-category XP block AT THE TAIL",
        "(after `_pad1`, so every offset ≤ 200 is unchanged): `xp_by_category[5]` (40),",
        "`level_by_category[5]` (10), `xp_realized_by_category[5]` (40) = 90 B ⇒ **292 B** total.",
        "",
        "## Per-category XP (a crew gets better at what it DOES)",
        "The legacy `xp`/`level`/`xp_realized_at` fields (offsets 64/48/68) are PRESERVED as the",
        "**lifetime total** (Σ category xp / level off the total) for back-compat with the decoders.",
        "The new `*_by_category` arrays carry the per-activity tracks indexed by",
        "`CrewXpCategory`(crate.state.CrewXpCategory) — `xp_by_category[Mining]` etc. A crew",
        "onboarded to a mining fleet accrues `Mining` XP and levels `Mining`; one that fights accrues",
        "`Combat`. The accrual reuses the §S.4 O(1) reward-per-share scheme PER CATEGORY (the summary's",
        "`xp_accumulator_by_category[N]` high-water mark + these per-category `xp_realized_by_category`",
        "low-water snapshots); see `crate.folds.xp`.",
        "",
        "Stored fixed-point: none in the record itself — the `i16` q-format slot deltas live",
        "in the summary's `perk_uncond`/`gear_scalar`/`perk_cond` (see `super.RosterSummary`);",
        "the record carries only raw magnitudes (`stats.apt` `u16`), the gear/perk sentinels,",
        "and the XP counters (`u64`). `PreciseStatVal` is used at the FOLD site, never stored here."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "crewAssetId",
            "docs": [
              "The crew cNFT asset id (Bubblegum leaf) — the stable per-crew identity."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rarity",
            "docs": [
              "Raw `Rarity` discriminant (`0..=5`); decode via `Rarity.from_u8`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level",
            "docs": [
              "Crew level, `1..=CREW_LEVEL_MAX` (`u16` — contract-change request #2). Occupies",
              "the 2 bytes the reference proof reserves as `level: u8 + _lvl_hi: u8`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "perkCount",
            "docs": [
              "Number of perk slots filled (`0..=PERK_SLOT_CAP`)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "perkPointsSpent",
            "docs": [
              "Perk points already spent (`0..=PERK_POINTS_MAX`)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "schemaVersion",
            "docs": [
              "**Round-trip serialization schema version** for the cross-chain crew bridge",
              "(entry-seed attestation -> `CrewRecord`, and `CrewRecord` -> galaxy on exit-settle;",
              "cuniculture review, PR #732). `0` = the canonical encoding this PR freezes (field order +",
              "`I72F56` fixed-point rendering specified in the crew bridge design doc). Carved from the",
              "FIRST byte of the reference proof's 3-byte `_pad0` (zero-default ⇒ byte-identical to the",
              "pre-this-change image — the `reward_page` pad-reuse technique), so the deterministic",
              "`CrewRecord`->galaxy projection can be re-versioned WITHOUT a record-layout migration once",
              "z.ink rosters are live. The roster account also carries a page-level",
              "`super.RosterSummary.version`; this per-record byte versions the per-crew snapshot that",
              "exits escrow independently. A bumped `schema_version` selects a newer",
              "`(serialize, deserialize)` pair; never reinterpret an old record under a new schema."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad0",
            "docs": [
              "Alignment pad to the 40-byte identity block (the back 2 bytes of the reference proof's",
              "`layout.CrewRecordPod._pad0`, after the `schema_version` byte carved from its head)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "boundAt",
            "docs": [
              "Unix ts the crew was bound to this roster."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "busyUntil",
            "docs": [
              "Unix ts a `Busy` crew becomes free again (`0` when not busy)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastFireEpoch",
            "docs": [
              "Last combat epoch this crew fired (respawn/cooldown accounting)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xp",
            "docs": [
              "Accumulated XP."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xpRealizedAt",
            "docs": [
              "Snapshot of the fleet per-capita XP accumulator at last realize (master §S.4) —",
              "the lazy-XP low-water mark."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "assignment",
            "docs": [
              "Current assignment (`CrewStatus`: tag + optional fleet key)."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "crewStatus"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "stats",
            "docs": [
              "9 aptitude magnitudes + 3 tag bitmasks (`CrewStats`)."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "crewStats"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bigFive",
            "docs": [
              "Big-five personality bytes (q0.8 fixed-point). Offer-gate / cosmetic ONLY —",
              "never a magnitude input (master §3.2)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 5
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "perks",
            "docs": [
              "Unlocked perk slots; `perk_id == 0` ⇒ empty (`[PerkSlot; PERK_SLOT_CAP]`)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "perkSlot"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 4
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gear",
            "docs": [
              "Equipped gear; `gear_id == 0` ⇒ empty (`[GearRef; GEAR_SLOTS]`, sentinel —",
              "contract-change request #1)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "gearRef"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 5
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rented",
            "docs": [
              "`1` ⇒ this crew is rented (economy lane; reference-impl `rented`)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bump",
            "docs": [
              "PDA bump if this record is the inline crew of a `super.CrewMember` (Officer v1);",
              "`0` for List-roster records."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad1",
            "docs": [
              "Tail pad to the original 202-byte boundary (`layout.CrewRecordPod._pad1`). The per-skill",
              "XP block below is appended AFTER this, so offsets ≤ 200 stay byte-identical to pre-#17."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xpByCategory",
            "docs": [
              "Per-activity XP, indexed by `CrewXpCategory`(crate.state.CrewXpCategory)",
              "(`xp_by_category[Mining]` etc.). The lifetime total stays in `xp` (off 64)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 5
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "levelByCategory",
            "docs": [
              "Per-activity level (`1..=CREW_LEVEL_MAX`), indexed by `CrewXpCategory`. Derived from",
              "`xp_by_category` via `crate.folds.xp.expected_level`. The lifetime total level stays",
              "in `level` (off 33). A fresh crew is level `1` in every category."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u16",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 5
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xpRealizedByCategory",
            "docs": [
              "Per-activity snapshot of the matching `RosterSummary::xp_accumulator_by_category[cat]` at",
              "last realize — the per-category lazy-XP low-water mark (the §S.4 reward-per-share scheme,",
              "one stream per category). Snapshotted to the fleet's per-category accumulator on load so a",
              "crew earns each category only from join-time on; advanced on every realize."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 5
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "assignedShipId",
            "docs": [
              "The ship MODEL this crew is posted to within its fleet (`ShipId` raw value), `0` =",
              "fleet pool / no posting (the pre-posting behavior). C4 fleets track ship models +",
              "counts (`Fleet.fleet_ships`), not individual hulls, so a posting targets a model slot.",
              "Set by `LoadFleetCrewRoster` (validated against `Game.ship_definitions` and the fleet's",
              "own composition), cleared on unload. Only meaningful while `assignment` is `OnFleet`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "assignedShipWeight",
            "docs": [
              "SNAPSHOT of the posting's ship weight at load time (`max(1, ship.stats.misc_stats",
              ".required_crew)` — bigger ships' specialists weigh more in the fleet average). `0` =",
              "no posting ⇒ the census treats the weight as `1` (exactly the pre-posting math). A",
              "snapshot so unload reverses the identical quantity even if definitions later change."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "crewStats",
      "docs": [
        "9 aptitude magnitudes + 3 independent tag bitmasks. A crew can be major/anomalous",
        "on several aptitudes at once — the **breadth** axis (master §5.1; reference-impl",
        "`CrewStats`, record_rs:231-282).",
        "",
        "Byte-exact to `layout.CrewStatsPod` (record_rs:518-527):",
        "9 aptitude `u16` (18) + 3 mask `u16` (6) = 24 B. Index order of `apt[9]` matches the",
        "`Aptitude` discriminants and `RosterSummary.sum_apt[9]`."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "apt",
            "docs": [
              "Per-aptitude magnitude, indexed by `Aptitude.as_idx`."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u16",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 9
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minorMask",
            "docs": [
              "Bit `i` set ⇒ aptitude `i` is tagged `Minor`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "majorMask",
            "docs": [
              "Bit `i` set ⇒ aptitude `i` is tagged `Major`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "anomalousMask",
            "docs": [
              "Bit `i` set ⇒ aptitude `i` is tagged `Anomalous`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "crewStatus",
      "docs": [
        "One crew member's assignment: a 33-byte Pod value `{ tag: u8, target: OptionalKeyFor<Fleet> }`.",
        "",
        "Byte-exact to the reference-impl `layout.CrewStatusPod` (record_rs:486-494):",
        "`tag(1) + target(32) = 33`. `OptionalKeyFor<Fleet>` is `#[repr(transparent)]` over a",
        "`Pubkey` (32 B), `Align1` + `Pod`, with a `NONE` sentinel of all-zero bytes",
        "(ref star_frame/star_frame/src/data_types/optional_key_for_rs:22-48,159-173) — so the",
        "whole struct is `Align1` Pod with no padding, List-able inside `CrewRecord`.",
        "",
        "`tag` is stored raw (see module note); use `Self.tag`/`Self.set_tag` for the",
        "typed `CrewStatusTag` view. `target` is meaningful only when `tag == OnFleet`;",
        "it is `OptionalKeyFor::<Fleet>::NONE` in every other state."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "tag",
            "docs": [
              "Raw `CrewStatusTag` discriminant. Kept as `u8` to preserve `CrewRecord`'s",
              "`Pod`-ness (a `Pod` struct cannot contain a non-`Pod` enum field)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "target",
            "docs": [
              "The assigned `Fleet`, or `OptionalKeyFor::NONE` (all-zero) when not `OnFleet`.",
              "`Fleet` is `#[unsized_type(program_account, seeds = FleetSeeds)]` (`?Sized`);",
              "`OptionalKeyFor<T: ?Sized>` supports unsized targets",
              "(ref sage/src/state/hangar/fleet/mod_rs:56-57)."
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "crewTransferInput",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "dataHash",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 32
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "proofCount",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "leafIndex",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "currencies",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "atlas",
            "docs": [
              "ATLAS currency config"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "currencyConfig"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "polis",
            "docs": [
              "POLIS currency config"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "currencyConfig"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "currencyBalanceCache",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "currentEpoch",
            "docs": [
              "The current withdrawal epoch"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "totalWithdrawn",
            "docs": [
              "The total amount withdrawn since last reset"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "currencyConfig",
      "docs": [
        "Currency mint definition"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "mint",
            "docs": [
              "The mint associated with this currency"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "vault",
            "docs": [
              "The vault associated with this currency"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "daoVault",
            "docs": [
              "The DAO vault associated with this currency"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "withdrawEpochDuration",
            "docs": [
              "The duration of a withdrawal epoch in seconds, if `0` withdrawals are disabled"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "circuitBreaker",
            "docs": [
              "The max withdrawable amount each epoch"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "dailyCheckInConfig",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "xpBase",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "streakBonus",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lpBonusStreakReq",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "streakBuyBackCost",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "streakBuyBackMaxDays",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minCheckInTimeDiff",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "epochStartTime",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "democracyCurveValues",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "algorithmVersion",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad0",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 7
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pvpThreshold",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "basePvpPerCrew",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "premiumCoefficientNumerator",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "premiumCoefficientDenominator",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxPvp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxRequiredCrew",
            "docs": [
              "Exact v1 output at `max_pvp`; consumers can preflight representability without recomputing."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "democracyHousingEntry",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "cargoId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "factionId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "tier",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "enabled",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad0",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "mint",
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "capacityPerUnit",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "democracyPtrLockedHousing",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "cargoId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "quantity",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "mustRespawn",
            "docs": [
              "Pinned at debit. Custody must not let destruction bypass the original respawn rule."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "destroyed",
      "type": {
        "kind": "tupleTypeNode",
        "items": []
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "docked",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "system",
            "docs": [
              "The `StarSystem` at which the fleet is docked"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "systemSeqId",
            "docs": [
              "The `StarSystem` starbase sequence id when this fleet docked"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "editFactionMarketArgs",
      "docs": [
        "The editable surface — field-for-field the create-time config (minus the identity/lifecycle",
        "fields, which are immutable after create)."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "minStandingBuy",
            "docs": [
              "Access band to BUY (Ask): standing threshold; `<= -1000` = open."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minStandingSell",
            "docs": [
              "Access band to SELL (faucet): `<= -1000` = open (a Hostile player can still sell their way back)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "priceTierBps",
            "docs": [
              "Per-depletion-tier Ask price multiplier (bps); index 0 = full stock, rising as the reserve depletes."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u16",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 4
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "authoredTargetQty",
            "docs": [
              "Per-offer restock target (opportunistic in-trade restock tops `remaining_qty` toward this)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "restockPeriodSecs",
            "docs": [
              "In-trade restock time-gate (seconds)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlasBurnBps",
            "docs": [
              "ATLAS-burn on the faucet (sell-back) leg, basis points."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "standingBps",
            "docs": [
              "Per-market standing accrual rate (sell-leg); `0` disables earning here."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "faucetEnabled",
            "docs": [
              "`0` = sell-only (faucet disabled)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "offers",
            "docs": [
              "The FULL replacement offer set (Ask via SIDE_SELL, Bid via SIDE_BUY). Non-empty; at most one",
              "Ask per cargo. `remaining_qty` is admin-authored (create-time contract), NOT treasury-backed."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "liveOffer"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "factionEconomicsDials",
      "docs": [
        "The 4 tunable dials (shared by `Init` + `Set`)."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "npcMintCostAtlas",
            "docs": [
              "ATLAS debited from the minting faction's treasury per `MintNpcFleet` (`0` = free, test only)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "npcRespawnCostAtlas",
            "docs": [
              "ATLAS debited per NPC fleet respawn (the churn brake)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "captureCostAtlas",
            "docs": [
              "ATLAS debited from the captor faction's treasury per dynamic starbase capture (`0` = no cost)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "factionCaptureCooldownSecs",
            "docs": [
              "Per-faction anti-blitz capture cooldown (secs)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "factionPair",
      "docs": [
        "Canonical unordered faction-pair key (`lo <= hi`, so `(a,b)` and `(b,a)` map to ONE entry). `Pod` packed,",
        "align 1, 4 B. As a `Map` key it MUST derive `Ord`/`PartialOrd` (mirrors `define_id_struct!` + `BoundingBox`)."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "lo",
            "docs": [
              "The numerically-smaller faction id."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "hi",
            "docs": [
              "The numerically-larger faction id."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "factionStatus",
      "docs": [
        "Lifecycle status of a dynamic faction. Mirrors [`ScanPatternStatus`](crate::state::ScanPatternStatus)",
        "(`Draft`/`Active`) plus a terminal `Retired` (soft-retire: the PDA is never closed/reused, since",
        "`faction_id` may be a historical owner/controller)."
      ],
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "draft",
            "discriminator": 0
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "active",
            "discriminator": 1
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "retired",
            "discriminator": 2
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "fleetCargoHoldInput",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "toLoad",
            "docs": [
              "The items to transfer from the starbase player to the fleet cargo hold"
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "tupleTypeNode",
                "items": [
                  {
                    "kind": "definedTypeLinkNode",
                    "name": "cargoId"
                  },
                  {
                    "kind": "numberTypeNode",
                    "format": "u64",
                    "endian": "le"
                  }
                ]
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "toUnload",
            "docs": [
              "The items to transfer from the fleet cargo hold to the starbase player"
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "tupleTypeNode",
                "items": [
                  {
                    "kind": "definedTypeLinkNode",
                    "name": "cargoId"
                  },
                  {
                    "kind": "numberTypeNode",
                    "format": "u64",
                    "endian": "le"
                  }
                ]
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "fleetCargoPod",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "ammoBank",
            "discriminator": 0
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "cargoHold",
            "discriminator": 1
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "fuelTank",
            "discriminator": 2
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "fleetStance",
      "docs": [
        "A fleet's stance",
        "TODO: this is a minimal implementation; will be fully implemented later"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "ammoUsage",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "ammoUsage"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "fleetState",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "idle",
            "discriminator": 0,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "idle"
                }
              ]
            }
          },
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "claimStakeTransfer",
            "discriminator": 1,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "claimStakeTransfer"
                }
              ]
            }
          },
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "destroyed",
            "discriminator": 2,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "destroyed"
                }
              ]
            }
          },
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "docked",
            "discriminator": 3,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "docked"
                }
              ]
            }
          },
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "mineAsteroid",
            "discriminator": 4,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "mineAsteroid"
                }
              ]
            }
          },
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "moveWarp",
            "discriminator": 5,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "moveWarp"
                }
              ]
            }
          },
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "moveSubwarp",
            "discriminator": 6,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "moveSubwarp"
                }
              ]
            }
          },
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "respawn",
            "discriminator": 7,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "respawn"
                }
              ]
            }
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "gearRef",
      "docs": [
        "One equipped gear reference. **Sentinel, not `Option`**: `gear_id == 0` means",
        "\"empty slot\" (contract-change request #1 — `Option<T>` is not a Star Frame `Pod`,",
        "so it can never be a field of the Pod `CrewRecord`; the reference-impl models the",
        "same sentinel, record_rs:284-302).",
        "",
        "Byte-exact to `layout.GearRefPod` (record_rs:496-506):",
        "`gear_id(2) + tier(1) + _pad(1) + durability(2) + _pad2(2) = 8 B`."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "gearId",
            "docs": [
              "On-chain gear definition id. `0` ⇒ empty slot (the sentinel)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "tier",
            "docs": [
              "Gear tier (recipe tier; `gear_rs` owns recipe/sink semantics)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad",
            "docs": [
              "Padding to keep the byte image identical to `layout.GearRefPod._pad`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "durability",
            "docs": [
              "Remaining durability (sink-eroded; faucet-ledgered in `gear_rs`)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad2",
            "docs": [
              "Padding to pad the record to the 8-byte slot (`layout.GearRefPod._pad2`)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "governanceBounds",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "minCraftingFeeBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxCraftingFeeBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxLocalMarketFeeBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minDaoShareBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxTreasuryDistributionBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingFeeStepBps",
            "docs": [
              "Allowed increment between crafting-fee vote choices."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "localMarketFeeStepBps",
            "docs": [
              "Allowed increment between local-market-fee vote choices."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "localTreasuryShareStepBps",
            "docs": [
              "Allowed increment between local-treasury-share vote choices."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "treasuryDistributionStepBps",
            "docs": [
              "Allowed increment between treasury-distribution vote choices."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "governanceFeeSnapshot",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "craftingFeeBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "localMarketFeeBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "localTreasuryShareBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "governanceParams",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "craftingFeeBps",
            "docs": [
              "Multiplier applied to recipe fees. 10_000 means 1.0x."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "localMarketFeeBps",
            "docs": [
              "Local market fee charged on executed ATLAS value."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "localTreasuryShareBps",
            "docs": [
              "Share of governed fees retained by the local starbase treasury."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "treasuryDistributionBps",
            "docs": [
              "Share of the local treasury distributed to active voting power at settlement."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "habBuildingDefinition",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "buildingId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "buildingId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "name"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "slots",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "crewSlots",
            "type": {
              "kind": "numberTypeNode",
              "format": "i16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "neededCrew",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "constructionTime",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "resourceStorage",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "hubValue",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minimumTier",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "tier"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingModifiers",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "craftingModifiers"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingJobConcurrency",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xpValue",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "refunds",
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "constructionCost",
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "researchRequirements",
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "researchTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "requiredTags",
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "buildingTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "providedTags",
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "buildingTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "netResourceProduction",
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "i64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "recipesUnlocked",
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "recipeId"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "habBuildingDefinitionSized",
      "docs": [
        "Sized portion of [`HabBuildingDefinition`]"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "buildingId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "buildingId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "name"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "slots",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "crewSlots",
            "type": {
              "kind": "numberTypeNode",
              "format": "i16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "neededCrew",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "constructionTime",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "resourceStorage",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "hubValue",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minimumTier",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "tier"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingModifiers",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "craftingModifiers"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingJobConcurrency",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xpValue",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "habBuildingDefinitionUnsizedInputs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "refunds",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "tupleTypeNode",
                  "items": [
                    {
                      "kind": "definedTypeLinkNode",
                      "name": "cargoId"
                    },
                    {
                      "kind": "numberTypeNode",
                      "format": "u64",
                      "endian": "le"
                    }
                  ]
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "constructionCost",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "tupleTypeNode",
                  "items": [
                    {
                      "kind": "definedTypeLinkNode",
                      "name": "cargoId"
                    },
                    {
                      "kind": "numberTypeNode",
                      "format": "u64",
                      "endian": "le"
                    }
                  ]
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "researchRequirements",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "definedTypeLinkNode",
                  "name": "researchTag"
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "requiredTags",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "definedTypeLinkNode",
                  "name": "buildingTag"
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "providedTags",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "definedTypeLinkNode",
                  "name": "buildingTag"
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "netResourceProduction",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "tupleTypeNode",
                  "items": [
                    {
                      "kind": "definedTypeLinkNode",
                      "name": "cargoId"
                    },
                    {
                      "kind": "numberTypeNode",
                      "format": "i64",
                      "endian": "le"
                    }
                  ]
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "recipesUnlocked",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "definedTypeLinkNode",
                  "name": "recipeId"
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "habBuildingDefinitions",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "seqId",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "habBuildingDefinitions",
            "type": {
              "kind": "structTypeNode",
              "fields": [
                {
                  "kind": "structFieldTypeNode",
                  "name": "unsizedLen",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The total size of the unsized bytes in the list"
                  ],
                  "type": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                },
                {
                  "kind": "structFieldTypeNode",
                  "name": "offsetList",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The list of items containing offsets, and potentially extra metadata, for the start of each element in the unsized list"
                  ],
                  "type": {
                    "kind": "arrayTypeNode",
                    "item": {
                      "kind": "structTypeNode",
                      "fields": [
                        {
                          "kind": "structFieldTypeNode",
                          "name": "offset",
                          "type": {
                            "kind": "numberTypeNode",
                            "format": "u32",
                            "endian": "le"
                          }
                        },
                        {
                          "kind": "structFieldTypeNode",
                          "name": "key",
                          "type": {
                            "kind": "definedTypeLinkNode",
                            "name": "buildingId"
                          }
                        }
                      ]
                    },
                    "count": {
                      "kind": "prefixedCountNode",
                      "prefix": {
                        "kind": "numberTypeNode",
                        "format": "u32",
                        "endian": "le"
                      }
                    }
                  }
                },
                {
                  "kind": "structFieldTypeNode",
                  "name": "unsizedList",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The list of byte offsets for the start of each element in the unsized list"
                  ],
                  "type": {
                    "kind": "arrayTypeNode",
                    "item": {
                      "kind": "definedTypeLinkNode",
                      "name": "habBuildingDefinition"
                    },
                    "count": {
                      "kind": "prefixedCountNode",
                      "prefix": {
                        "kind": "numberTypeNode",
                        "format": "u32",
                        "endian": "le"
                      }
                    }
                  }
                }
              ]
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "idle",
      "type": {
        "kind": "tupleTypeNode",
        "items": []
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "initFactionOwnershipArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "controllingFaction",
            "docs": [
              "Dynamic controller to seed (0 = legacy-owned but now in the dynamic regime / contestable)."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "contestedUntil",
            "docs": [
              "No re-flip until this ts (0 = immediately capturable); must be 0 or strictly-future + capped."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "capturedSeqId",
            "docs": [
              "Generation witness (== `StarSystem.seq_id` for a starbase); 0 for Fleet/Region."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "intermediateData",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "sequenceId",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "buildings",
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "buildingId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "i32",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "journey",
      "docs": [
        "Represents the immutable plan of a journey from a start point to an end point."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "from",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "i64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "to",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "i64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "departureTime",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "duration",
            "type": {
              "kind": "numberTypeNode",
              "format": "i128",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "liveOffer",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "cargoId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "sideFlags",
            "docs": [
              "Same bitmask as `PoolOfferEntry::side_flags` (`SIDE_SELL` / `SIDE_BUY`)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "price",
            "docs": [
              "Concrete price drawn within the envelope band at reveal (Atlas/Floyds per unit)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "remainingQty",
            "docs": [
              "Remaining quantity; decremented per fill, capped by treasury stock + player cargo at trade time."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "locationTag",
      "type": {
        "kind": "tupleTypeNode",
        "items": [
          {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "lootInfo",
      "docs": [
        "Represents loot at a location"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "exclusivityUnlockTime",
            "docs": [
              "the time the exclusivity lock expires"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "destroyer",
            "docs": [
              "exclusive access to loot until exclusivity_unlock_time passes"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rewardReclaimAt",
            "docs": [
              "`0` for ordinary carried cargo. Reward items stay owner-locked until this reclaim timestamp."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "loot",
            "docs": [
              "the loot"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoPod"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "loyaltyEpochStatus",
      "docs": [
        "Lifecycle of one faction loyalty epoch."
      ],
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "open",
            "discriminator": 0
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "closed",
            "discriminator": 1
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "swept",
            "discriminator": 2
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "makerInfo",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "totals",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "orderTotals"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "orderCount",
            "docs": [
              "Total open orders for this maker"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rentBytesOwned",
            "docs": [
              "The bytes allocated by this maker that have since been cleaned up but not yet withdrawn"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "maxLevel1",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "level1",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseLevelInfo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level0",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevel"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "maxLevel1Set",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "level1",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseLevelInfo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level0",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevelSet"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "maxLevel2",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "level2",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseLevelInfo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level0",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevel"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level1",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevel"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "maxLevel2Set",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "level2",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseLevelInfo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level0",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevelSet"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level1",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevelSet"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "maxLevel3",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "level3",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseLevelInfo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level0",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevel"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level1",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevel"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level2",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevel"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "maxLevel3Set",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "level3",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseLevelInfo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level0",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevelSet"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level1",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevelSet"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level2",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevelSet"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "maxLevel4",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "level4",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseLevelInfo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level0",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevel"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level1",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevel"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level2",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevel"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level3",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevel"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "maxLevel4Set",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "level4",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseLevelInfo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level0",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevelSet"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level1",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevelSet"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level2",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevelSet"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level3",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevelSet"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "maxLevel5",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "level5",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseLevelInfo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level0",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevel"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level1",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevel"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level2",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevel"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level3",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevel"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level4",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevel"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "maxLevel5Set",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "level5",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseLevelInfo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level0",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevelSet"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level1",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevelSet"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level2",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevelSet"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level3",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevelSet"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level4",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseIntermediateLevelSet"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "medallionRewardConfig",
      "docs": [
        "A medallion generation and the buyer liability attached to it.",
        "",
        "Changing `cargo_id` creates a new token generation. Keeping `cargo_id` while changing `buyer_price`",
        "reprices every outstanding token and therefore requires an explicit update opt-in."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "cargoId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "generation",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "buyerPrice",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "minMax",
      "docs": [
        "A min/max struct storing the min and max modifiers for a recipe.",
        "Each modifier is a percentage of the base value."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "min",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "max",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "mineAsteroid",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "asteroid",
            "docs": [
              "The `Asteroid` the `Fleet` is mining"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "regionXpModifier",
            "docs": [
              "The XP modifier for the region the `Fleet` is mining in"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "resources",
            "docs": [
              "Canonical ascending list of selected resource ids."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "minorFactionId",
      "type": {
        "kind": "tupleTypeNode",
        "items": [
          {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "miscStats",
      "docs": [
        "A ship's miscellaneous stats"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "requiredCrew",
            "docs": [
              "Number of crew required to operate the ship"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "passengerCapacity",
            "docs": [
              "Number of crew that the ship can carry as passengers"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "respawnTimeWithoutFee",
            "docs": [
              "the time it takes the ship to respawn without paying a respawn fee"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "respawnTimeWithFee",
            "docs": [
              "the time it takes the ship to respawn after paying a respawn fee"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "recoveryFee",
            "docs": [
              "Recovery fee (canonical terminology; formerly `respawn_fee`), charged in ATLAS",
              "Since ATLAS has 8 decimal places, units are in the smallest value of ATLAS possible."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "scanCoolDown",
            "docs": [
              "the time it takes the ship to be able to scan again after scanning"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "scanPower",
            "docs": [
              "The power of the ship's scanner, multiplies scan results"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "scanCost",
            "docs": [
              "the amount of resource required to do a scan"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "scanBonus",
            "docs": [
              "Added bonus or penalty to the scan results"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lpValue",
            "docs": [
              "the LP value of the ship"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "medallionValue",
            "docs": [
              "the medallion accounting value of the ship"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xpValue",
            "docs": [
              "The XP value of the ship",
              "TODO: Units should be XP"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "moveSubwarp",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "journey",
            "docs": [
              "The immutable journey plan."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "journey"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "totalFuelExpenditure",
            "docs": [
              "The total fuel budgeted for the entire journey."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i128",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "totalXpToAward",
            "docs": [
              "The total XP to award for the entire journey."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i128",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "moveWarp",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "to",
            "docs": [
              "The star system the fleet is going to"
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "i64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "warpStart",
            "docs": [
              "When the fleet started warping"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "warpFinish",
            "docs": [
              "When the warp will end"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "movementStats",
      "docs": [
        "A ship's movement stats"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "subwarpSpeed",
            "docs": [
              "the amount of distance that the ship can cover in one second while sub-warping"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "warpSpeed",
            "docs": [
              "the amount of distance that the ship can cover in one second while warping"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "warpLaneSpeed",
            "docs": [
              "the amount of distance that the ship can cover in one second while warping"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxWarpDistance",
            "docs": [
              "the max distance that the ship can warp"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "warpCoolDown",
            "docs": [
              "the time it takes the ship to be able to warp again after a warp"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "subwarpFuelConsumptionRate",
            "docs": [
              "the amount of fuel consumed by the ship when sub-warp moving"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "warpFuelConsumptionRate",
            "docs": [
              "the amount of fuel consumed by the ship when warp moving"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "planetExitFuelAmount",
            "docs": [
              "the amount of fuel required to exit a planet"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "warpXpRate",
            "docs": [
              "the amount of XP earned for each AU of warp distance"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "subwarpXpRate",
            "docs": [
              "the amount of XP earned for each AU of subwarp distance"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "name",
      "type": {
        "kind": "tupleTypeNode",
        "items": [
          {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 64
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "noiseMapType",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "openSimplex",
            "discriminator": 0
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "superSimplex",
            "discriminator": 1
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "simplex",
            "discriminator": 2
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "perlinSurflet",
            "discriminator": 3
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "perlin",
            "discriminator": 4
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "noisePowerFunction",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "linear",
            "discriminator": 0
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "quadratic",
            "discriminator": 1
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "cubic",
            "discriminator": 2
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "sqrt",
            "discriminator": 3
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "optionalTier",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "none",
            "discriminator": 0
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "one",
            "discriminator": 1
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "two",
            "discriminator": 2
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "three",
            "discriminator": 3
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "four",
            "discriminator": 4
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "five",
            "discriminator": 5
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "orderBookSide",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "idCounter",
            "docs": [
              "An incrememnting counter for each order id. The first bit is set to 1 for asks."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "makers",
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "publicKeyTypeNode"
              },
              "value": {
                "kind": "definedTypeLinkNode",
                "name": "makerInfo"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "orders",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "orderInfo"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "orderInfo",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "price",
            "docs": [
              "The price in Atlas (Floyds)"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "quantity",
            "docs": [
              "The quantity of cargo being sold"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "orderId",
            "docs": [
              "A unique (for the market) id for this order"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maker",
            "docs": [
              "The maker id of the maker who placed the order"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "orderSide",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "bid",
            "discriminator": 0
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "ask",
            "discriminator": 1
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "orderTotals",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "atlas",
            "docs": [
              "Atlas either escrowed from buy orders or released from completed sell orders"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cargo",
            "docs": [
              "Cargo either escrowed from sell orders or released from completed buy orders"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "packedAxisCursor",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "index",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "revision",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "effectiveFrom",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "frontier",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "packedEvalCore",
      "docs": [
        "The engine's [`EvalCore`] as stored in the Eval account (lossless)."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "origClock",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cutoff",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "phase",
            "docs": [
              "0 Init · 1 PhaseA · 2 PhaseB · 3 Ready."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "costBits",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 16
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "totalDur",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "coverageProven",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "stepsTaken",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "prePresent",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "preRate",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 16
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "preEnd",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "aPreT",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bPreT",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bPrimed",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bRemainingBits",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 16
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bSegConsumed",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bCovered",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pricedBalance",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "budgetRevision",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bPaused",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bCurrentPresent",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bCurrentRate",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 16
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bCurrentDuration",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "readerA",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "packedReader"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "readerB",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "packedReader"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "packedReader",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "present",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "t",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cutoff",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "done",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "coverageProven",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "axes",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "packedAxisCursor"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 3
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "grid",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 280
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "tier",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "multBits",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "perkDefInput",
      "docs": [
        "One perk-catalogue row, authored on-chain (the on-chain mirror of the reference",
        "`PerkDef`, perks_rs:80-99). `BorshSerialize/Deserialize + TypeToIdl` for the client/IDL",
        "surface (as `CrewTransferInput`, crew_transfer_common_rs:129)."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "id",
            "docs": [
              "stable catalogue id (`PerkSlot.perk_id`; `0` reserved = empty)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "slotFamily",
            "docs": [
              "the no-op-default slot family this perk's delta lands on (raw `SlotFamily` byte)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "trigger",
            "docs": [
              "the trigger gating the perk (raw `Trigger` byte)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "magPerTier",
            "docs": [
              "magnitude per tier, as the `i16` q-format the summary stores (master §5.1 fixed-point)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "aptitudeGate",
            "docs": [
              "the aptitude whose major/anomalous tag gates the offer (raw `Aptitude` byte)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rarityFloor",
            "docs": [
              "the rarity floor (raw `Rarity` byte)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "personalityTraitIdx",
            "docs": [
              "optional personality gate: `trait_idx`/`op`/`threshold_q8` (`op == 0xFF` ⇒ none)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "personalityOp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "personalityThresholdQ8",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "perkSlot",
      "docs": [
        "One unlocked perk slot (master §3.1: `[PerkSlot; 4]`). `perk_id == 0` ⇒ empty",
        "(sentinel, same rationale as `GearRef`; reference-impl `PerkSlot`, record_rs:304-315).",
        "",
        "Byte-exact to `layout.PerkSlotPod` (record_rs:508-516):",
        "`perk_id(2) + tier(1) + _pad(1) = 4 B`."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "perkId",
            "docs": [
              "On-chain perk definition id. `0` ⇒ empty slot (the sentinel)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "tier",
            "docs": [
              "Perk tier."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad",
            "docs": [
              "Padding to the 4-byte slot (`layout.PerkSlotPod._pad`)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "pilotXpBudget",
      "docs": [
        "Regenerating pilot XP budget (AP-style). Pilot XP from movement draws from",
        "this budget, which refills continuously in real time — independent of any",
        "player action, so a lapsed player loses nothing and a scripted fleet cannot",
        "out-earn the regen rate no matter how many actions it performs.",
        "",
        "The final eight bytes preserve the legacy `available: u64` wire slot as",
        "`available: u16` followed by a Q0.48 fractional carry. Legacy values were",
        "bounded to 360, so existing account bytes decode directly with a zero carry."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "lastAccrualTime",
            "docs": [
              "Timestamp regen has been accounted up to. Remainder seconds toward the",
              "next XP stay unconsumed, so frequent small accruals lose nothing."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "available",
            "docs": [
              "Whole Pilot XP currently available to earn."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "fractionalCarry",
            "docs": [
              "Fractional Pilot XP accumulated across movement settlements, encoded as",
              "an unsigned Q0.48 little-endian value."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 6
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "planet",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "claimStakePlots",
            "docs": [
              "Claim stake plots on the planet. 5x7 grid where rows are corresponding starbase level and columns are claim stake tier"
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                },
                "count": {
                  "kind": "fixedCountNode",
                  "value": 5
                }
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 7
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "baseClaimStakeRentRate",
            "docs": [
              "Base rent rate for claim stakes on the planet. 5x7 grid where rows are corresponding starbase level and columns are claim stake tier"
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "numberTypeNode",
                  "format": "u64",
                  "endian": "le"
                },
                "count": {
                  "kind": "fixedCountNode",
                  "value": 5
                }
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 7
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "baseClaimStakePlacementFee",
            "docs": [
              "Base placement fee for claim stakes on the planet. 5x7 grid where rows are corresponding starbase level and columns are claim stake tier"
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "numberTypeNode",
                  "format": "u64",
                  "endian": "le"
                },
                "count": {
                  "kind": "fixedCountNode",
                  "value": 5
                }
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 7
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "resources",
            "docs": [
              "Resources available at the planet"
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "providedTags",
            "docs": [
              "The tags that this `CelestialBody` provides, used to validate claim stakes"
            ],
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "buildingTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "claimedPlots",
            "docs": [
              "The claim stakes placed on the planet"
            ],
            "type": {
              "kind": "structTypeNode",
              "fields": [
                {
                  "kind": "structFieldTypeNode",
                  "name": "unsizedLen",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The total size of the unsized bytes in the list"
                  ],
                  "type": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                },
                {
                  "kind": "structFieldTypeNode",
                  "name": "offsetList",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The list of items containing offsets, and potentially extra metadata, for the start of each element in the unsized list"
                  ],
                  "type": {
                    "kind": "arrayTypeNode",
                    "item": {
                      "kind": "structTypeNode",
                      "fields": [
                        {
                          "kind": "structFieldTypeNode",
                          "name": "offset",
                          "type": {
                            "kind": "numberTypeNode",
                            "format": "u32",
                            "endian": "le"
                          }
                        },
                        {
                          "kind": "structFieldTypeNode",
                          "name": "key",
                          "type": {
                            "kind": "numberTypeNode",
                            "format": "u8",
                            "endian": "le"
                          }
                        }
                      ]
                    },
                    "count": {
                      "kind": "prefixedCountNode",
                      "prefix": {
                        "kind": "numberTypeNode",
                        "format": "u32",
                        "endian": "le"
                      }
                    }
                  }
                },
                {
                  "kind": "structFieldTypeNode",
                  "name": "unsizedList",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The list of byte offsets for the start of each element in the unsized list"
                  ],
                  "type": {
                    "kind": "arrayTypeNode",
                    "item": {
                      "kind": "definedTypeLinkNode",
                      "name": "claimStakesInfo"
                    },
                    "count": {
                      "kind": "prefixedCountNode",
                      "prefix": {
                        "kind": "numberTypeNode",
                        "format": "u32",
                        "endian": "le"
                      }
                    }
                  }
                }
              ]
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "poolOfferEntry",
      "docs": [
        "A single registered offer in a pool's envelope: one item the NPC may sell and/or buy.",
        "",
        "`side_flags` is a bitmask (not an [`OrderSide`](crate::state::OrderSide) enum) so the entry stays",
        "`Pod`/zero-copy, exactly like `ScanLootEntry`: `bit0` = NPC sells to the player (Ask),",
        "`bit1` = NPC buys from the player (Bid — the faucet leg, gated by `EncounterPool::faucet_enabled`)."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "cargoId",
            "docs": [
              "The item this offer concerns (same id space as the cargo/market system)."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "sideFlags",
            "docs": [
              "Side bitmask: `SIDE_SELL` (NPC sells / Ask) and/or `SIDE_BUY` (NPC buys / Bid / faucet)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minPrice",
            "docs": [
              "Predefined price band, Atlas (Floyds). The concrete price is drawn in `[min, max]` at reveal.",
              "A truly fixed price is the degenerate band `min == max`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxPrice",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minQty",
            "docs": [
              "Per-spawn supply band (units). The concrete qty is drawn in `[min, max]`, then capped by the",
              "treasury reserve and (at trade time) by the player's own fleet cargo."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxQty",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "threshold",
            "docs": [
              "Threshold gate over the reveal draw value (same semantics as `ScanLootEntry.threshold`):",
              "the offer is eligible only when `threshold < value`. Enables \"rare within the rare event\" items."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rollWeight",
            "docs": [
              "Selection weight for the weighted draw (same domain as `ScanLootEntry.roll_weight`)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "processOrderArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "side",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "orderSide"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "price",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "quantity",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "fillOrKill",
            "type": {
              "kind": "booleanTypeNode",
              "size": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "productionCore",
      "docs": [
        "A reusable, unsized component that encapsulates the common state and logic",
        "for time-based resource production and consumption.",
        "",
        "This component is designed to be embedded within larger account structs,",
        "like a `CraftingHabInstance` or `ClaimStakeInstance`, to provide a standardized",
        "implementation for resource ticking mechanics."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "lastTickTimestamp",
            "docs": [
              "The Unix timestamp of the last time resource production was calculated."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "resourceStorage",
            "docs": [
              "The total storage capacity available for resources within the `cargo_pod`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "netResourceProduction",
            "docs": [
              "A map of resource IDs to their net production rates per second.",
              "A positive rate indicates production, while a negative rate indicates consumption."
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "i64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cargoPod",
            "docs": [
              "The cargo storage component where resources are actually held."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoPod"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "recipeFeeRecipient",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "atlas",
            "discriminator": 0
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "daoatlas",
            "discriminator": 1
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "recipeId",
      "type": {
        "kind": "tupleTypeNode",
        "items": [
          {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "recipeStatus",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "active",
            "discriminator": 0
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "deactivated",
            "discriminator": 1
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "region",
      "docs": [
        "A single Region"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "id",
            "docs": [
              "The id of this region"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "regionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "docs": [
              "The name of this region"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "name"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "owner",
            "docs": [
              "The faction that owns this region"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "faction",
              "program": {
                "kind": "programLinkNode",
                "name": "profileFactionStarFrame"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "safetyStatus",
            "docs": [
              "Whether this region currently resolves to an effective low-risk zone."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "safetyStatus"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "boundingBox",
            "docs": [
              "A pre-calculated bounding box for this region for fast spatial queries."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "boundingBox"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xpModifier",
            "docs": [
              "The xp modifier for this region"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "riskZone",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "riskZone"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "border",
            "docs": [
              "the border of this region"
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "numberTypeNode",
                  "format": "i64",
                  "endian": "le"
                },
                "count": {
                  "kind": "fixedCountNode",
                  "value": 2
                }
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "neighborsByEdge",
            "docs": [
              "per-edge neighbor mapping aligned with `border` (0 = deep space)"
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "regionId"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "connections",
            "docs": [
              "Regions connected by at least one cross-region system warp lane."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "regionId"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "systems",
            "docs": [
              "the systems in this region"
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "systemId"
              },
              "value": {
                "kind": "definedTypeLinkNode",
                "name": "faction",
                "program": {
                  "kind": "programLinkNode",
                  "name": "profileFactionStarFrame"
                }
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "coreSystems",
            "docs": [
              "the core systems of this region"
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "systemId"
              },
              "value": {
                "kind": "definedTypeLinkNode",
                "name": "faction",
                "program": {
                  "kind": "programLinkNode",
                  "name": "profileFactionStarFrame"
                }
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "scanningResearchRequirements",
            "docs": [
              "the research requirements for scanning"
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "researchTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "miningResearchRequirements",
            "docs": [
              "the research requirements for mining"
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "researchTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "regionId",
      "type": {
        "kind": "tupleTypeNode",
        "items": [
          {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "registerCelestialBodyArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "docs": [
              "`CelestialBody` name"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "name"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "celestialBodyType",
            "docs": [
              "`CelestialBody` type"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "celestialBodyTypeBorsh"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "registerEncounterPoolArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "triggerWeight",
            "docs": [
              "Ultra-rare candidacy chance numerator; the probability is `trigger_weight / trigger_total`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "triggerTotal",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "marketTtlSecs",
            "docs": [
              "Market lifetime once revealed, in seconds (e.g. 300)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlasBurnBps",
            "docs": [
              "ATLAS-burn sink on the faucet leg, in basis points (`0` = off until econ enables)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "faucetEnabled",
            "docs": [
              "`0` = faucet (NPC buys from the player) disabled ⇒ the market is sell-only."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rotationEnabled",
            "docs": [
              "`0` = no catalog rotation."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rotationPeriodSecs",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "offers",
            "docs": [
              "The allowed offer set (buy/sell per `side_flags`). Must be non-empty."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "poolOfferEntry"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "registerStarbaseArgs",
      "docs": [
        "Struct for data input to Register `Starbase`"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseLevel",
            "docs": [
              "The index representing the level of the `Starbase` in the game variables."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseLevel"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "localMarketEnableLevel",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseLevel"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "repairEnableLevel",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseLevel"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseMaxLevel",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseMaxLevelSet"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "locationTags",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "locationTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "buildingTags",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "buildingTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "faction",
            "docs": [
              "The `Starbase` faction"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "faction",
              "program": {
                "kind": "programLinkNode",
                "name": "profileFactionStarFrame"
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "relationEntry",
      "docs": [
        "Per-pair relation record (the `Map` value). Account-field-only → `borsh_with_bytemuck!`. CANNOT be `Pod`",
        "(it embeds the [`Relationship`] enum). `#[repr(C)]` with `PackedValue` for the i64 keeps it align-1",
        "without `packed` (mirrors [`ScanLootEntry`](crate::state::ScanLootEntry))."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "rel",
            "docs": [
              "The relationship kind."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "relationship"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "docs": [
              "Reserved per-pair growth (NOT alignment padding)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 7
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "ceasefireUntil",
            "docs": [
              "Unix ts the ceasefire lifts; attackable once `now >= this` (meaningful only when `rel == Ceasefire`)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "relationship",
      "docs": [
        "Pairwise faction relationship. Dual-use (the value stored in [`RelationEntry`] AND the `rel` arg of",
        "`SetFactionRelation`) → mirror [`FactionStatus`](crate::state::FactionStatus): explicit Borsh",
        "(variant-aware, for the ix arg + IDL) + bytemuck (for the packed account field). NOT `borsh_with_bytemuck!`."
      ],
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "neutral",
            "discriminator": 0
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "allied",
            "discriminator": 1
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "hostile",
            "discriminator": 2
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "ceasefire",
            "discriminator": 3
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "renownConfig",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "divisor",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "feederCategories",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "rentRecord",
      "docs": [
        "One history record."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "effectiveFrom",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "revision",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "value",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 280
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "rentSettlementReceipt",
      "docs": [
        "The identity-bound result of one committed settlement (the stake is implied by the authority PDA)."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "incarnation",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "nonce",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "debit",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "newClock",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reached",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "researchNode",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "id",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "researchNodeId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "name"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlasCost",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxLevel",
            "docs": [
              "Maximum unlock level. A value of 1 is a normal one-time node; 0 means unlimited."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "costGrowthBps",
            "docs": [
              "Linear per-level economic cost increase in basis points, applied to cargo and ATLAS costs."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cargoCost",
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "requiredTags",
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "researchTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xpCost",
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "xpCategory"
              },
              "value": {
                "kind": "definedTypeLinkNode",
                "name": "xpCost"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "modifier",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "characterModifier"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "researchNodeId",
      "type": {
        "kind": "tupleTypeNode",
        "items": [
          {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "researchTag",
      "type": {
        "kind": "tupleTypeNode",
        "items": [
          {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "researchTreeDefinitions",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "seqId",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "nodes",
            "type": {
              "kind": "structTypeNode",
              "fields": [
                {
                  "kind": "structFieldTypeNode",
                  "name": "unsizedLen",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The total size of the unsized bytes in the list"
                  ],
                  "type": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                },
                {
                  "kind": "structFieldTypeNode",
                  "name": "offsetList",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The list of items containing offsets, and potentially extra metadata, for the start of each element in the unsized list"
                  ],
                  "type": {
                    "kind": "arrayTypeNode",
                    "item": {
                      "kind": "structTypeNode",
                      "fields": [
                        {
                          "kind": "structFieldTypeNode",
                          "name": "offset",
                          "type": {
                            "kind": "numberTypeNode",
                            "format": "u32",
                            "endian": "le"
                          }
                        },
                        {
                          "kind": "structFieldTypeNode",
                          "name": "key",
                          "type": {
                            "kind": "definedTypeLinkNode",
                            "name": "researchNodeId"
                          }
                        }
                      ]
                    },
                    "count": {
                      "kind": "prefixedCountNode",
                      "prefix": {
                        "kind": "numberTypeNode",
                        "format": "u32",
                        "endian": "le"
                      }
                    }
                  }
                },
                {
                  "kind": "structFieldTypeNode",
                  "name": "unsizedList",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The list of byte offsets for the start of each element in the unsized list"
                  ],
                  "type": {
                    "kind": "arrayTypeNode",
                    "item": {
                      "kind": "definedTypeLinkNode",
                      "name": "researchNode"
                    },
                    "count": {
                      "kind": "prefixedCountNode",
                      "prefix": {
                        "kind": "numberTypeNode",
                        "format": "u32",
                        "endian": "le"
                      }
                    }
                  }
                }
              ]
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "resources",
      "docs": [
        "Token resources"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "ammo",
            "docs": [
              "ammunition"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "food",
            "docs": [
              "food"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "fuel",
            "docs": [
              "fuel"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "repairKit",
            "docs": [
              "repair kit"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "resourcesPartial",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "ammo",
            "docs": [
              "ammunition"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "food",
            "docs": [
              "food"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "fuel",
            "docs": [
              "fuel"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "repairKit",
            "docs": [
              "repair kit"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "respawn",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "start",
            "docs": [
              "When the fleet started warping"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "end",
            "docs": [
              "The expected respawn end time"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "wasInLowRiskZone",
            "docs": [
              "Flag to determine if respawn started at a low risk zone."
            ],
            "type": {
              "kind": "booleanTypeNode",
              "size": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "respawnQueue",
      "docs": [
        "Tracks a batch of items that are respawning"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "quantity",
            "docs": [
              "The number of items in the respawn queue"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "completeAt",
            "docs": [
              "The unix timestamp at which the items will be fully respawned"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "riskZone",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "lowRiskZone",
            "discriminator": 0,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "faction",
                  "program": {
                    "kind": "programLinkNode",
                    "name": "profileFactionStarFrame"
                  }
                }
              ]
            }
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "mediumRiskZone",
            "discriminator": 1
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "highRiskZone",
            "discriminator": 2
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "riskZoneBorsh",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "lowRiskZone",
            "discriminator": 0,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "faction",
                  "program": {
                    "kind": "programLinkNode",
                    "name": "profileFactionStarFrame"
                  }
                }
              ]
            }
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "mediumRiskZone",
            "discriminator": 1
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "highRiskZone",
            "discriminator": 2
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "riskZoneChecked",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "lowRiskZone",
            "discriminator": 0
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "mediumRiskZone",
            "discriminator": 1
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "highRiskZone",
            "discriminator": 2
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "rosterSummary",
      "docs": [
        "The cached O(1) roster aggregate — **315-byte** packed header (the original 274-byte block",
        "plus the tail-appended per-category-XP accumulators and `max_rarity` cache).",
        "",
        "Field order and sizes are byte-exact to `crew-mechanics-detail.md` §1.3 /",
        "reference-impl `layout.RosterSummaryPod` (record_rs:582-608). Blocks:",
        "identity/paging/census = 40, aptitude sums = 88, perks = 92, gear/command = 30,",
        "xp = 16, reserved = 8 → 274 (the original block; the appended tails bring the struct",
        "to 315 — `consts_rs.ROSTER_SUMMARY_BYTES`)."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "version",
            "docs": [
              "Account/page data version — doubles as the **page-level schema version** for the",
              "cross-chain bridge (cuniculture review, PR #732): it versions the roster-account",
              "envelope, while the per-crew snapshot that exits escrow independently is versioned by",
              "`super.CrewRecord.schema_version`. Bumped only on an envelope-shape change; the canonical",
              "round-trip encoding is specified in the crew bridge design doc."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pageIndex",
            "docs": [
              "This page's index within a multi-page roster (`0`-based)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pageCount",
            "docs": [
              "Total page count for this roster."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pad0",
            "docs": [
              "Pad to align the census block (`layout.RosterSummaryPod._pad0`)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 3
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "countByAssignment",
            "docs": [
              "Census: count of crew per `CrewStatusTag` (`u32` each), indexed by the tag",
              "discriminant. Width = `CrewStatusTag::COUNT == 5`."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 5
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rentedCount",
            "docs": [
              "Number of rented crew on this roster."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "normalizedCrewTotal",
            "docs": [
              "The resurrected `total_crew` — count of present crew (AtStarbase/OnFleet/Busy)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "recordCount",
            "docs": [
              "Total records on this page (present + absent)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "sumApt",
            "docs": [
              "Σ aptitude magnitude across present crew, per aptitude (`u64` each, indexed by",
              "`Aptitude`). Width = `Aptitude.COUNT == 9`."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 9
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "sumWeights",
            "docs": [
              "Σ per-crew weights (level/rarity-weighted denominator for averages)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rarityWeightSum",
            "docs": [
              "Σ rarity weight (the anti-P2W rarity-counted-once denominator, master §5.2)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "perkUncond",
            "docs": [
              "Pre-summed `Always`-trigger perk deltas per slot-family, as `i16` q-format",
              "(indexed by `SlotFamily`, width `SlotFamily.COUNT == 13`). The fold applies the",
              "joint clamp; this is the raw running sum."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "i16",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 13
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "perkCond",
            "docs": [
              "Conditional perks the consumer evaluates per-tick (≤ `PERK_COND_CAP == 8`);",
              "unused slots have `perk_id == 0`."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "condPerkEntry"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "nonneutralSlotMask",
            "docs": [
              "Bit `i` set ⇒ the fleet is non-neutral on `SlotFamily(i)` — the breadth-cap mask",
              "(master §5.1; the cross-loop product bound is enforced at the fold via",
              "`MAX_NONNEUTRAL_SLOTS_PER_FLEET`)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "gearScalar",
            "docs": [
              "Pre-summed gear deltas per slot-family, `i16` q-format (indexed by `SlotFamily`)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "i16",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 13
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "commandConcurrency",
            "docs": [
              "Command-officer concurrency bonus, `i16` (extra parallel jobs; master §3.5)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "commandCrewcount",
            "docs": [
              "Command crew-count COST reduction, `i16` q-format (≤ 1.0, floor",
              "`CREWCOUNT_FLOOR = 0.87` at the fold — contract-change request #4, never `×1.15`)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xpAccumulator",
            "docs": [
              "Fleet per-capita XP accumulator (the lazy-XP high-water mark; master §S.4)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastXpTick",
            "docs": [
              "Unix ts of the last XP tick applied to `xp_accumulator`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "docs": [
              "Forward-compat reserved tail (`layout.RosterSummaryPod._reserved`). Zero today;",
              "lets the header grow without a migration (kept inside the original 274-byte budget). The",
              "per-skill-XP accumulator below is appended AFTER this, so offsets ≤ 273 stay byte-identical."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 8
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xpAccumulatorByCategory",
            "docs": [
              "Per-activity per-capita XP accumulator (the §S.4 lazy-XP high-water mark, ONE stream per",
              "`CrewXpCategory`(crate.state.CrewXpCategory)). The single-track `xp_accumulator` above",
              "(off 250) is kept as the lifetime-total high-water mark for back-compat; these are the",
              "per-activity high-water marks each crew's `xp_realized_by_category` snapshots against. A",
              "gameplay loop pours its activity's XP into `xp_accumulator_by_category[cat]` in O(1)",
              "(`crate.folds.xp.pour_xp_category`); crew realize their per-category share lazily on",
              "touch (load/unload/`LevelUpCrew`)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 5
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxRarity",
            "docs": [
              "Highest `Rarity`(crate.state.Rarity) discriminant among the crew this summary",
              "aggregates (`0` = Common/empty … `5` = Anomaly) — the faithful per-fleet rarity context",
              "for the `RarityAtLeast` trigger (Veteran's Pull #18: fires while a `>= Legendary` crew is",
              "onboarded). Maintained by the same from-scratch re-derive that owns the modifier lanes",
              "(`load_fleet_rs.rederive_fleet_modifier_lanes` — reset to 0, then `max(rec.rarity)` over",
              "the onboarded subset). Zero-default ⇒ `Common` ⇒ `RarityAtLeast` false ⇒ flag-off-safe.",
              "Tail-appended (the #17 technique): every offset ≤ 313 stays byte-identical."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "safetyStatus",
      "docs": [
        "Whether a region's authored risk tier is currently secured by faction control.",
        "",
        "`Safe` is the dynamic signal used to promote a non-home region to an effective",
        "low-risk zone. `Border` leaves the region at its authored risk tier."
      ],
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "safe",
            "discriminator": 0
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "border",
            "discriminator": 1
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "salvageRewardEntry",
      "docs": [
        "One entry in the synthetic-salvage table."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "cargoId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "weight",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "referenceValue",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "scanCategory",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "any",
            "discriminator": 0
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "industrial",
            "discriminator": 1
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "technology",
            "discriminator": 2
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "tactical",
            "discriminator": 3
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "exotic",
            "discriminator": 4
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "scanCost",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "cargo",
            "docs": [
              "The token to pay."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "costMultiplier",
            "docs": [
              "Multiplys the fleet's scan cost by this value."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "scanLootEntry",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "output",
            "docs": [
              "The cargo type to output."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "outputAmount",
            "docs": [
              "Amount of tokens output, multiplied by the fleet's scan power."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "threshold",
            "docs": [
              "All results past this threshold are added to the pool."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rollWeight",
            "docs": [
              "The higher this value, the more likely it is to be selected from the pool."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xpValue",
            "docs": [
              "Multiplied by scan power"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "researchRequirementCount",
            "docs": [
              "Number of populated entries in research_requirements."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "researchRequirements",
            "docs": [
              "All listed research tags must be present for this loot entry to roll."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "researchTag"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 4
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "scanNoiseMap",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "noiseMapType",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "noisePowerFunction",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xMultiplier",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "yMultiplier",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "zMultiplier",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xCenter",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "yCenter",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "originMaxDistance",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "weight",
            "docs": [
              "Weights are added together then multiplied by the fleet's scan bonus to get the final result."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "seedOffset",
            "docs": [
              "An offset to the global seed, should be different for each noise map in a pattern."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "scanNoiseMapBorsh",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "noiseMapType",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "noiseMapType"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "noisePowerFunction",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "noisePowerFunction"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xMultiplier",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "yMultiplier",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "zMultiplier",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xCenter",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "yCenter",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "originMaxDistance",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "weight",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "seedOffset",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "scanPatternId",
      "type": {
        "kind": "tupleTypeNode",
        "items": [
          {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "scanPatternPolicyValues",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "status",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "scanPatternStatus"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "strategy",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "scanStrategy"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "contactChanceBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxRarity",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "scanRarity"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "requiredResearchTags",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "researchTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "targetRadius",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "signalTtlSecs",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "noContactXp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "recoveryXp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "exhaustionPerRecoveryBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxExhaustionBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "exhaustionDecaySecs",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "valueBudget",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "allowedFocusCategoryMask",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "scanPatternStatus",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "draft",
            "discriminator": 0
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "active",
            "discriminator": 1
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "removed",
            "discriminator": 2
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "scanProfileLootEntry",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "cargoId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "baseQuantity",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rollWeight",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "valueUnits",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "quantityMode",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rarity",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "category",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "patternMask",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "researchRequirementCount",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "researchRequirements",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "researchTag"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 4
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reserved",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 3
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "scanProfileLootEntryInput",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "cargoId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "baseQuantity",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rollWeight",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "valueUnits",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "quantityMode",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "rarity",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "category",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "patternMask",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "researchRequirements",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "researchTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "scanRarity",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "common",
            "discriminator": 0
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "uncommon",
            "discriminator": 1
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "rare",
            "discriminator": 2
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "epic",
            "discriminator": 3
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "legendary",
            "discriminator": 4
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "anomalous",
            "discriminator": 5
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "scanStrategy",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "broad",
            "discriminator": 0
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "focused",
            "discriminator": 1
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "enhanced",
            "discriminator": 2
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "deep",
            "discriminator": 3
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "spatial",
            "discriminator": 4
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "setContestedArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "contestedUntil",
            "docs": [
              "New contested window (0 = clear; else strictly-future + capped)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "setFactionConfigArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "decayPerDay",
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "dailyCap",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "standingBps",
            "docs": [
              "Ask-leg value→standing bps (`0` disables sell-order accrual)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "drHalfLife",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "drScale",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "standingEpochCap",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "standingEpochLenSecs",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "dockMinBand",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "territoryYieldPerTick",
            "docs": [
              "P5 territory payoff: ATLAS yield per hold-tick to the controlling faction's treasury (0 = disabled)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "territoryYieldTickSecs",
            "docs": [
              "P5 territory payoff: yield accrual cadence (secs)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "setFactionRelationConfigArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "combatGatingEnabled",
            "docs": [
              "`0` = OFF (today's same-faction-only combat), `1` = relation-gated combat ON."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "territoryAccessEnabled",
            "docs": [
              "`0` = OFF (own-faction docking only), `1` = relation/standing dock admission ON."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "crossFactionEconomicsEnabled",
            "docs": [
              "P3.5 reserved: cross-faction warp economics master switch (keep `0`)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "ceasefireMinDurationSecs",
            "docs": [
              "Minimum ceasefire duration (secs) `SetFactionRelation` will accept."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "reCeasefireCooldownSecs",
            "docs": [
              "Cooldown (secs) after a ceasefire ends before the same pair may re-enter one."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "alliedTollBps",
            "docs": [
              "P3.5 reserved: allied cross-faction warp toll (bps)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "neutralTollBps",
            "docs": [
              "P3.5 reserved: neutral cross-faction warp toll (bps)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "dynamicCaptureEnabled",
            "docs": [
              "P4 territory: dynamic-capture regime master switch (`0` = OFF, `1` = ON)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "contestedWindowSecs",
            "docs": [
              "P4 territory: base contested-window (secs) a capture stamps onto the sidecar (clamped UP to",
              "`MIN_CONTESTED_WINDOW_SECS`); `0` ⇒ only the floor applies."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "nemesisActive",
            "docs": [
              "P5b antagonist master switch (`0` = OFF, `1` = ON). The activation double-gate is",
              "`dynamic_capture_enabled == 1 && nemesis_active == 1`. Keep `0` until the §10 activation checklist passes."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "setFleetDirectiveArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "kind",
            "docs": [
              "Directive kind discriminant ([`FleetDirectiveKind`]); unknown ⇒ `InvalidFleetDirective`.",
              "`NemesisHunt` (=4) is ADMIN-ONLY."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "aggression",
            "docs": [
              "0–100 off-chain AI dial (pursuit range / engage odds). NO on-chain rate consequence."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "targetFaction",
            "docs": [
              "Target faction for `Invade`/`Defend`/etc. (0 = none)."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "target",
            "docs": [
              "Target coordinate (`[Point; 2]`)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "i64",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 2
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "expiresAt",
            "docs": [
              "Absolute unix expiry (0 = never; encoded i32-relative on write — out-of-range ⇒ `InvalidFleetDirective`)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "ship",
      "docs": [
        "The definitions of a ship in the game."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "id",
            "docs": [
              "The id of this ship in the `ShipDefinitions` map"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "shipId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "docs": [
              "The name of this `Ship`"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "name"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "mint",
            "docs": [
              "The mint associated with this ship"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "sizeClass",
            "docs": [
              "The ship's size class"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "sizeClass"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "stats",
            "docs": [
              "The ship's stats"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "shipStats"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "researchRequirements",
            "docs": [
              "The research requirements needed to use this ship"
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "researchTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "componentRequirements",
            "docs": [
              "The ship components required to use this ship"
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "shipCounts",
      "docs": [
        "Ship counts for a fleet."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "total",
            "docs": [
              "The total number of ships in the fleet."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xxSmall",
            "docs": [
              "The number of xx small ships in the fleet."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xSmall",
            "docs": [
              "The number of x small ships in the fleet."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "small",
            "docs": [
              "The number of small ships in the fleet."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "medium",
            "docs": [
              "The number of medium ships in the fleet."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "large",
            "docs": [
              "The number of large ships in the fleet."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "capital",
            "docs": [
              "The number of capital ships in the fleet."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "commander",
            "docs": [
              "The number of commander ships in the fleet."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "titan",
            "docs": [
              "The number of titan ships in the fleet."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "shipDefinitions",
      "docs": [
        "A collection of [`Ship`] definitions and their associated mints. This is stored in [`Game`](crate::state::Game::ship_definitions)."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "seqId",
            "docs": [
              "The sequence id of this type"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxFleetSize",
            "docs": [
              "Max weighted number of ships in a fleet, calculated with [`ShipCounts::get_fleet_size`]"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "mintToId",
            "docs": [
              "The map of mints to ship ids. This should be append-only, as old mints must be retained to allow withdrawal of removed ships."
            ],
            "type": {
              "kind": "structTypeNode",
              "fields": [
                {
                  "kind": "structFieldTypeNode",
                  "name": "unsizedLen",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The total size of the unsized bytes in the list"
                  ],
                  "type": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                },
                {
                  "kind": "structFieldTypeNode",
                  "name": "offsetList",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The list of items containing offsets, and potentially extra metadata, for the start of each element in the unsized list"
                  ],
                  "type": {
                    "kind": "arrayTypeNode",
                    "item": {
                      "kind": "structTypeNode",
                      "fields": [
                        {
                          "kind": "structFieldTypeNode",
                          "name": "offset",
                          "type": {
                            "kind": "numberTypeNode",
                            "format": "u32",
                            "endian": "le"
                          }
                        },
                        {
                          "kind": "structFieldTypeNode",
                          "name": "key",
                          "type": {
                            "kind": "publicKeyTypeNode"
                          }
                        }
                      ]
                    },
                    "count": {
                      "kind": "prefixedCountNode",
                      "prefix": {
                        "kind": "numberTypeNode",
                        "format": "u32",
                        "endian": "le"
                      }
                    }
                  }
                },
                {
                  "kind": "structFieldTypeNode",
                  "name": "unsizedList",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The list of byte offsets for the start of each element in the unsized list"
                  ],
                  "type": {
                    "kind": "arrayTypeNode",
                    "item": {
                      "kind": "setTypeNode",
                      "item": {
                        "kind": "definedTypeLinkNode",
                        "name": "shipId"
                      },
                      "count": {
                        "kind": "prefixedCountNode",
                        "prefix": {
                          "kind": "numberTypeNode",
                          "format": "u32",
                          "endian": "le"
                        }
                      }
                    },
                    "count": {
                      "kind": "prefixedCountNode",
                      "prefix": {
                        "kind": "numberTypeNode",
                        "format": "u32",
                        "endian": "le"
                      }
                    }
                  }
                }
              ]
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "ships",
            "docs": [
              "The map of ship ids to ship definitions"
            ],
            "type": {
              "kind": "structTypeNode",
              "fields": [
                {
                  "kind": "structFieldTypeNode",
                  "name": "unsizedLen",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The total size of the unsized bytes in the list"
                  ],
                  "type": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                },
                {
                  "kind": "structFieldTypeNode",
                  "name": "offsetList",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The list of items containing offsets, and potentially extra metadata, for the start of each element in the unsized list"
                  ],
                  "type": {
                    "kind": "arrayTypeNode",
                    "item": {
                      "kind": "structTypeNode",
                      "fields": [
                        {
                          "kind": "structFieldTypeNode",
                          "name": "offset",
                          "type": {
                            "kind": "numberTypeNode",
                            "format": "u32",
                            "endian": "le"
                          }
                        },
                        {
                          "kind": "structFieldTypeNode",
                          "name": "key",
                          "type": {
                            "kind": "definedTypeLinkNode",
                            "name": "shipId"
                          }
                        }
                      ]
                    },
                    "count": {
                      "kind": "prefixedCountNode",
                      "prefix": {
                        "kind": "numberTypeNode",
                        "format": "u32",
                        "endian": "le"
                      }
                    }
                  }
                },
                {
                  "kind": "structFieldTypeNode",
                  "name": "unsizedList",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The list of byte offsets for the start of each element in the unsized list"
                  ],
                  "type": {
                    "kind": "arrayTypeNode",
                    "item": {
                      "kind": "definedTypeLinkNode",
                      "name": "ship"
                    },
                    "count": {
                      "kind": "prefixedCountNode",
                      "prefix": {
                        "kind": "numberTypeNode",
                        "format": "u32",
                        "endian": "le"
                      }
                    }
                  }
                }
              ]
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "shipId",
      "type": {
        "kind": "tupleTypeNode",
        "items": [
          {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "shipSized",
      "docs": [
        "Sized portion of [`Ship`]"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "id",
            "docs": [
              "The id of this ship in the `ShipDefinitions` map"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "shipId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "docs": [
              "The name of this `Ship`"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "name"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "mint",
            "docs": [
              "The mint associated with this ship"
            ],
            "type": {
              "kind": "publicKeyTypeNode"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "sizeClass",
            "docs": [
              "The ship's size class"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "sizeClass"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "stats",
            "docs": [
              "The ship's stats"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "shipStats"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "shipStats",
      "docs": [
        "A ship's stats"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "movementStats",
            "docs": [
              "Movement stats for the ship"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "movementStats"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cargoStats",
            "docs": [
              "Cargo stats for the ship"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoStats"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "combatStats",
            "docs": [
              "Combat stats for the ship"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "combatStats"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "miscStats",
            "docs": [
              "Miscellaneous stats for the ship"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "miscStats"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "shipUnsizedInput",
      "docs": [
        "Struct for data input to update miscellaneous settings"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "researchRequirements",
            "docs": [
              "The research requirements needed to use this ship"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "numberTypeNode",
                  "format": "u16",
                  "endian": "le"
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "componentRequirements",
            "docs": [
              "The ship components required to use this ship"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "tupleTypeNode",
                  "items": [
                    {
                      "kind": "numberTypeNode",
                      "format": "u16",
                      "endian": "le"
                    },
                    {
                      "kind": "numberTypeNode",
                      "format": "u64",
                      "endian": "le"
                    }
                  ]
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "shipUploadMode",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "create",
            "discriminator": 0
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "update",
            "discriminator": 1
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "singleCargo",
      "docs": [
        "Represents a single type of cargo with its amount.",
        "",
        "SingleCargo provides a simple structure for tracking a specific cargo type and its quantity.",
        "It supports basic cargo operations like adding and removing cargo, as well as calculating",
        "the storage cost based on the cargo type definition.",
        "",
        "# System Context",
        "This structure is used in contexts where a single cargo type needs to be tracked,",
        "particularly for individual cargo transfers and storage cost calculations."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "cargoId",
            "docs": [
              "The unique identifier of this cargo type"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "amount",
            "docs": [
              "The quantity of this cargo type"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "sizeClass",
      "docs": [
        "Represents different types of Ships"
      ],
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "xxSmall",
            "discriminator": 0
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "xsmall",
            "discriminator": 1
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "small",
            "discriminator": 2
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "medium",
            "discriminator": 3
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "large",
            "discriminator": 4
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "capital",
            "discriminator": 5
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "commander",
            "discriminator": 6
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "titan",
            "discriminator": 7
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "stackRule",
      "type": {
        "kind": "tupleTypeNode",
        "items": [
          {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "starbase",
      "docs": [
        "Starbase"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "owner",
            "docs": [
              "The faction that owns this starbase."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "faction",
              "program": {
                "kind": "programLinkNode",
                "name": "profileFactionStarFrame"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "level",
            "docs": [
              "The level of the `Starbase`."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseLevel"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "localMarketEnableLevel",
            "docs": [
              "The level at which local markets are enabled"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseLevel"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "repairEnableLevel",
            "docs": [
              "The level at which ship repairs are enabled"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseLevel"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "hp",
            "docs": [
              "The `Starbase` health points."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pendingHp",
            "docs": [
              "The `Starbase` pending health points"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "sp",
            "docs": [
              "The `Starbase` shield points."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "shieldBreakDelayExpiresAt",
            "docs": [
              "The time at which SP can resume regenerating"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastCombatUpdate",
            "docs": [
              "The last time the combat was updated"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "builtDestroyedTimestamp",
            "docs": [
              "The last time the starbase was built or destroyed"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingHabPlots",
            "docs": [
              "Crafting hab plots on the starbase. 5x7 grid where rows are corresponding starbase level and columns are crafting hab tier"
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                },
                "count": {
                  "kind": "fixedCountNode",
                  "value": 5
                }
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 7
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "baseCraftingHabRentRate",
            "docs": [
              "Base rent rate for crafting habs on the starbase. 5x7 grid where rows are corresponding starbase level and columns are crafting hab tier"
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "numberTypeNode",
                  "format": "u64",
                  "endian": "le"
                },
                "count": {
                  "kind": "fixedCountNode",
                  "value": 5
                }
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 7
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "baseCraftingHabPlacementFee",
            "docs": [
              "Base placement fee for crafting habs on the starbase. 5x7 grid where rows are corresponding starbase level and columns are crafting hab tier"
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "numberTypeNode",
                  "format": "u64",
                  "endian": "le"
                },
                "count": {
                  "kind": "fixedCountNode",
                  "value": 5
                }
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 7
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseMaxLevel",
            "docs": [
              "The max level of the `Starbase`"
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseMaxLevel"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "locationTags",
            "docs": [
              "A list of location tags provided by this starbase"
            ],
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "locationTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "buildingTags",
            "docs": [
              "The tags provided by this starbase for crafting hab buildings."
            ],
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "buildingTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "validRecipes",
            "docs": [
              "The recipes that are valid for this starbase"
            ],
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "recipeId"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingHabs",
            "docs": [
              "Crafting habs currently placed on this starbase"
            ],
            "type": {
              "kind": "structTypeNode",
              "fields": [
                {
                  "kind": "structFieldTypeNode",
                  "name": "unsizedLen",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The total size of the unsized bytes in the list"
                  ],
                  "type": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                },
                {
                  "kind": "structFieldTypeNode",
                  "name": "offsetList",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The list of items containing offsets, and potentially extra metadata, for the start of each element in the unsized list"
                  ],
                  "type": {
                    "kind": "arrayTypeNode",
                    "item": {
                      "kind": "structTypeNode",
                      "fields": [
                        {
                          "kind": "structFieldTypeNode",
                          "name": "offset",
                          "type": {
                            "kind": "numberTypeNode",
                            "format": "u32",
                            "endian": "le"
                          }
                        },
                        {
                          "kind": "structFieldTypeNode",
                          "name": "key",
                          "type": {
                            "kind": "numberTypeNode",
                            "format": "u8",
                            "endian": "le"
                          }
                        }
                      ]
                    },
                    "count": {
                      "kind": "prefixedCountNode",
                      "prefix": {
                        "kind": "numberTypeNode",
                        "format": "u32",
                        "endian": "le"
                      }
                    }
                  }
                },
                {
                  "kind": "structFieldTypeNode",
                  "name": "unsizedList",
                  "defaultValueStrategy": "omitted",
                  "docs": [
                    "The list of byte offsets for the start of each element in the unsized list"
                  ],
                  "type": {
                    "kind": "arrayTypeNode",
                    "item": {
                      "kind": "definedTypeLinkNode",
                      "name": "craftingHabsInfo"
                    },
                    "count": {
                      "kind": "prefixedCountNode",
                      "prefix": {
                        "kind": "numberTypeNode",
                        "format": "u32",
                        "endian": "le"
                      }
                    }
                  }
                }
              ]
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "starbaseIntermediateLevel",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "info",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseLevelInfo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "upgradeState",
            "docs": [
              "If all `deposited >= needed`, then the starbase should change level.",
              "Will need to set deposited to 0 when the level is changed."
            ],
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "definedTypeLinkNode",
                "name": "upgradeState"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "starbaseIntermediateLevelSet",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "info",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "starbaseLevelInfo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "upgradeState",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "upgradeResource"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "starbaseLevel",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "level0",
            "discriminator": 0
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "level1",
            "discriminator": 1
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "level2",
            "discriminator": 2
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "level3",
            "discriminator": 3
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "level4",
            "discriminator": 4
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "level5",
            "discriminator": 5
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "css",
            "discriminator": 6
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "starbaseLevelInfo",
      "docs": [
        "Information associated with `Starbase` levels"
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "hp",
            "docs": [
              "The `Starbase` health points for this level."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "sp",
            "docs": [
              "The `Starbase` shield points for this level."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xpValue",
            "docs": [
              "The XP value of the `Starbase`"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "shieldBreakDelay",
            "docs": [
              "the time it takes the `Starbase` SP to start regenerating after getting to 0"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "shieldRechargeRate",
            "docs": [
              "the amount of SP regenerated per second"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "repairRate",
            "docs": [
              "the amount of HP healed per second when repairing"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "repairAbility",
            "docs": [
              "the repair ability of the `Starbase`"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "repairEfficiency",
            "docs": [
              "the repair efficiency of the `Starbase`"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "repairCost",
            "docs": [
              "the cost multiplier for repairing the starbase"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "repairFee",
            "docs": [
              "Fee charged for repairs done at the starbase; meant to be charged in ATLAS",
              "Since ATLAS has 8 decimal places, units are in the smallest value of ATLAS possible."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "damagePerRound",
            "docs": [
              "The damage a starbase's weapon systems deal in a single combat round."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "starbaseMaxLevel",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "level0",
            "discriminator": 0,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "starbaseLevelInfo"
                }
              ]
            }
          },
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "level1",
            "discriminator": 1,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "maxLevel1"
                }
              ]
            }
          },
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "level2",
            "discriminator": 2,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "maxLevel2"
                }
              ]
            }
          },
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "level3",
            "discriminator": 3,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "maxLevel3"
                }
              ]
            }
          },
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "level4",
            "discriminator": 4,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "maxLevel4"
                }
              ]
            }
          },
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "level5",
            "discriminator": 5,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "maxLevel5"
                }
              ]
            }
          },
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "css",
            "discriminator": 6,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "starbaseLevelInfo"
                }
              ]
            }
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "starbaseMaxLevelSet",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "level0",
            "discriminator": 0,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "starbaseLevelInfo"
                }
              ]
            }
          },
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "level1",
            "discriminator": 1,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "maxLevel1Set"
                }
              ]
            }
          },
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "level2",
            "discriminator": 2,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "maxLevel2Set"
                }
              ]
            }
          },
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "level3",
            "discriminator": 3,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "maxLevel3Set"
                }
              ]
            }
          },
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "level4",
            "discriminator": 4,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "maxLevel4Set"
                }
              ]
            }
          },
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "level5",
            "discriminator": 5,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "maxLevel5Set"
                }
              ]
            }
          },
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "css",
            "discriminator": 6,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "starbaseLevelInfo"
                }
              ]
            }
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "stimEffect",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "stat",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "combatStatField"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "deltaBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "charges",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "stackRule",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "stackRule"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "stimulantDefinition",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "effectCount",
            "type": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "effects",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "stimEffect"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 3
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "stimulantDefinitions",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "seqId",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "definitions",
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "definedTypeLinkNode",
                "name": "stimulantDefinition"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "structureInstanceState",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "active",
            "discriminator": 0
          },
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "design",
            "discriminator": 1,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "intermediateData"
                }
              ]
            }
          },
          {
            "kind": "enumTupleVariantTypeNode",
            "name": "deactivated",
            "discriminator": 2,
            "tuple": {
              "kind": "tupleTypeNode",
              "items": [
                {
                  "kind": "definedTypeLinkNode",
                  "name": "structureState"
                }
              ]
            }
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "structureState",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "deactivationTime",
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "systemId",
      "type": {
        "kind": "tupleTypeNode",
        "items": [
          {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "tier",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "one",
            "discriminator": 0
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "two",
            "discriminator": 1
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "three",
            "discriminator": 2
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "four",
            "discriminator": 3
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "five",
            "discriminator": 4
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "transferFactionOwnershipArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "newController",
            "docs": [
              "New dynamic controller (0 = hand back to legacy/contestable)."
            ],
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "minorFactionId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "contestedUntil",
            "docs": [
              "New contested window (0 = immediately capturable)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "updateCelestialBodyArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "docs": [
              "`CelestialBody` name"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "name"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "celestialBodyType",
            "docs": [
              "`CelestialBody` type"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "celestialBodyTypeBorsh"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "updateCurrencyArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "withdrawEpochDuration",
            "docs": [
              "The duration of a withdrawal epoch in seconds, if `0` withdrawals are disabled"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "circuitBreaker",
            "docs": [
              "The max withdrawable amount each epoch"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "updatePlanetTablesArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "claimStakePlots",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "arrayTypeNode",
                  "item": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  },
                  "count": {
                    "kind": "fixedCountNode",
                    "value": 5
                  }
                },
                "count": {
                  "kind": "fixedCountNode",
                  "value": 7
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "baseClaimStakeRentRate",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "arrayTypeNode",
                  "item": {
                    "kind": "numberTypeNode",
                    "format": "f64",
                    "endian": "le"
                  },
                  "count": {
                    "kind": "fixedCountNode",
                    "value": 5
                  }
                },
                "count": {
                  "kind": "fixedCountNode",
                  "value": 7
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "baseClaimStakePlacementFee",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "arrayTypeNode",
                  "item": {
                    "kind": "numberTypeNode",
                    "format": "f64",
                    "endian": "le"
                  },
                  "count": {
                    "kind": "fixedCountNode",
                    "value": 5
                  }
                },
                "count": {
                  "kind": "fixedCountNode",
                  "value": 7
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "updateRecipeInputData",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "recipeId",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "recipeId"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "duration",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minDuration",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "name"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "feeAmount",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "feeRecipient",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "recipeFeeRecipient"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "usageLimit",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "minStarbaseLevel",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "starbaseLevel"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "value",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingEfficiencyMinmax",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "minMax"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingSpeedMinmax",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "minMax"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingCrewCountMinmax",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "minMax"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingFeeMinmax",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "minMax"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "habRequired",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "booleanTypeNode",
                "size": {
                  "kind": "numberTypeNode",
                  "format": "u8",
                  "endian": "le"
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "researchRequirements",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "definedTypeLinkNode",
                  "name": "researchTag"
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "inputs",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "tupleTypeNode",
                  "items": [
                    {
                      "kind": "definedTypeLinkNode",
                      "name": "cargoId"
                    },
                    {
                      "kind": "numberTypeNode",
                      "format": "u64",
                      "endian": "le"
                    }
                  ]
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "outputs",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "tupleTypeNode",
                  "items": [
                    {
                      "kind": "definedTypeLinkNode",
                      "name": "cargoId"
                    },
                    {
                      "kind": "numberTypeNode",
                      "format": "u64",
                      "endian": "le"
                    }
                  ]
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "updateRegionArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "docs": [
              "New region name"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "name"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "riskZone",
            "docs": [
              "New risk zone"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "riskZoneBorsh"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "connections",
            "docs": [
              "New set of region IDs connected by at least one cross-region system warp lane"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "definedTypeLinkNode",
                  "name": "regionId"
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "border",
            "docs": [
              "New coordinate points defining the region's border"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "arrayTypeNode",
                  "item": {
                    "kind": "numberTypeNode",
                    "format": "i64",
                    "endian": "le"
                  },
                  "count": {
                    "kind": "fixedCountNode",
                    "value": 2
                  }
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "scanningResearchRequirements",
            "docs": [
              "New technology IDs required for scanning in this region"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "definedTypeLinkNode",
                  "name": "researchTag"
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "miningResearchRequirements",
            "docs": [
              "New technology IDs required for mining in this region"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "definedTypeLinkNode",
                  "name": "researchTag"
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xpModifier",
            "docs": [
              "New XP modifier for this region"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "updateResearchNodeInput",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "id",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "researchNodeId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "name"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "atlasCost",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "maxLevel",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "costGrowthBps",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cargoCost",
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "cargoId"
              },
              "value": {
                "kind": "numberTypeNode",
                "format": "u64",
                "endian": "le"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "requiredTags",
            "type": {
              "kind": "setTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "researchTag"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "xpCost",
            "type": {
              "kind": "mapTypeNode",
              "key": {
                "kind": "definedTypeLinkNode",
                "name": "xpCategory"
              },
              "value": {
                "kind": "definedTypeLinkNode",
                "name": "xpCost"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "modifier",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "characterModifierInput"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "updateScanPatternArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "name"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cooldownMultiplier",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "blankWeight",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "blankXpValue",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u32",
                "endian": "le"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "scanCost",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "definedTypeLinkNode",
                  "name": "scanCost"
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lootTable",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "definedTypeLinkNode",
                  "name": "scanLootEntry"
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "updateStarSystemArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "coordinates",
            "docs": [
              "New spatial coordinates for the star system [x, y]"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "numberTypeNode",
                  "format": "i64",
                  "endian": "le"
                },
                "count": {
                  "kind": "fixedCountNode",
                  "value": 2
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "name",
            "docs": [
              "New name for the star system (fixed length array)"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "name"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "regionId",
            "docs": [
              "If some sets the optional region of the system and the core status."
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "optionTypeNode",
                "item": {
                  "kind": "tupleTypeNode",
                  "items": [
                    {
                      "kind": "definedTypeLinkNode",
                      "name": "regionId"
                    },
                    {
                      "kind": "booleanTypeNode",
                      "size": {
                        "kind": "numberTypeNode",
                        "format": "u8",
                        "endian": "le"
                      }
                    }
                  ]
                },
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u8",
                  "endian": "le"
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "connections",
            "docs": [
              "New list of connections for this system"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "tupleTypeNode",
                  "items": [
                    {
                      "kind": "definedTypeLinkNode",
                      "name": "systemId"
                    },
                    {
                      "kind": "definedTypeLinkNode",
                      "name": "connectionCost"
                    }
                  ]
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "updateStarbaseArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseLevel",
            "docs": [
              "The index representing the level of the `Starbase` in the game variables."
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "starbaseLevel"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "localMarketEnableLevel",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "starbaseLevel"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "repairEnableLevel",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "starbaseLevel"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "starbaseMaxLevel",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "starbaseMaxLevelSet"
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "locationTags",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "definedTypeLinkNode",
                  "name": "locationTag"
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "buildingTags",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "definedTypeLinkNode",
                  "name": "buildingTag"
                },
                "count": {
                  "kind": "prefixedCountNode",
                  "prefix": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  }
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "faction",
            "docs": [
              "The `Starbase` faction"
            ],
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "faction",
                "program": {
                  "kind": "programLinkNode",
                  "name": "profileFactionStarFrame"
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "updateStarbaseTablesArgs",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "craftingHabPlots",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "arrayTypeNode",
                  "item": {
                    "kind": "numberTypeNode",
                    "format": "u32",
                    "endian": "le"
                  },
                  "count": {
                    "kind": "fixedCountNode",
                    "value": 5
                  }
                },
                "count": {
                  "kind": "fixedCountNode",
                  "value": 7
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "baseCraftingHabRentRate",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "arrayTypeNode",
                  "item": {
                    "kind": "numberTypeNode",
                    "format": "u64",
                    "endian": "le"
                  },
                  "count": {
                    "kind": "fixedCountNode",
                    "value": 5
                  }
                },
                "count": {
                  "kind": "fixedCountNode",
                  "value": 7
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "baseCraftingHabPlacementFee",
            "type": {
              "kind": "optionTypeNode",
              "item": {
                "kind": "arrayTypeNode",
                "item": {
                  "kind": "arrayTypeNode",
                  "item": {
                    "kind": "numberTypeNode",
                    "format": "u64",
                    "endian": "le"
                  },
                  "count": {
                    "kind": "fixedCountNode",
                    "value": 5
                  }
                },
                "count": {
                  "kind": "fixedCountNode",
                  "value": 7
                }
              },
              "prefix": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "upgradeLpRate",
      "docs": [
        "One starbase-upgrade material's LP rate."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "cargoId",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lpPerRawUnit",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "upgradeResource",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "id",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "cargoId"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "amount",
            "docs": [
              "amount of resource needed"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "crew",
            "docs": [
              "crew required to process a single unit of the upgrade resource"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "duration",
            "docs": [
              "duration to process a single unit of the upgrade resource"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "upgradeState",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "needed",
            "docs": [
              "amount of resource needed"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "deposited",
            "docs": [
              "amount of resource deposited"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "crew",
            "docs": [
              "crew required to process a single unit of the upgrade resource"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "duration",
            "docs": [
              "duration to process a single unit of the upgrade resource"
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u16",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "withdrawalDestinationType",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "dao",
            "discriminator": 0
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "game",
            "discriminator": 1
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "xpBudgetParams",
      "docs": [
        "One track's integer budget parameters, mirrored from the versioned",
        "`xp_config` schema (`xp_config_v1.json`). All fields are unsigned",
        "integers: settlement runs on-chain where float arithmetic is",
        "non-deterministic across validators (spec §9a)."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "maxXpPerDay",
            "docs": [
              "Whole XP the track may earn per day (`ceil(annual_xp / 91.25)`)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "regenNumerator",
            "docs": [
              "Regen numerator: gained = elapsed_s * numerator / denominator."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "regenDenominator",
            "docs": [
              "Regen denominator. Never zero in valid config; settlement defends",
              "with `max(1)`."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "bankCeiling",
            "docs": [
              "Whole-XP bank ceiling: one full day of regen banked."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "xpBudgetTrack",
      "docs": [
        "One track's live settlement state."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "bank",
            "docs": [
              "Whole XP currently available to earn."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "lastSettled",
            "docs": [
              "Timestamp regen has been accounted up to. Clock regression is ignored",
              "(`now.saturating_sub(last_settled)` floors at zero)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "i64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "regenRemainder",
            "docs": [
              "Rational-regen numerator modulo `regen_denominator`, so sub-unit",
              "elapsed time is never lost across settlements."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "fractionalCarry",
            "docs": [
              "Unsigned Q0.48 fractional award carry (6 LE bytes)."
            ],
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "numberTypeNode",
                "format": "u8",
                "endian": "le"
              },
              "count": {
                "kind": "fixedCountNode",
                "value": 6
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "xpCategory",
      "type": {
        "kind": "enumTypeNode",
        "variants": [
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "councilRank",
            "discriminator": 0
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "dailyXp",
            "discriminator": 1
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "pilot",
            "discriminator": 2
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "dataRunner",
            "discriminator": 3
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "mining",
            "discriminator": 4
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "building",
            "discriminator": 5
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "crafting",
            "discriminator": 6
          },
          {
            "kind": "enumEmptyVariantTypeNode",
            "name": "combat",
            "discriminator": 7
          }
        ],
        "size": {
          "kind": "numberTypeNode",
          "format": "u8",
          "endian": "le"
        }
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "xpCost",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "minimumLevel",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "cost",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "xpDefinitions",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "seqId",
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "dailyCheckInConfig",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "dailyCheckInConfig"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "renownConfig",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "renownConfig"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "levelThresholds",
            "type": {
              "kind": "arrayTypeNode",
              "item": {
                "kind": "definedTypeLinkNode",
                "name": "xpLevelThresholdInfo"
              },
              "count": {
                "kind": "prefixedCountNode",
                "prefix": {
                  "kind": "numberTypeNode",
                  "format": "u32",
                  "endian": "le"
                }
              }
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "xpEarningRulesV1",
      "docs": [
        "The six v1 earning rules (`earning_rules` in `xp_config_v1.json`), integer",
        "form. Combat class weights are the program's canonical",
        "`COMBAT_SIZE_POINTS` table (`ShipCounts::get_combat_size`), not config."
      ],
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "pilotXpPerAuSubwarp",
            "docs": [
              "§1 Pilot: XP per AU travelled by subwarp (x acting fleet raw ship count)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pilotXpPerAuWarp",
            "docs": [
              "§1 Pilot: XP per AU travelled by warp (x ship count)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pilotXpPerWarpLane",
            "docs": [
              "§1 Pilot: XP per warp lane traversed (x ship count)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "dataXpPerUnsuccessfulScan",
            "docs": [
              "§2 Data: XP per unsuccessful scan (x ship count)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "dataXpPerSuccessfulScan",
            "docs": [
              "§2 Data: XP per successful scan (x ship count)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "miningXpPerMinute",
            "docs": [
              "§3 Mining: XP per minute of mining (x ship count), floored once with carry."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "combatXpPerSizeUnit",
            "docs": [
              "§4 Combat: XP per destroyed-fleet combat-size point."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "craftingXpPerBaseSecond",
            "docs": [
              "§6 Crafting: XP per second of the job's BASE duration (before the crew divisor)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "buildingPlacementXpPerTier",
            "docs": [
              "§5 Building: XP per building tier on placement (designed 0; read, never assumed)."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "buildingOperationalXpPerTierPerDay",
            "docs": [
              "§5 Building: XP per building tier per full operational day."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "xpInfo",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "seqId",
            "docs": [
              "The seq id of the xp info. This should be in sync with the seq id of the xp definitions on game."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "councilRank",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "categoryXpInfo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "dailyXp",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "categoryXpInfo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pilot",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "categoryXpInfo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "dataRunner",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "categoryXpInfo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "mining",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "categoryXpInfo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "building",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "categoryXpInfo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "crafting",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "categoryXpInfo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "combat",
            "type": {
              "kind": "definedTypeLinkNode",
              "name": "categoryXpInfo"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "councilRankLevelCarry",
            "docs": [
              "Career levels gained toward the next Council Rank renown point."
            ],
            "type": {
              "kind": "numberTypeNode",
              "format": "u32",
              "endian": "le"
            }
          }
        ]
      }
    },
    {
      "kind": "definedTypeNode",
      "name": "xpLevelThresholdInfo",
      "type": {
        "kind": "structTypeNode",
        "fields": [
          {
            "kind": "structFieldTypeNode",
            "name": "building",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "combat",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "councilRank",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "crafting",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "dailyXp",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "dataRunner",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "mining",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          },
          {
            "kind": "structFieldTypeNode",
            "name": "pilot",
            "type": {
              "kind": "numberTypeNode",
              "format": "u64",
              "endian": "le"
            }
          }
        ]
      }
    }
  ],
  "pdas": [
    {
      "kind": "pdaNode",
      "name": "cargoDefinitionsCache",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "436172676f446566696e6974696f6e734361636865",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "atlasRewardConfig",
      "docs": [
        "One immutable, fully authored reward configuration version."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "41746c6173526577617264436f6e666967",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "configVersion",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "atlasRewardRegistry",
      "docs": [
        "Per-game epoch clock and pointer to immutable reward-config versions."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "41746c61735265776172645265676973747279",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "atlasRewardTreasury",
      "docs": [
        "Game-level finite cargo reserve backing medallion and synthetic-salvage issuance."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "41746c61735265776172645472656173757279",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "kingSystemTracker",
      "docs": [
        "Canonical membership and current effective major-faction ownership for the 69 King systems."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "4b696e6753797374656d547261636b6572",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "loyaltyAtlasBank",
      "docs": [
        "Persistent accumulated ATLAS entitlement for one `(profile, faction)`.",
        "",
        "Expiry is inactivity-based: a new credit extends the whole accumulated balance. Configuring expiry to",
        "`0` makes the bank non-expiring. This is bounded state (one account per profile/faction), supports",
        "week/month batching, and avoids an unbounded list of daily claim tranches."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "4c6f79616c747941746c617342616e6b",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "profile",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "factionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "loyaltyContribution",
      "docs": [
        "One profile's LP in one faction epoch. LP never rolls forward."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "4c6f79616c7479436f6e747269627574696f6e",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "profile",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "factionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "epochIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "loyaltyEpoch",
      "docs": [
        "One faction's daily LP total, ATLAS entitlement, and legacy prepaid reserve."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "4c6f79616c747945706f6368",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "factionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "epochIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "careerXpBudget",
      "docs": [
        "The `CareerXpBudget` PDA body: six tracks, explicit version, scoped to",
        "one Character."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "4361726565725870427564676574",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "characterId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "celestialBody",
      "docs": [
        "CelestialBody",
        "TODO: add new fields needed for research tree"
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "43656c65737469616c426f6479",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "game",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "id",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "celestialBodyId"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "character",
      "docs": [
        "A `SAGE` character."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "436861726163746572",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "playerProfile",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "characterSync",
      "docs": [
        "Staging account for a bounded Character research-definition sync.",
        "",
        "The live Character modifiers remain untouched while this accumulator is",
        "built. That matters because permissionless fleet settlement and combat may",
        "legitimately read the Character between chunks. Only a complete accumulator",
        "is committed to the Character."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "43686172616374657253796e63",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "character",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "recipe",
      "docs": [
        "The definition of a recipe."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "526563697065",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "recipeId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "recipeId"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "fleetCrewBinding",
      "docs": [
        "Each fleet's per-fleet crew aggregate. **Presence = at least one crew onboarded.** The",
        "gameplay folds read `summary` (the sum of ONLY this fleet's onboarded crew), maintained by",
        "`LoadFleetCrewRoster`/`UnloadFleetCrewRoster`.",
        "",
        "Body = 1 (version) + 1 (bump) + 6 (reserved) + 32 (fleet) + 32 (owner) + 315 (summary)",
        "+ 8 (last_action_epoch) = **395 B**, align 1. (The summary grew 274 → 314 with the",
        "per-skill-XP accumulator block, → 315 with the `max_rarity` cache byte; `last_action_epoch`",
        "is the binding-tail Cold Start marker. The header fields before the summary —",
        "version/bump/_reserved/fleet/owner, 72 B — are unchanged, so the summary still begins at",
        "account-offset `8 (disc) + 72 = 80`, exactly as before.)"
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "466c6565744372657742696e64696e67",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "fleet",
          "docs": [
            "The owning `Fleet`."
          ],
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "crewRoster",
      "docs": [
        "The bulk crew container for one `(Character, page_index)`: a `RosterSummary` cache",
        "header + an append-only `List<CrewRecord>`.",
        "",
        "`#[unsized_type(program_account, seeds = CrewRosterSeeds)]` — same form as the",
        "marketplace `Market` (marketplace/src/state_rs:384-398) and SAGE `Character`",
        "(character_rs:17-29). `summary` is the sized packed header (315 B); `crew` is the",
        "unsized tail."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "43726577526f73746572",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "character",
          "docs": [
            "The owning SAGE `Character`."
          ],
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "pageIndex",
          "docs": [
            "`0`-based page index within this character's roster."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u16",
            "endian": "le"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "currencyConfigCache",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "43757272656e6379436f6e666967",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyAllocationHistory",
      "docs": [
        "One root × generation contributor, independent of its authorizing Profile route. A pending",
        "transition is materialized against its immutable last-old-power boundary index before any",
        "subsequent edit. Releasing physical backing leaves this historical claim account intact."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f6372616379416c6c6f636174696f6e486973746f7279",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "allocation",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyGenerationHistory",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f637261637947656e65726174696f6e486973746f7279",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "system",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "generationNumber",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyHistoryDay",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f6372616379486973746f7279446179",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "system",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "day",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyHistoryPolicy",
      "docs": [
        "Immutable explicit policy. Unknown/zero choices are invalid, not implicit economic defaults."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f6372616379486973746f7279506f6c696379",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracySystemHistory",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f637261637953797374656d486973746f7279",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "system",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyLegacyHistory",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f63726163794c6567616379486973746f7279",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "governance",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyPtrPowerAdmission",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f6372616379507472506f77657241646d697373696f6e",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "reconciliation",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyPtrAllocation",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f6372616379507472416c6c6f636174696f6e",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "root",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "historyGeneration",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyPtrCutover",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f63726163795074724375746f766572",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "migration",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyPtrRoot",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f6372616379507472526f6f74",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "identity",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyPtrSettlement",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f6372616379507472536574746c656d656e74",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "allocation",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "allocationRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyPtrBacking",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f63726163795074724261636b696e67",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "allocation",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "depositRevision",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyPtrCensusLock",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f637261637950747243656e7375734c6f636b",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "routeCensus",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "delegation",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyPtrLockCensus",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f63726163795074724c6f636b43656e737573",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "migration",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyPtrRouteCensus",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f6372616379507472526f75746543656e737573",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "census",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "playerProfile",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyPtrAssetLock",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f637261637950747241737365744c6f636b",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "custody",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "starbasePlayer",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyPtrCustody",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f6372616379507472437573746f6479",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "migration",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyPtrCutoverProgress",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f63726163795074724375746f76657250726f6772657373",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "migration",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyPtrLegacyClaim",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f63726163795074724c6567616379436c61696d",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "progress",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "censusLock",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyPtrIdentity",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f63726163795074724964656e74697479",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "originProfile",
          "docs": [
            "Immutable certification identifier; recovery never changes this seed."
          ],
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyPtrProfileRoute",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f637261637950747250726f66696c65526f757465",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "playerProfile",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyPtrFrozenRoute",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f637261637950747246726f7a656e526f757465",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "migration",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "playerProfile",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyPtrMigration",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f63726163795074724d6967726174696f6e",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "identity",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "registryRevision",
          "docs": [
            "Revision before begin; beginning consumes this revision permanently, including on abort."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyPtrLegacyObligation",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f63726163795074724c65676163794f626c69676174696f6e",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "routeObligations",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "delegation",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyPtrReconciliation",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f63726163795074725265636f6e63696c696174696f6e",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "migration",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyPtrRouteObligations",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f6372616379507472526f7574654f626c69676174696f6e73",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "reconciliation",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "playerProfile",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyPtrRegistryCatalog",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f63726163795074725265676973747279436174616c6f67",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyPtrRegistryEntry",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f63726163795074725265676973747279456e747279",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "catalog",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "index",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyPtrRegistryMember",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f637261637950747252656769737472794d656d626572",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "catalog",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "registry",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyCurveConfig",
      "docs": [
        "One immutable curve version. No instruction mutates this account after publication."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f63726163794375727665436f6e666967",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "curveVersion",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyHousingMap",
      "docs": [
        "One immutable 18-slot CSS Housing capacity map."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f6372616379486f7573696e674d6170",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "mapVersion",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "democracyRequirementsRegistry",
      "docs": [
        "Per-Game pointer registry for separately immutable curve and Housing-map versions."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "44656d6f6372616379526571756972656d656e74735265676973747279",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "encounterCommit",
      "docs": [
        "Per-character commit tracker for the two-phase encounter reveal (Option B — migration-safe; this",
        "avoids touching the core `Fleet` account, which is a non-singleton `#[unsized_type]` with no spare",
        "pad). Created once per character via `OpenEncounterTracking`; a scan that arms an encounter stamps",
        "`commit_slot` + `region_id` + the triggering `fleet` here. The reveal reads it, draws the contents",
        "from a *later* slot's hash, and clears it. One pending encounter per character at a time — a",
        "subsequent scan overwrites the prior pending commit (reinforces the anti-multi-fleet design)."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "456e636f756e746572436f6d6d6974",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "character",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "encounterPool",
      "docs": [
        "The dev-registered ENVELOPE for one `(region, minor_faction)` encounter pool.",
        "",
        "Long-lived; created/edited only by `MANAGE_NPC_ENCOUNTERS`-gated admin instructions and read-only",
        "at encounter time. Modeled on [`ScanPattern`](crate::state::ScanPattern): a sized header + an",
        "`#[unsized_start]` `List` tail (additive growth lives in the tail)."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "456e636f756e746572506f6f6c",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "regionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "minorFaction",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "encounterTreasury",
      "docs": [
        "The finite, pre-funded reserve + per-epoch ATLAS-out circuit-breaker for one `(region, faction)` pool.",
        "",
        "All economic value lives here (decisions #1/#3): the ATLAS `vault` pays sell-backs and receives",
        "player buys; `reserves` is the finite cargo stock (no minting — Asks draw down, Bids credit back).",
        "Kept separate from [`EncounterPool`] (config) so the value account is written on trades while the",
        "envelope stays a rarely-written config account. Modeled on `LocalMarket`'s vault + `CargoPod`'s map."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "456e636f756e7465725472656173757279",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "regionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "minorFaction",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "ephemeralMarket",
      "docs": [
        "The revealed, player-scoped, time-boxed NPC market (Phase 3). Created (player-funded) at reveal when",
        "the rare candidacy hits; holds the concrete `LiveOffer`s + an `expires_at`. Trades settle DIRECTLY",
        "against the `EncounterTreasury`, so this account itself holds NO funds (close is trivial — nothing to",
        "sweep). One open market per character at a time (seeds = game + owner character); the prior one must",
        "be reaped before a new reveal."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "457068656d6572616c4d61726b6574",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "ownerCharacter",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "factionAccount",
      "docs": [
        "The per-faction record in the dynamic registry (decision D1/D8). Sized, packed, 209 bytes.",
        "",
        "Modeled on `ProfileFactionAccount` (a sized",
        "`ProgramAccount` embedding the [`Faction`] enum) + the [`EncounterPool`](crate::state::EncounterPool)",
        "header (`(game, …, minor_faction)` scoping). Growth is by carving from `_reserved` (version-gated),",
        "never by appending."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "46616374696f6e4163636f756e74",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "factionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "factionConfig",
      "docs": [
        "Per-game reputation dials. Sized, packed, 48 bytes."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "46616374696f6e436f6e666967",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "factionEconomicsConfig",
      "docs": [
        "Per-game NPC-economy tuning dials. Sized, packed, `Align1`, 72 bytes."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "46616374696f6e45636f6e6f6d696373436f6e666967",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "factionEpochMeter",
      "docs": [
        "Per-`(game, faction_id)` aggregate standing-emission meter. Sized, packed, 56 bytes."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "46616374696f6e45706f63684d65746572",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "factionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "factionMarket",
      "docs": [
        "A persistent faction market at one starbase. 120 B sized header + `offers: List<LiveOffer>` tail."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "46616374696f6e4d61726b6574",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "system",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "starbaseSeqId",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "factionOwnership",
      "docs": [
        "Dynamic-ownership sidecar for ONE asset. Sized `Pod` (the `CurrencyConfigCache` idiom), `#[repr(C,packed)]`,",
        "`Align1`. `directive_block` is RESERVED for P5 (zero-written, read nowhere in P4)."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "46616374696f6e4f776e657273686970",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "assetKind",
          "docs": [
            "1-byte mandatory discriminator — the cross-kind collision boundary; never drop, never derive from data."
          ],
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "assetKey",
          "docs": [
            "32-byte canonical identity."
          ],
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 32
            }
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "factionRelationTracker",
      "docs": [
        "The diplomacy relation matrix + combat-gating config for one game.",
        "",
        "Sized 66-B header + a sparse `Map<FactionPair, RelationEntry>` tail. `combat_gating_enabled == 0`",
        "(default) reproduces today's behavior. Future fields carve from `_reserved` (BEFORE `#[unsized_start]`)."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "46616374696f6e52656c6174696f6e73",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "factionStanding",
      "docs": [
        "Per-`(game, profile, faction_id)` reputation standing (P1). Sized, packed, 132 bytes."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "46616374696f6e5374616e64696e67",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "profile",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "factionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "factionTreasury",
      "docs": [
        "Per-faction value account (one per faction). 76 B sized header + `reserves` + `floors` Map tails."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "46616374696f6e5472656173757279",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "factionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "minorFactionId"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "garrisonReservation",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "4761727269736f6e5265736572766174696f6e",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "starbasePlayer",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "starbaseSeqId",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "claimState",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "436c61696d5374617465",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "treasury",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "playerProfile",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "epochVote",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "45706f6368566f7465",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "governance",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "playerProfile",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "voteEpoch",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "starbaseDelegation",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "537461726261736544656c65676174696f6e",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "governance",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "playerProfile",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "starbaseGovernance",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "5374617262617365476f7665726e616e6365",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "system",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "starbaseSeqId",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "starbaseGovernanceRegistry",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "5374617262617365476f7665726e616e63655265676973747279",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "system",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "starbaseTreasury",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "53746172626173655472656173757279",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "governance",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "voterPower",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "566f746572506f776572",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "playerProfile",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "fleet",
      "docs": [
        "A `SAGE` fleet."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "466c656574",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "ownerProfile",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "fleetLabelPart1",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 32
            }
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "fleetLabelPart2",
          "type": {
            "kind": "arrayTypeNode",
            "item": {
              "kind": "numberTypeNode",
              "format": "u8",
              "endian": "le"
            },
            "count": {
              "kind": "fixedCountNode",
              "value": 32
            }
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "shipDefinitionUpload",
      "docs": [
        "Ship-definition upload staging account.",
        "",
        "Used to upload a complete ship definition in chunks and apply it atomically",
        "on commit."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "53686970446566696e6974696f6e55706c6f6164",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "shipId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "shipId"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "localMarket",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "4c6f63616c4d61726b6574",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "system",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "cargoId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "cargoId"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "starbaseSeqId",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "missionStakeVault",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "4d697373696f6e5661756c74",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "mission",
          "docs": [
            "The `MissionProcess` key — one vault per mission run."
          ],
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "missionTreasury",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "4d697373696f6e5472656173757279",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "regionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "outlawFlag",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "6f75746c61775f666c6167",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "profile",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "faction",
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "regionOrderAnchor",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "526567696f6e4f72646572416e63686f72",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "regionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "regionBorderUpload",
      "docs": [
        "Region Border Upload (staging) Account",
        "",
        "Stores an in-progress region border upload in chunks, without mutating the live",
        "[`RegionTracker`] / [`Region`] data until a final commit step."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "526567696f6e426f7264657255706c6f6164",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "regionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "regionTracker",
      "docs": [
        "Region Tracker Account"
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "526567696f6e547261636b6572",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "rentPtrCatalog",
      "docs": [
        "The per-game rent-history admission catalog. Created by the migration (a later slice); until then the",
        "PDA is uninitialized, which every reader treats as `DISABLED` (see [`read_catalog_state`])."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "52656e74507472436174616c6f67",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "rentSourceHead",
      "docs": [
        "The durable head of one price source. Its history is continuous for the life of the game: a source that",
        "is removed and re-created keeps this head (generation is metadata only)."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "52656e74536f7572636548656164",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "kind",
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "key",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "rentSourcePage",
      "docs": [
        "16 consecutive records of one source."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "52656e74536f7572636550616765",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "kind",
          "type": {
            "kind": "numberTypeNode",
            "format": "u8",
            "endian": "le"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "key",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "pageIndex",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "rentSettlementAuthority",
      "docs": [
        "The durable settlement authority of one claim-stake address."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "52656e74536574746c6541757468",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "stake",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "rentSettlementEval",
      "docs": [
        "One settlement evaluation of one stake."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "52656e74536574746c654576616c",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "stake",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "nonce",
          "type": {
            "kind": "numberTypeNode",
            "format": "u64",
            "endian": "le"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "scanPattern",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "5363616e5061747465726e",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "scanPatternId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "scanPatternId"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "scanPatternNoiseMapUpload",
      "docs": [
        "Scan pattern noise-map upload staging account.",
        "",
        "Used to upload replacement noise maps in chunks without mutating the live",
        "[`ScanPattern`] until an explicit commit step."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "5363616e5061747465726e4e6f6973654d617055706c6f6164",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "scanPatternId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "scanPatternId"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "scanLootProfile",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "5363616e4c6f6f7450726f66696c65",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "regionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "scanLootProfileUpload",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "5363616e4c6f6f7450726f66696c6555706c6f6164",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "regionId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "regionId"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "scanPatternPolicy",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "5363616e5061747465726e506f6c696379",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "scanPatternId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "scanPatternId"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "scanSignal",
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "5363616e5369676e616c",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "fleet",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "starSystem",
      "docs": [
        "Star System Account"
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "5374617253797374656d",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "systemId",
          "type": {
            "kind": "definedTypeLinkNode",
            "name": "systemId"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "starbasePlayer",
      "docs": [
        "The `SAGE` player info within a `Starbase`"
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "5374617262617365506c61796572",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "system",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "character",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "structureXpAccrual",
      "docs": [
        "PDA body: `[b\"StructureXpAccrual\", structure]`."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "53747275637475726558704163637275616c",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "structure",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "xpBudgetConfig",
      "docs": [
        "Game-scoped v1 XP runtime parameters: six budgets + six earning rules."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "5870427564676574436f6e666967",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "careerXpMigrationConfig",
      "docs": [
        "Game-scoped record of one legacy-to-v1 migration. Seeded",
        "`[b\"CareerXpMigrationConfig\", game_id]`, created by the seal instruction."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "43617265657258704d6967726174696f6e436f6e666967",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        }
      ]
    },
    {
      "kind": "pdaNode",
      "name": "careerXpTargetDefinitionsV1",
      "docs": [
        "Staged v1 threshold payload. Seeded",
        "`[b\"career_xp_target_definitions\", game_id, 1u32_le]` per the #222",
        "contract — note the lower-case seed literal from the spec.",
        "",
        "The header fields are exactly the digest preimage header: `version:u32_le`,",
        "`row_count:u32_le`, `renown_divisor:u32_le`, `feeder_mask:u16_le`."
      ],
      "seeds": [
        {
          "kind": "constantPdaSeedNode",
          "type": {
            "kind": "bytesTypeNode"
          },
          "value": {
            "kind": "bytesValueNode",
            "data": "6361726565725f78705f7461726765745f646566696e6974696f6e73",
            "encoding": "base16"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "gameId",
          "type": {
            "kind": "publicKeyTypeNode"
          }
        },
        {
          "kind": "variablePdaSeedNode",
          "name": "version",
          "type": {
            "kind": "numberTypeNode",
            "format": "u32",
            "endian": "le"
          }
        }
      ]
    }
  ],
  "errors": [
    {
      "kind": "errorNode",
      "name": "programMismatch",
      "code": 1367932928,
      "message": "Program mismatch",
      "docs": [
        "Program id mismatch"
      ]
    },
    {
      "kind": "errorNode",
      "name": "mustBeOnlyInstruction",
      "code": 1367932929,
      "message": "Must be only instruction",
      "docs": [
        "Instruction must be the only instruction"
      ]
    },
    {
      "kind": "errorNode",
      "name": "invalidFleetSize",
      "code": 1367932930,
      "message": "Invalid fleet size",
      "docs": [
        "Invalid fleet size"
      ]
    },
    {
      "kind": "errorNode",
      "name": "notFound",
      "code": 1367932931,
      "message": "Not found",
      "docs": [
        "A referenced item was not found"
      ]
    },
    {
      "kind": "errorNode",
      "name": "invalidInput",
      "code": 1367932932,
      "message": "Invalid input",
      "docs": [
        "Invalid user input"
      ]
    },
    {
      "kind": "errorNode",
      "name": "typeMismatch",
      "code": 1367932933,
      "message": "Type mismatch",
      "docs": [
        "Types or variants did not match as expected"
      ]
    },
    {
      "kind": "errorNode",
      "name": "celestialBodyTypeMismatch",
      "code": 1367932934,
      "message": "Celestial body type mismatch",
      "docs": [
        "Celestial body type did not match expectations"
      ]
    },
    {
      "kind": "errorNode",
      "name": "statusMismatch",
      "code": 1367932935,
      "message": "Status mismatch",
      "docs": [
        "Status or enum mismatch"
      ]
    },
    {
      "kind": "errorNode",
      "name": "inactiveClaimStake",
      "code": 1367932936,
      "message": "Claim stake status mismatch",
      "docs": [
        "Claim stake is not in the expected active/evicted state"
      ]
    },
    {
      "kind": "errorNode",
      "name": "craftingHabNotEvicted",
      "code": 1367932937,
      "message": "Crafting hab not evicted",
      "docs": [
        "Crafting hab is not evicted when required"
      ]
    },
    {
      "kind": "errorNode",
      "name": "evictionNotDelinquent",
      "code": 1367932938,
      "message": "Eviction not delinquent",
      "docs": [
        "Eviction requires rent delinquency; current state is not delinquent."
      ]
    },
    {
      "kind": "errorNode",
      "name": "stateMismatch",
      "code": 1367932939,
      "message": "State mismatch",
      "docs": [
        "State discrepancy"
      ]
    },
    {
      "kind": "errorNode",
      "name": "idMismatch",
      "code": 1367932940,
      "message": "Id mismatch",
      "docs": [
        "Identifier/key mismatch"
      ]
    },
    {
      "kind": "errorNode",
      "name": "gameMismatch",
      "code": 1367932941,
      "message": "Game mismatch",
      "docs": [
        "Game id mismatch"
      ]
    },
    {
      "kind": "errorNode",
      "name": "profileMismatch",
      "code": 1367932942,
      "message": "Profile mismatch",
      "docs": [
        "Profile mismatch"
      ]
    },
    {
      "kind": "errorNode",
      "name": "factionMismatch",
      "code": 1367932943,
      "message": "Faction mismatch",
      "docs": [
        "Faction mismatch"
      ]
    },
    {
      "kind": "errorNode",
      "name": "systemMismatch",
      "code": 1367932944,
      "message": "System mismatch",
      "docs": [
        "System mismatch"
      ]
    },
    {
      "kind": "errorNode",
      "name": "starbaseDestroyed",
      "code": 1367932945,
      "message": "Starbase destroyed",
      "docs": [
        "Starbase is destroyed"
      ]
    },
    {
      "kind": "errorNode",
      "name": "starbaseNotDestroyed",
      "code": 1367932946,
      "message": "Starbase not destroyed",
      "docs": [
        "Starbase is not destroyed"
      ]
    },
    {
      "kind": "errorNode",
      "name": "capacityExceeded",
      "code": 1367932947,
      "message": "Capacity exceeded",
      "docs": [
        "Resource or slot capacity exceeded"
      ]
    },
    {
      "kind": "errorNode",
      "name": "requirementsNotMet",
      "code": 1367932948,
      "message": "Requirements not met",
      "docs": [
        "Prerequisites or requirements were not met"
      ]
    },
    {
      "kind": "errorNode",
      "name": "cooldownActive",
      "code": 1367932949,
      "message": "Cooldown active",
      "docs": [
        "Operation blocked due to an active cooldown"
      ]
    },
    {
      "kind": "errorNode",
      "name": "usageLimitExceeded",
      "code": 1367932950,
      "message": "Usage limit exceeded",
      "docs": [
        "Usage limit exceeded"
      ]
    },
    {
      "kind": "errorNode",
      "name": "craftingJobLimitReached",
      "code": 1367932951,
      "message": "Crafting job limit reached",
      "docs": [
        "Maximum number of crafting hab jobs reached"
      ]
    },
    {
      "kind": "errorNode",
      "name": "hubAlreadyPlaced",
      "code": 1367932952,
      "message": "Multiple hubs placed",
      "docs": [
        "Attempted to place more than one hub building"
      ]
    },
    {
      "kind": "errorNode",
      "name": "alreadyExists",
      "code": 1367932953,
      "message": "Already exists",
      "docs": [
        "Duplicate/Already exists"
      ]
    },
    {
      "kind": "errorNode",
      "name": "duplicateResource",
      "code": 1367932954,
      "message": "Duplicate resource",
      "docs": [
        "Duplicate entry for a resource-like item"
      ]
    },
    {
      "kind": "errorNode",
      "name": "notAtCentralSpaceStation",
      "code": 1367932955,
      "message": "Not At Central Space Station",
      "docs": [
        "Not At Central Space Station"
      ]
    },
    {
      "kind": "errorNode",
      "name": "notWithinRange",
      "code": 1367932956,
      "message": "Not within range",
      "docs": [
        "Not within allowed range"
      ]
    },
    {
      "kind": "errorNode",
      "name": "globalCeasefireActive",
      "code": 1367932957,
      "message": "Global ceasefire active",
      "docs": [
        "Combat actions are blocked by a global ceasefire"
      ]
    },
    {
      "kind": "errorNode",
      "name": "unauthorized",
      "code": 1367932958,
      "message": "Unauthorized",
      "docs": [
        "Unauthorized or access denied"
      ]
    },
    {
      "kind": "errorNode",
      "name": "underConstruction",
      "code": 1367932959,
      "message": "Under construction",
      "docs": [
        "Operation blocked while structure is under construction"
      ]
    },
    {
      "kind": "errorNode",
      "name": "instanceDeactivated",
      "code": 1367932960,
      "message": "Instance deactivated",
      "docs": [
        "Structure instance is deactivated"
      ]
    },
    {
      "kind": "errorNode",
      "name": "numericOverflow",
      "code": 1367932961,
      "message": "Numeric overflow",
      "docs": [
        "Numeric overflow occurred"
      ]
    },
    {
      "kind": "errorNode",
      "name": "escrowUnderflow",
      "code": 1367932962,
      "message": "Escrow underflow",
      "docs": [
        "Escrow underflow"
      ]
    },
    {
      "kind": "errorNode",
      "name": "insufficientAmount",
      "code": 1367932963,
      "message": "Insufficient amount",
      "docs": [
        "Insufficient amount provided or available"
      ]
    },
    {
      "kind": "errorNode",
      "name": "withdrawalLimitExceeded",
      "code": 1367932964,
      "message": "Withdrawal limit exceeded",
      "docs": [
        "Withdrawal amount exceeds configured limit"
      ]
    },
    {
      "kind": "errorNode",
      "name": "withdrawDisabled",
      "code": 1367932965,
      "message": "Withdraw disabled",
      "docs": [
        "Withdrawals are disabled for this cargo type"
      ]
    },
    {
      "kind": "errorNode",
      "name": "epochDivisionError",
      "code": 1367932966,
      "message": "Epoch division error",
      "docs": [
        "Epoch calculation/division error"
      ]
    },
    {
      "kind": "errorNode",
      "name": "invalidTimestamp",
      "code": 1367932967,
      "message": "Invalid timestamp",
      "docs": [
        "Invalid timestamp/clock value"
      ]
    },
    {
      "kind": "errorNode",
      "name": "regionNotFound",
      "code": 1367932968,
      "message": "Region not found",
      "docs": [
        "Region not found"
      ]
    },
    {
      "kind": "errorNode",
      "name": "regionInvalid",
      "code": 1367932969,
      "message": "Region invalid",
      "docs": [
        "Region is invalid"
      ]
    },
    {
      "kind": "errorNode",
      "name": "invalidPath",
      "code": 1367932970,
      "message": "Invalid path",
      "docs": [
        "Invalid path"
      ]
    },
    {
      "kind": "errorNode",
      "name": "boundingBoxFailed",
      "code": 1367932971,
      "message": "Bounding box failed",
      "docs": [
        "Bounding box creation failed"
      ]
    },
    {
      "kind": "errorNode",
      "name": "invariantViolation",
      "code": 1367932972,
      "message": "Invariant violation",
      "docs": [
        "Invariant violation (internal error)"
      ]
    },
    {
      "kind": "errorNode",
      "name": "sequenceIdMismatch",
      "code": 1367932973,
      "message": "Sequence ids do not match",
      "docs": [
        "Sequence ids do not match"
      ]
    },
    {
      "kind": "errorNode",
      "name": "rentedFleet",
      "code": 1367932974,
      "message": "Fleet is rented",
      "docs": [
        "Fleet is rented"
      ]
    },
    {
      "kind": "errorNode",
      "name": "rosterPageMismatch",
      "code": 1367932975,
      "message": "Crew roster page mismatch",
      "docs": [
        "Crew roster page index does not match the instruction's page_index"
      ]
    },
    {
      "kind": "errorNode",
      "name": "crewAssetMismatch",
      "code": 1367932976,
      "message": "Crew asset mismatch",
      "docs": [
        "A supplied crew asset id was not found on the roster page"
      ]
    },
    {
      "kind": "errorNode",
      "name": "crewFeatureDisabled",
      "code": 1367932977,
      "message": "Crew feature disabled",
      "docs": [
        "Crew feature is disabled (Game.crew_config is None)"
      ]
    },
    {
      "kind": "errorNode",
      "name": "crewRecordNotFound",
      "code": 1367932978,
      "message": "Crew record not found",
      "docs": [
        "Crew record not found on the roster page"
      ]
    },
    {
      "kind": "errorNode",
      "name": "crewBadStatus",
      "code": 1367932979,
      "message": "Crew bad status",
      "docs": [
        "Crew is in the wrong status for this action"
      ]
    },
    {
      "kind": "errorNode",
      "name": "crewBusy",
      "code": 1367932980,
      "message": "Crew busy",
      "docs": [
        "Crew is busy (reserved by a quest / garrison)"
      ]
    },
    {
      "kind": "errorNode",
      "name": "perkOfferGate",
      "code": 1367932981,
      "message": "Perk offer gate",
      "docs": [
        "Perk offer-gate not satisfied (rarity/aptitude/personality)"
      ]
    },
    {
      "kind": "errorNode",
      "name": "gearSlotOccupied",
      "code": 1367932982,
      "message": "Gear slot occupied",
      "docs": [
        "Target gear slot is already occupied"
      ]
    },
    {
      "kind": "errorNode",
      "name": "crewAlreadyBound",
      "code": 1367932983,
      "message": "Crew already bound",
      "docs": [
        "Crew asset id already has a record on this roster page (duplicate bind/migrate rejected;",
        "PR #732 review — the double-bind guard)"
      ]
    },
    {
      "kind": "errorNode",
      "name": "crewXpAwardTooLarge",
      "code": 1367932984,
      "message": "Crew XP award too large",
      "docs": [
        "AwardCrewActivityXp per-category award exceeds the per-call cap (PR #732 review)"
      ]
    },
    {
      "kind": "errorNode",
      "name": "setPerkDefinitionsUnsupported",
      "code": 1367932985,
      "message": "Set perk definitions unsupported",
      "docs": [
        "SetPerkDefinitions was called but the runtime perk-definition map is not yet wired",
        "(the folds read the static catalogue). Explicit failure beats silently accepting and",
        "discarding the supplied definitions (PR #732 second review)."
      ]
    },
    {
      "kind": "errorNode",
      "name": "crewRosterOwnerMismatch",
      "code": 1367932986,
      "message": "Crew roster owner mismatch",
      "docs": [
        "The supplied CrewRoster is not the expected (character, page_index) PDA — a caller",
        "tried to operate on a roster page that does not belong to the validated character",
        "(PR #732 second review — the roster owner binding)"
      ]
    },
    {
      "kind": "errorNode",
      "name": "crewAuthorityMismatch",
      "code": 1367932987,
      "message": "Crew authority mismatch",
      "docs": [
        "The crew attestation authority did not sign / does not match `Game.crew_config`",
        "(PR #732 second review — Bind/Migrate are authority-gated until Phase-2 attestation)"
      ]
    },
    {
      "kind": "errorNode",
      "name": "fleetCrewPageConflict",
      "code": 1367932988,
      "message": "Fleet crew page conflict",
      "docs": [
        "The FleetCrewBinding is pinned to a different roster page (one-page-per-fleet",
        "invariant — PR #732 second review)"
      ]
    },
    {
      "kind": "errorNode",
      "name": "factionDrainBlocked",
      "code": 1367932989,
      "message": "Faction drain blocked: own-faction opposition requires an outlaw declaration",
      "docs": [
        "A mission's settled action would DRAIN the rightful incumbent of a sector the actor's OWN",
        "faction holds, and the actor is not a declared outlaw — the own-faction anti-grief gate",
        "(doc 180 §3 Phase-2 faction-stance). Declare outlaw to act against your own faction."
      ]
    },
    {
      "kind": "errorNode",
      "name": "commitmentWindowActive",
      "code": 1367932990,
      "message": "Outlaw commitment window still active",
      "docs": [
        "ClearOutlaw was attempted while the 2-epoch commitment window is still active — the outlaw",
        "flag is locked until `now >= pvp_until` (doc 180 §3d, the PvP-flag commitment)."
      ]
    },
    {
      "kind": "errorNode",
      "name": "reservedFactionId",
      "code": 1367932991,
      "message": "Reserved faction id",
      "docs": [
        "Reserved faction id (0 = null; 1/2/3 = majors, seed-only)"
      ]
    },
    {
      "kind": "errorNode",
      "name": "invalidFactionFlags",
      "code": 1367932992,
      "message": "Invalid faction flags",
      "docs": [
        "Capability flags contain unknown bits"
      ]
    },
    {
      "kind": "errorNode",
      "name": "factionFlagNotPermitted",
      "code": 1367932993,
      "message": "Faction flag not permitted",
      "docs": [
        "Caller may not grant the requested high-trust flags"
      ]
    },
    {
      "kind": "errorNode",
      "name": "invalidFactionStatusTransition",
      "code": 1367932994,
      "message": "Invalid faction status transition",
      "docs": [
        "Illegal faction status transition"
      ]
    },
    {
      "kind": "errorNode",
      "name": "factionBridgeInconsistent",
      "code": 1367932995,
      "message": "Faction bridge inconsistent",
      "docs": [
        "alignment<->faction_id bridge inconsistent at seed"
      ]
    },
    {
      "kind": "errorNode",
      "name": "standingProfileMismatch",
      "code": 1367932996,
      "message": "Standing profile mismatch",
      "docs": [
        "Standing account's profile doesn't match the settling profile"
      ]
    },
    {
      "kind": "errorNode",
      "name": "standingFactionMismatch",
      "code": 1367932997,
      "message": "Standing faction mismatch",
      "docs": [
        "Standing account's faction_id doesn't match the credited faction"
      ]
    },
    {
      "kind": "errorNode",
      "name": "standingPdaMismatch",
      "code": 1367932998,
      "message": "Standing PDA mismatch",
      "docs": [
        "Standing account PDA doesn't match its derived address"
      ]
    },
    {
      "kind": "errorNode",
      "name": "standingEpochCapExceeded",
      "code": 1367932999,
      "message": "Standing epoch cap exceeded",
      "docs": [
        "Per-faction per-epoch standing-emission cap exceeded"
      ]
    },
    {
      "kind": "errorNode",
      "name": "standingTooLow",
      "code": 1367933000,
      "message": "Standing too low",
      "docs": [
        "Standing too low for this action"
      ]
    },
    {
      "kind": "errorNode",
      "name": "standingAccountRequired",
      "code": 1367933001,
      "message": "Standing account required",
      "docs": [
        "A standing/config/meter account is required for accrual but was not supplied (partial set)"
      ]
    },
    {
      "kind": "errorNode",
      "name": "factionMarketPdaMismatch",
      "code": 1367933002,
      "message": "Faction market PDA mismatch",
      "docs": [
        "Faction market PDA doesn't match its derived address"
      ]
    },
    {
      "kind": "errorNode",
      "name": "factionMarketTreasuryMismatch",
      "code": 1367933003,
      "message": "Faction market treasury mismatch",
      "docs": [
        "Faction market's bound treasury doesn't match the supplied treasury"
      ]
    },
    {
      "kind": "errorNode",
      "name": "factionReserveFloor",
      "code": 1367933004,
      "message": "Faction reserve floor",
      "docs": [
        "An Ask would draw a faction treasury reserve below its strategic floor"
      ]
    },
    {
      "kind": "errorNode",
      "name": "factionNotActive",
      "code": 1367933005,
      "message": "Faction market not active",
      "docs": [
        "Faction market is not Active"
      ]
    },
    {
      "kind": "errorNode",
      "name": "factionAllied",
      "code": 1367933006,
      "message": "Faction is allied",
      "docs": [
        "Cannot attack an allied faction (in its homeland)"
      ]
    },
    {
      "kind": "errorNode",
      "name": "factionCeasefire",
      "code": 1367933007,
      "message": "Faction ceasefire active",
      "docs": [
        "Cannot attack during an active ceasefire"
      ]
    },
    {
      "kind": "errorNode",
      "name": "factionNotCombatant",
      "code": 1367933008,
      "message": "Faction is not a combatant",
      "docs": [
        "Faction lacks the COMBATANT capability (declared in P3, thrown in P4)"
      ]
    },
    {
      "kind": "errorNode",
      "name": "selfRelation",
      "code": 1367933009,
      "message": "Self relation",
      "docs": [
        "A faction cannot have a relation with itself"
      ]
    },
    {
      "kind": "errorNode",
      "name": "invalidFaction",
      "code": 1367933010,
      "message": "Invalid faction",
      "docs": [
        "Faction account/id is invalid or not Active"
      ]
    },
    {
      "kind": "errorNode",
      "name": "maxAlliesExceeded",
      "code": 1367933011,
      "message": "Max allies exceeded",
      "docs": [
        "A faction has reached its maximum simultaneous allies"
      ]
    },
    {
      "kind": "errorNode",
      "name": "invalidRelationArg",
      "code": 1367933012,
      "message": "Invalid relation argument",
      "docs": [
        "Invalid relation argument (e.g. ceasefire timestamp in the past)"
      ]
    },
    {
      "kind": "errorNode",
      "name": "ceasefireTooShort",
      "code": 1367933013,
      "message": "Ceasefire too short",
      "docs": [
        "Requested ceasefire is shorter than the configured minimum"
      ]
    },
    {
      "kind": "errorNode",
      "name": "ceasefireCooldown",
      "code": 1367933014,
      "message": "Ceasefire cooldown active",
      "docs": [
        "Re-entering a ceasefire on this pair is still on cooldown"
      ]
    },
    {
      "kind": "errorNode",
      "name": "factionOwnershipMismatch",
      "code": 1367933015,
      "message": "Faction ownership mismatch",
      "docs": [
        "P4: the dynamic-ownership sidecar is required-but-absent, stale (wrong generation), or carries an",
        "unknown asset_kind."
      ]
    },
    {
      "kind": "errorNode",
      "name": "starbaseContested",
      "code": 1367933016,
      "message": "Starbase contested",
      "docs": [
        "P4: the starbase is in its post-capture contested window (`now < contested_until`) and cannot be",
        "re-flipped yet (anti capture-and-camp); also a too-far-future/over-cap pre-seeded window."
      ]
    },
    {
      "kind": "errorNode",
      "name": "invalidFleetDirective",
      "code": 1367933017,
      "message": "Invalid fleet directive",
      "docs": [
        "P5b: a directive payload is malformed — unknown `FleetDirectiveKind`, or a timestamp that does not",
        "fit the i32 epoch-relative encoding (`directive_ts_out_of_range`)."
      ]
    },
    {
      "kind": "errorNode",
      "name": "factionDirectiveRateLimited",
      "code": 1367933018,
      "message": "Faction directive rate limited",
      "docs": [
        "P5b: `SetFleetDirective` was called again before `last_update + DIRECTIVE_COOLDOWN_SECS` elapsed."
      ]
    },
    {
      "kind": "errorNode",
      "name": "fleetNotOwnedByFaction",
      "code": 1367933019,
      "message": "Fleet not owned by faction",
      "docs": [
        "P5b: the supplied fleet's `FactionOwnership(FLEET)` sidecar does not name this faction as controller,",
        "or the operator profile does not match `FactionAccount.operator_profile`."
      ]
    },
    {
      "kind": "errorNode",
      "name": "factionFleetCapExceeded",
      "code": 1367933020,
      "message": "Faction fleet cap exceeded",
      "docs": [
        "P5b: `MintNpcFleet` would exceed `FactionAccount.max_npc_fleets` (the primary anti-flood headcount cap)."
      ]
    },
    {
      "kind": "errorNode",
      "name": "factionCaptureRateLimited",
      "code": 1367933021,
      "message": "Faction capture rate limited",
      "docs": [
        "P5b: an NPC faction tried to capture again before its per-faction `last_capture_at +",
        "faction_capture_cooldown_secs` elapsed (the on-chain anti-blitz brake)."
      ]
    },
    {
      "kind": "errorNode",
      "name": "characterSyncRequired",
      "code": 1367933022,
      "message": "Character research sync required",
      "docs": [
        "The Character's pending research-modifier resync exceeds the eager per-instruction bound",
        "(`MAX_EAGER_SYNC_NODE_LEVELS`). Replaying it inline would exhaust the transaction compute",
        "budget, bricking every instruction that validates the Character. Run the bounded,",
        "permissionless `SyncCharacter` instruction until it returns 0 remaining nodes, then retry."
      ]
    },
    {
      "kind": "errorNode",
      "name": "xpMigrationInProgress",
      "code": 1367933023,
      "message": "XP migration in progress",
      "docs": [
        "The game's XP runtime is sealed for the legacy-to-v1 reconciliation: registration,",
        "ordinary sync, admin threshold/renown edits and every XP write are rejected until",
        "`ActivateXpMigration` flips the game to v1. Only `ReconcileLegacyCharacter` may write XP."
      ]
    },
    {
      "kind": "errorNode",
      "name": "xpMigrationPhaseMismatch",
      "code": 1367933024,
      "message": "XP migration phase mismatch",
      "docs": [
        "The migration instruction was called in a phase that does not allow it",
        "(`Prepare -> Sealed -> Active` is one-way)."
      ]
    },
    {
      "kind": "errorNode",
      "name": "careerXpBudgetRequired",
      "code": 1367933025,
      "message": "Career XP budget required",
      "docs": [
        "The game runs the v1 XP runtime, but the acting Character's canonical `CareerXpBudget`",
        "PDA was not supplied (or was not writable). XP settlement is mandatory: fail closed."
      ]
    },
    {
      "kind": "errorNode",
      "name": "xpBudgetConfigRequired",
      "code": 1367933026,
      "message": "XP budget config required",
      "docs": [
        "The game runs the v1 XP runtime, but the game's `XpBudgetConfig` PDA was not supplied.",
        "Program defaults are never a substitute once a game is active."
      ]
    },
    {
      "kind": "errorNode",
      "name": "careerXpBudgetUnreconciled",
      "code": 1367933027,
      "message": "Career XP budget not reconciled",
      "docs": [
        "A `CareerXpBudget` was supplied whose permanent `reconciled_threshold_version` marker is",
        "still zero: the Character never went through `ReconcileLegacyCharacter`."
      ]
    },
    {
      "kind": "errorNode",
      "name": "xpBudgetNotActive",
      "code": 1367933028,
      "message": "XP budget not active for this game",
      "docs": [
        "XP budget accounts were supplied to a game whose XP runtime is still legacy. The legacy",
        "path never settles through the PDA; passing one is a client error, not a rollout switch."
      ]
    },
    {
      "kind": "errorNode",
      "name": "xpMigrationDigestMismatch",
      "code": 1367933029,
      "message": "XP migration digest mismatch",
      "docs": [
        "The staged `CareerXpTargetDefinitionsV1` payload does not hash to the approved digest",
        "pinned in `CareerXpMigrationConfig` (tampered rows, wrong header, or wrong approval)."
      ]
    },
    {
      "kind": "errorNode",
      "name": "xpMigrationManifestMismatch",
      "code": 1367933030,
      "message": "XP migration manifest mismatch",
      "docs": [
        "The Character is not a member of the committed finalized-seal manifest, the manifest was",
        "not committed yet, or the supplied Merkle proof is invalid."
      ]
    },
    {
      "kind": "errorNode",
      "name": "xpMigrationIncomplete",
      "code": 1367933031,
      "message": "XP migration incomplete",
      "docs": [
        "Activation requires every manifest member migrated and audited (`migrated == audited ==",
        "manifest_count`); the cohort is still incomplete."
      ]
    },
    {
      "kind": "errorNode",
      "name": "structureXpAccrualRequired",
      "code": 1367933032,
      "message": "Structure XP accrual ledger required",
      "docs": [
        "The game runs the v1 XP runtime, but the structure's `StructureXpAccrual` ledger was not",
        "supplied to an instruction that ticks or changes the structure's state. Building XP is",
        "derived from every such observation, so the ledger is mandatory: fail closed."
      ]
    },
    {
      "kind": "errorNode",
      "name": "rentHistoryInvalid",
      "code": 1367933033,
      "message": "Rent history invalid",
      "docs": [
        "Rent Option B: a price-source history account (catalog, head or page) is malformed, is not the one the",
        "write/read requires, or a writer premise (monotonic clock, contiguous pages) would be violated."
      ]
    },
    {
      "kind": "errorNode",
      "name": "rentWriteVersionMismatch",
      "code": 1367933034,
      "message": "Rent write version mismatch",
      "docs": [
        "Rent Option B: the rent-epoch writer's `expected_write_version` is stale (another write landed since",
        "the caller reviewed the head, including a same-second coalesced one)."
      ]
    },
    {
      "kind": "errorNode",
      "name": "rentFieldRetired",
      "code": 1367933035,
      "message": "Rent field retired: use SetPlanetRentGrid",
      "docs": [
        "Rent Option B: `UpdatePlanetTables`' rent field is retired for this planet (its grid source head",
        "exists or the rent catalog left Disabled); use `SetPlanetRentGrid`."
      ]
    },
    {
      "kind": "errorNode",
      "name": "rentCatalogStateMismatch",
      "code": 1367933036,
      "message": "Rent catalog state mismatch",
      "docs": [
        "Rent Option B: the rent catalog is in a state that does not allow this operation."
      ]
    },
    {
      "kind": "errorNode",
      "name": "rentHistoryMissing",
      "code": 1367933037,
      "message": "Rent history missing",
      "docs": [
        "Rent Option B: a history record the settlement needs exists but its page was not presented, or the",
        "presented history has a gap (a missing revision) or cannot prove coverage to the cutoff."
      ]
    },
    {
      "kind": "errorNode",
      "name": "rentHintInvalid",
      "code": 1367933038,
      "message": "Rent hint invalid",
      "docs": [
        "Rent Option B: a caller hint does not name the baseline record (the last record at or before the",
        "settlement start)."
      ]
    },
    {
      "kind": "errorNode",
      "name": "rentSelectorInvalid",
      "code": 1367933039,
      "message": "Rent selector invalid",
      "docs": [
        "Rent Option B: a starbase level or definition tier indexes outside the rent grid."
      ]
    },
    {
      "kind": "errorNode",
      "name": "rentNumericDomain",
      "code": 1367933040,
      "message": "Rent numeric domain",
      "docs": [
        "Rent Option B: a rent value, duration or budget is outside the fixed-point domain."
      ]
    },
    {
      "kind": "errorNode",
      "name": "rentEvaluationIncomplete",
      "code": 1367933041,
      "message": "Rent evaluation incomplete",
      "docs": [
        "Rent Option B: the settlement evaluation is not in a state that allows this (not initialized, coverage",
        "not proven, or the underfunded walk unresolved)."
      ]
    },
    {
      "kind": "errorNode",
      "name": "rentBudgetStale",
      "code": 1367933042,
      "message": "Rent budget stale",
      "docs": [
        "Rent Option B: the balance the evaluation priced is no longer the stake's live balance."
      ]
    },
    {
      "kind": "errorNode",
      "name": "rentBaselineInconsistent",
      "code": 1367933043,
      "message": "Rent baseline inconsistent",
      "docs": [
        "Rent Option B: the frozen pre-activation baseline is missing or newer than the history at activation."
      ]
    },
    {
      "kind": "errorNode",
      "name": "rentStakeEvictable",
      "code": 1367933044,
      "message": "Rent stake evictable",
      "docs": [
        "Rent Option B: the stake's eviction grace has expired — no settlement may begin (the pinned eviction",
        "gate); the stake can only be evicted."
      ]
    },
    {
      "kind": "errorNode",
      "name": "rentNothingToSettle",
      "code": 1367933045,
      "message": "Rent nothing to settle",
      "docs": [
        "Rent Option B: the stake is already paid through the (clamped) cutoff; nothing is installed."
      ]
    },
    {
      "kind": "errorNode",
      "name": "rentEvaluationConflict",
      "code": 1367933046,
      "message": "Rent evaluation conflict",
      "docs": [
        "Rent Option B: another evaluation is active for this stake over a different interval."
      ]
    },
    {
      "kind": "errorNode",
      "name": "rentEvaluationStale",
      "code": 1367933047,
      "message": "Rent evaluation stale",
      "docs": [
        "Rent Option B: the evaluation is not the stake's active one, or the stake's paid clock moved since it",
        "began."
      ]
    },
    {
      "kind": "errorNode",
      "name": "rentCancelRefused",
      "code": 1367933048,
      "message": "Rent cancel refused",
      "docs": [
        "Rent Option B: the cancel is not allowed (keeper evaluation, allowance exhausted, or cooldown)."
      ]
    },
    {
      "kind": "errorNode",
      "name": "rentSettlementRequired",
      "code": 1367933049,
      "message": "Rent settlement required",
      "docs": [
        "Rent Option B: under an Active catalog this operation needs rent priced from the history, which it cannot",
        "do yet (slice 5b) — refused rather than priced at the live grid."
      ]
    },
    {
      "kind": "errorNode",
      "name": "rentStakeNotInvalidated",
      "code": 1367933050,
      "message": "Rent stake not invalidated",
      "docs": [
        "Rent Option B: the terminal Commit needs a stake its planet already evicted (a live stake uses Commit)."
      ]
    },
    {
      "kind": "errorNode",
      "name": "factionMarketNotDraft",
      "code": 1367933051,
      "message": "Faction market not draft",
      "docs": [
        "P2 faction markets: `EditFactionMarket` requires the market to be in `Draft` (an Active market",
        "must be paused via `SetFactionMarketStatus` first)."
      ]
    },
    {
      "kind": "errorNode",
      "name": "claimStakeNotOperable",
      "code": 1367933052,
      "message": "Claim stake not operable",
      "docs": [
        "A claim-stake design mutation (Place / Cancel / Finalize) on a stake its planet still knows but that is",
        "not operable there: evicted (its plot entry is no longer active) or registered above the starbase's",
        "current level. Recovery is respawn (`RespawnClaimStakeInstance`) once the planet has synced the eviction —",
        "never a rent payment. An entry the planet does not know at all is `NotFound`; rent delinquency keeps its",
        "own errors."
      ]
    }
  ]
}