Type alias SageIDL

SageIDL: {
    accounts: [{
        docs: ["This account is used to store relevant information for a crafting process instance"];
        name: "craftingInstance";
        type: {
            fields: [{
                docs: ["The data version of this account"];
                name: "version";
                type: "u8";
            }, {
                docs: ["The sequence id for the `Starbase`"];
                name: "seqId";
                type: "u16";
            }, {
                docs: ["The number of crew taking part in the crafting process"];
                name: "numCrew";
                type: "u64";
            }, {
                docs: ["The `StarbasePlayer` account address"];
                name: "starbasePlayer";
                type: "publicKey";
            }, {
                docs: ["The `CraftingProcess` account address"];
                name: "craftingProcess";
                type: "publicKey";
            }, {
                docs: ["Bump of Account PDA"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Keeps track of a fleet while it is disbanded"];
        name: "disbandedFleet";
        type: {
            fields: [{
                docs: ["The data version of this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["The game id this belongs to."];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["The owner's profile."];
                name: "ownerProfile";
                type: "publicKey";
            }, {
                docs: ["The `Starbase` at which the original `Fleet` was disbanded."];
                name: "starbase";
                type: "publicKey";
            }, {
                docs: ["The label or name of the disbanded fleet."];
                name: "fleetLabel";
                type: {
                    array: ["u8", 32];
                };
            }, {
                docs: ["The `FleetShips` account belonging to the original `Fleet` that was disbanded."];
                name: "fleetShips";
                type: "publicKey";
            }, {
                docs: ["The disbanded fleet's bump."];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["A `SAGE` fleet."];
        name: "fleet";
        type: {
            fields: [{
                docs: ["The data version of this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["The game id this belongs to."];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["The owner's profile."];
                name: "ownerProfile";
                type: "publicKey";
            }, {
                docs: ["Fleet Ships Key"];
                name: "fleetShips";
                type: "publicKey";
            }, {
                docs: ["The fleet's sub-authority.", "If [`Some`] will have the exclusive ability to interact with this fleet."];
                name: "subProfile";
                type: {
                    defined: "OptionalNonSystemPubkey";
                };
            }, {
                docs: ["The authority for revoking a sun-authority."];
                name: "subProfileInvalidator";
                type: "publicKey";
            }, {
                docs: ["The label or name of the fleet."];
                name: "fleetLabel";
                type: {
                    array: ["u8", 32];
                };
            }, {
                docs: ["The number of ships in the fleet."];
                name: "shipCounts";
                type: {
                    defined: "ShipCounts";
                };
            }, {
                docs: ["The time at which the warp cooldown expires"];
                name: "warpCooldownExpiresAt";
                type: "i64";
            }, {
                docs: ["The time at which the scan cooldown expires"];
                name: "scanCooldownExpiresAt";
                type: "i64";
            }, {
                docs: ["The fleet's stats."];
                name: "stats";
                type: {
                    defined: "ShipStats";
                };
            }, {
                docs: ["The Cargo pod representing the fleet's cargo hold"];
                name: "cargoHold";
                type: "publicKey";
            }, {
                docs: ["The Cargo pod representing the fleet's fuel tank"];
                name: "fuelTank";
                type: "publicKey";
            }, {
                docs: ["The Cargo pod representing the fleet's ammo bank"];
                name: "ammoBank";
                type: "publicKey";
            }, {
                docs: ["The update id for the `Fleet`"];
                name: "updateId";
                type: "u64";
            }, {
                docs: ["The fleet's bump."];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Keeps track of a the individual ships that make up a fleet"];
        name: "fleetShips";
        type: {
            fields: [{
                docs: ["The data version of this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["The `Fleet` account this belongs to"];
                name: "fleet";
                type: "publicKey";
            }, {
                docs: ["List length of `RemainingData`"];
                name: "fleetShipsInfoCount";
                type: "u32";
            }, {
                docs: ["The disbanded fleet's bump."];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Global Game Configuration variables"];
        name: "game";
        type: {
            fields: [{
                docs: ["The data version of this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["The sequence id for updates."];
                name: "updateId";
                type: "u64";
            }, {
                docs: ["The [`Profile`](player_profile::state::Profile) that handles the sector program permissions"];
                name: "profile";
                type: "publicKey";
            }, {
                docs: ["The associated `GameState` account."];
                name: "gameState";
                type: "publicKey";
            }, {
                docs: ["Points setting"];
                name: "points";
                type: {
                    defined: "Points";
                };
            }, {
                docs: ["Cargo settings"];
                name: "cargo";
                type: {
                    defined: "Cargo";
                };
            }, {
                docs: ["Crafting settings"];
                name: "crafting";
                type: {
                    defined: "Crafting";
                };
            }, {
                docs: ["mint related settings"];
                name: "mints";
                type: {
                    defined: "Mints";
                };
            }, {
                docs: ["vault related settings"];
                name: "vaults";
                type: {
                    defined: "Vaults";
                };
            }, {
                docs: ["Data for risk zones"];
                name: "riskZones";
                type: {
                    defined: "RiskZonesData";
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Keeps track of variables that may change frequently during a `Game` session"];
        name: "gameState";
        type: {
            fields: [{
                docs: ["The data version of this account"];
                name: "version";
                type: "u8";
            }, {
                docs: ["The sequence id for updates"];
                name: "updateId";
                type: "u64";
            }, {
                docs: ["The `Game` that this belongs to"];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["Fleet settings"];
                name: "fleet";
                type: {
                    defined: "FleetInfo";
                };
            }, {
                docs: ["Global levers"];
                name: "levers";
                type: {
                    defined: "Levers";
                };
            }, {
                docs: ["Miscellaneous settings"];
                name: "misc";
                type: {
                    defined: "MiscVariables";
                };
            }, {
                docs: ["PDA bump"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Represents a token registered as an item that can be mined"];
        name: "mineItem";
        type: {
            fields: [{
                docs: ["The data version of this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["the game_id account this item is registered with"];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["The name of the `MineItem`"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["the mint representing the items mined"];
                name: "mint";
                type: "publicKey";
            }, {
                docs: ["The `MineItem` update id"];
                name: "mineItemUpdateId";
                type: "u64";
            }, {
                docs: ["How hard it is to mine this item -> Ranges from 1-10"];
                name: "resourceHardness";
                type: "u16";
            }, {
                docs: ["The number of resource accounts for this mine item"];
                name: "numResourceAccounts";
                type: "u64";
            }, {
                docs: ["bump for PDA"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Planet"];
        name: "planet";
        type: {
            fields: [{
                docs: ["The data version of this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["The name of this `Planet`"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["the `Game` that this belongs to"];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["the sector that this belongs to"];
                name: "sector";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["sub_coordinates as [x, y]"];
                name: "subCoordinates";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["the planet type"];
                name: "planetType";
                type: "u8";
            }, {
                docs: ["the planet position"];
                name: "position";
                type: "u8";
            }, {
                docs: ["size"];
                name: "size";
                type: "u64";
            }, {
                docs: ["maximum health"];
                name: "maxHp";
                type: "u64";
            }, {
                docs: ["The current health of the `Planet`."];
                name: "currentHealth";
                type: "u64";
            }, {
                docs: ["the cumulative amount mined from this `Asteroid`"];
                name: "amountMined";
                type: "u64";
            }, {
                docs: ["the number of resources at this `Asteroid`"];
                name: "numResources";
                type: "u8";
            }, {
                docs: ["the number of entities currently mining at this `Asteroid`"];
                name: "numMiners";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Represents a mine-able item existing at a particular location (e.g. a planet)"];
        name: "resource";
        type: {
            fields: [{
                docs: ["The data version of this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["the game_id pubkey"];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["the location's pubkey"];
                name: "location";
                type: "publicKey";
            }, {
                docs: ["the mine item pubkey"];
                name: "mineItem";
                type: "publicKey";
            }, {
                docs: ["the location type"];
                name: "locationType";
                type: "u8";
            }, {
                docs: ["How abundant the resource is at the location -> Ranges from 1-5"];
                name: "systemRichness";
                type: "u16";
            }, {
                docs: ["the cumulative amount mined from this resource"];
                name: "amountMined";
                type: "u64";
            }, {
                docs: ["the number of entities currently mining this resource"];
                name: "numMiners";
                type: "u64";
            }, {
                docs: ["The `MineItem` update id"];
                name: "mineItemUpdateId";
                type: "u64";
            }, {
                docs: ["The `Resource` update id"];
                name: "resourceUpdateId";
                type: "u64";
            }, {
                docs: ["bump for PDA"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["A `SAGE` player's profile."];
        name: "sagePlayerProfile";
        type: {
            fields: [{
                docs: ["The data version of this account"];
                name: "version";
                type: "u8";
            }, {
                docs: ["The `Profile` key"];
                name: "playerProfile";
                type: "publicKey";
            }, {
                docs: ["The id of the `Game`"];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["Bump of Account PDA"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Sector"];
        name: "sector";
        type: {
            fields: [{
                docs: ["The data version of this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["the game_id that this belongs to"];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["coordinates as [x, y]"];
                name: "coordinates";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["The discoverer of this sector"];
                name: "discoverer";
                type: "publicKey";
            }, {
                docs: ["The name of this sector"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["the number of stars in this system"];
                name: "numStars";
                type: "u16";
            }, {
                docs: ["the number of planets in this system"];
                name: "numPlanets";
                type: "u16";
            }, {
                docs: ["the number of moons in this system"];
                name: "numMoons";
                type: "u16";
            }, {
                docs: ["the number of num_asteroid belts in this system"];
                name: "numAsteroidBelts";
                type: "u16";
            }, {
                docs: ["the number of connections in this system"];
                name: "numConnections";
                type: "u16";
            }, {
                docs: ["PDA bump"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["This account represents a Ship"];
        name: "ship";
        type: {
            fields: [{
                docs: ["The data version of this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["the game_id account this Ship is registered with"];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["the mint representing the Ship"];
                name: "mint";
                type: "publicKey";
            }, {
                docs: ["The name of this `Ship`"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["the ship's size class"];
                name: "sizeClass";
                type: "u8";
            }, {
                docs: ["The ship's stats"];
                name: "stats";
                type: {
                    defined: "ShipStats";
                };
            }, {
                docs: ["The `update_id` for the `Ship`"];
                name: "updateId";
                type: "u64";
            }, {
                docs: ["The max `Game` `update_id` that the `Ship` is valid for"];
                name: "maxUpdateId";
                type: "u64";
            }, {
                docs: ["the next `Ship` account to use when this `Ship` is updated"];
                name: "next";
                type: {
                    defined: "OptionalNonSystemPubkey";
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["`Star` account"];
        name: "star";
        type: {
            fields: [{
                docs: ["The data version of this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["The name of this `Star`"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["the game_id that this belongs to"];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["the sector that this belongs to"];
                name: "sector";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["size"];
                name: "size";
                type: "u64";
            }, {
                docs: ["sub_coordinates as [x, y]"];
                name: "subCoordinates";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["the star type"];
                name: "starType";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Starbase"];
        name: "starbase";
        type: {
            fields: [{
                docs: ["The data version of this `Starbase` account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["the game_id that this `Starbase` belongs to"];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["the sector that this `Starbase` belongs to"];
                name: "sector";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["the [`CraftingFacility`] to use for crafting at this `Starbase`"];
                name: "craftingFacility";
                type: "publicKey";
            }, {
                docs: ["The name of this `Starbase`"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["coordinates as [x, y]"];
                name: "subCoordinates";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["The faction of the `Starbase`."];
                name: "faction";
                type: "u8";
            }, {
                docs: ["bump for PDA"];
                name: "bump";
                type: "u8";
            }, {
                docs: ["The sequence id for the `Starbase`"];
                name: "seqId";
                type: "u16";
            }, {
                docs: ["The state of the `Starbase`. Is a [`StarbaseState`]."];
                name: "state";
                type: "u8";
            }, {
                docs: ["The level of the `Starbase`."];
                name: "level";
                type: "u8";
            }, {
                docs: ["The `Starbase` health points."];
                name: "hp";
                type: "u64";
            }, {
                docs: ["The `Starbase` shield points."];
                name: "sp";
                type: "u64";
            }, {
                docs: ["The planet position (`sector::state::Ring`) available for this `Starbase`"];
                name: "sectorRingAvailable";
                type: "u8";
            }, {
                docs: ["The `Starbase` upgrade state using `StarbaseUpgradeLevelState`"];
                name: "upgradeState";
                type: "i64";
            }, {
                docs: ["The last time the starbase was built or destroyed"];
                name: "builtDestroyedTimestamp";
                type: "i64";
            }, {
                docs: ["The number of fleets currently upgrading the `Starbase`"];
                name: "numUpgradingFleets";
                type: "u64";
            }, {
                docs: ["The total rate at which the SB is currently upgrading"];
                name: "totalUpgradeRate";
                type: "u64";
            }, {
                docs: ["The total received amount of material for upgrading the `Starbase` until the `last_updated_rate_timestamp`"];
                name: "receivedUpgradeMaterials";
                type: "u64";
            }, {
                docs: ["The total required amount of material for upgrading the `Starbase`"];
                name: "requiredUpgradeMaterials";
                type: "u64";
            }, {
                docs: ["The last time the SB total upgrade rate was updated"];
                name: "lastUpdatedRateTimestamp";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["The `SAGE` player info within a `Starbase`"];
        name: "starbasePlayer";
        type: {
            fields: [{
                docs: ["The data version of this account"];
                name: "version";
                type: "u8";
            }, {
                docs: ["The `Profile` key"];
                name: "playerProfile";
                type: "publicKey";
            }, {
                docs: ["The id of the `Game`"];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["The `Starbase` key"];
                name: "starbase";
                type: "publicKey";
            }, {
                docs: ["The `SagePlayerProfile` key"];
                name: "sagePlayerProfile";
                type: "publicKey";
            }, {
                docs: ["Bump of Account PDA"];
                name: "bump";
                type: "u8";
            }, {
                docs: ["List length of `RemainingData`"];
                name: "shipEscrowCount";
                type: "u32";
            }, {
                docs: ["The total crew members from the player's fleets at the `Starbase`"];
                name: "totalCrew";
                type: "u64";
            }, {
                docs: ["The number of crew members that is engaged/busy and not available"];
                name: "busyCrew";
                type: "u64";
            }, {
                docs: ["The `Game` update id"];
                name: "updateId";
                type: "u64";
            }, {
                docs: ["Number of updated items in `RemainingData` list", "This will be `ship_escrow_count` when all ships in escrow are up-to-date"];
                name: "updatedShipEscrowCount";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Survey Data Unit (SDU) Tracker"];
        name: "surveyDataUnitTracker";
        type: {
            fields: [{
                docs: ["The data version of this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["The game_id that this belongs to"];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["The Survey Data Unit Mint"];
                name: "mint";
                type: "publicKey";
            }, {
                docs: ["The signer for this account"];
                name: "signer";
                type: "publicKey";
            }, {
                docs: ["The signer for this account"];
                name: "signerBump";
                type: "u8";
            }, {
                docs: ["Survey Data Units found in the last `MAX_SECONDS` seconds", "This is structured such that the 0th index represents SDUs found `MAX_SECONDS` seconds ago,", "and the last index represents SDUs found in the most recent second", "NB: the only reason why this is `[u32; MAX_SECONDS]` and not `[u16; MAX_SECONDS]` is to prevent overflows"];
                name: "surveyDataUnitBySecond";
                type: {
                    array: ["u32", 60];
                };
            }, {
                docs: ["The global limit on how many SDUs can be found in a `MAX_SECONDS` second period"];
                name: "limit";
                type: "u32";
            }, {
                docs: ["The amount of time that must go by before someone can scan a sector again"];
                name: "scanCooldown";
                type: "u16";
            }, {
                docs: ["The chance that a player gets an SDU on a legitimate scan, this is meant to be a percentage", "10,000 == 100%, 100 = 1%, etc."];
                name: "probability";
                type: "u16";
            }, {
                docs: ["The max number of SDUs that can be found while scanning"];
                name: "max";
                type: "u16";
            }, {
                docs: ["The number of Sectors that can be scanned"];
                name: "numSectors";
                type: "u16";
            }, {
                docs: ["The last time the `SurveyDataUnitTracker` was updated"];
                name: "lastUpdate";
                type: "i64";
            }];
            kind: "struct";
        };
    }];
    errors: [{
        code: 6000;
        msg: "Incorrect admin address.";
        name: "IncorrectAdminAddress";
    }, {
        code: 6001;
        msg: "An expected remaining account is missing.";
        name: "MissingRemainingAccount";
    }, {
        code: 6002;
        msg: "No Stargate connections available.";
        name: "NoStargateConnectionsAvailable";
    }, {
        code: 6003;
        msg: "The provided Stargates are not connected.";
        name: "StargatesNotConnected";
    }, {
        code: 6004;
        msg: "Invalid Planet Type.";
        name: "InvalidPlanetType";
    }, {
        code: 6005;
        msg: "Invalid Ring Type.";
        name: "InvalidRingType";
    }, {
        code: 6006;
        msg: "Invalid Star Type.";
        name: "InvalidStarType";
    }, {
        code: 6007;
        msg: "Invalid Or Inactive Game";
        name: "InvalidOrInactiveGame";
    }, {
        code: 6008;
        msg: "Invalid Ship Size Class.";
        name: "InvalidShipSizeClass";
    }, {
        code: 6009;
        msg: "Incorrect Account Size.";
        name: "IncorrectAccountSize";
    }, {
        code: 6010;
        msg: "The update_id is mismatched.";
        name: "UpdateIdMismatch";
    }, {
        code: 6011;
        msg: "The account is already active.";
        name: "AlreadyActive";
    }, {
        code: 6012;
        msg: "The account is inactive.";
        name: "InactiveAccount";
    }, {
        code: 6013;
        msg: "The game account is invalid.";
        name: "InvalidGame";
    }, {
        code: 6014;
        msg: "The game state account is invalid.";
        name: "InvalidGameState";
    }, {
        code: 6015;
        msg: "The sector account is invalid.";
        name: "InvalidSector";
    }, {
        code: 6016;
        msg: "Incorrect sage game_id account address.";
        name: "IncorrectVarsAccountAddress";
    }, {
        code: 6017;
        msg: "Insufficient Fuel to complete movement";
        name: "InsufficientFuel";
    }, {
        code: 6018;
        msg: "Distance of movement is greater than the allowed maximum";
        name: "DistanceGreaterThanMax";
    }, {
        code: 6019;
        msg: "Numeric overflow";
        name: "NumericOverflow";
    }, {
        code: 6020;
        msg: "Invalid Location Type.";
        name: "InvalidLocationType";
    }, {
        code: 6021;
        msg: "The provided location type is not supported.";
        name: "LocationTypeNotSupported";
    }, {
        code: 6022;
        msg: "Incorrect mine item address.";
        name: "IncorrectMineItem";
    }, {
        code: 6023;
        msg: "Incorrect authority address.";
        name: "IncorrectAuthorityAddress";
    }, {
        code: 6024;
        msg: "Incorrect resource address.";
        name: "IncorrectResourceAddress";
    }, {
        code: 6025;
        msg: "Incorrect mint authority.";
        name: "IncorrectMintAuthority";
    }, {
        code: 6026;
        msg: "The mint authority should exist.";
        name: "MintAuthorityIsNone";
    }, {
        code: 6027;
        msg: "The current fleet state is not valid.";
        name: "InvalidCurrentFleetState";
    }, {
        code: 6028;
        msg: "The current starbase state is not valid.";
        name: "InvalidCurrentStarbaseState";
    }, {
        code: 6029;
        msg: "Authority mismatch";
        name: "AuthorityMismatch";
    }, {
        code: 6030;
        msg: "Mint mismatch";
        name: "MintMismatch";
    }, {
        code: 6031;
        msg: "Incorrect token address.";
        name: "TokenMismatch";
    }, {
        code: 6032;
        msg: "Owner mismatch";
        name: "OwnerMismatch";
    }, {
        code: 6033;
        msg: "Game ID mismatch";
        name: "GameMismatch";
    }, {
        code: 6034;
        msg: "Profile mismatch";
        name: "ProfileMismatch";
    }, {
        code: 6035;
        msg: "SagePlayerProfile mismatch";
        name: "SagePlayerProfileMismatch";
    }, {
        code: 6036;
        msg: "Starbase mismatch";
        name: "StarbaseMismatch";
    }, {
        code: 6037;
        msg: "Faction mismatch";
        name: "FactionMismatch";
    }, {
        code: 6038;
        msg: "Sequence id mismatch";
        name: "SeqIdMismatch";
    }, {
        code: 6039;
        msg: "Ship mismatch";
        name: "ShipMismatch";
    }, {
        code: 6040;
        msg: "Cargo Pod mismatch";
        name: "CargoPodMismatch";
    }, {
        code: 6041;
        msg: "Planet mismatch";
        name: "PlanetMismatch";
    }, {
        code: 6042;
        msg: "MineItem mismatch";
        name: "MineItemMismatch";
    }, {
        code: 6043;
        msg: "Location mismatch";
        name: "LocationMismatch";
    }, {
        code: 6044;
        msg: "Escrow key not found in remaining data";
        name: "InvalidEscrowKey";
    }, {
        code: 6045;
        msg: "Insufficient Ship token amount";
        name: "InvalidShipAmount";
    }, {
        code: 6046;
        msg: "Insufficient Ship hangar space amount";
        name: "InvalidShipHangarSpaceAmount";
    }, {
        code: 6047;
        msg: "Invalid crew amount";
        name: "InvalidCrewAmount";
    }, {
        code: 6048;
        msg: "Invalid state";
        name: "InvalidState";
    }, {
        code: 6049;
        msg: "Invalid distance";
        name: "InvalidDistance";
    }, {
        code: 6050;
        msg: "Not at central space station";
        name: "NotAtCentralSpaceStation";
    }, {
        code: 6051;
        msg: "The instruction does not expect a ship account";
        name: "ShipNotExpected";
    }, {
        code: 6052;
        msg: "Address mismatch";
        name: "AddressMismatch";
    }, {
        code: 6053;
        msg: "Invalid sector connection";
        name: "InvalidSectorConnection";
    }, {
        code: 6054;
        msg: "Invalid Starbase level";
        name: "InvalidStarbaseLevel";
    }, {
        code: 6055;
        msg: "Invalid Starbase upgrade recipe category";
        name: "InvalidStarbaseUpgradeRecipeCategory";
    }, {
        code: 6056;
        msg: "Hangar upgrade not Possible";
        name: "HangarUpgradeNotPossible";
    }, {
        code: 6057;
        msg: "Disbanded fleet not empty";
        name: "DisbandedFleetNotEmpty";
    }, {
        code: 6058;
        msg: "Faulty movement";
        name: "FaultyMovement";
    }, {
        code: 6059;
        msg: "Incorrect Account Type for Handle Raw";
        name: "IncorrectHandleRawAccount";
    }, {
        code: 6060;
        msg: "Insufficient Ship Cargo Capacity";
        name: "InsufficientShipCargoCapacity";
    }, {
        code: 6061;
        msg: "Fleet does not need update";
        name: "FleetDoesNotNeedUpdate";
    }, {
        code: 6062;
        msg: "Must disband fleet";
        name: "MustDisbandFleet";
    }, {
        code: 6063;
        msg: "Cannot force-disband fleet";
        name: "CannotForceDisbandFleet";
    }, {
        code: 6064;
        msg: "Ship mismatch or already updated";
        name: "ShipMismatchOrAlreadyUpdated";
    }, {
        code: 6065;
        msg: "Ship already updated";
        name: "ShipAlreadyUpdated";
    }, {
        code: 6066;
        msg: "Invalid next ship address";
        name: "InvalidNextShipAddress";
    }, {
        code: 6067;
        msg: "Ship is not valid for forced disband of fleet";
        name: "InvalidShipForForcedDisband";
    }, {
        code: 6068;
        msg: "Warp range exceeded";
        name: "InvalidWarpRange";
    }, {
        code: 6069;
        msg: "Invalid Ingredient";
        name: "InvalidIngredient";
    }, {
        code: 6070;
        msg: "Starbase Upgrade Not in progress";
        name: "StarbaseUpgradeNotInProgress";
    }, {
        code: 6071;
        msg: "Fleet Not in queue";
        name: "FleetNotInQueue";
    }, {
        code: 6072;
        msg: "Need to clean Starbase upgrade queue";
        name: "NeedCleanStarbaseUpgradeQueue";
    }, {
        code: 6073;
        msg: "Planet Not Reachable";
        name: "PlanetNotReachable";
    }, {
        code: 6074;
        msg: "Respawn Not Possible";
        name: "RespawnNotPossible";
    }, {
        code: 6075;
        msg: "Cannot enter enemy faction's Security Zone";
        name: "InvalidMovement";
    }, {
        code: 6076;
        msg: "The Cargo Pod contains a non-zero amount of the Cargo Type";
        name: "CargoAmountAboveZero";
    }, {
        code: 6077;
        msg: "The Cargo Pod is invalid";
        name: "InvalidCargoPod";
    }, {
        code: 6078;
        msg: "Invalid Zone Coordinates";
        name: "InvalidZoneCoordinates";
    }, {
        code: 6079;
        msg: "Respawn time not elapsed";
        name: "RespawnTimeNotElapsed";
    }, {
        code: 6080;
        msg: "The Account is Active";
        name: "ActiveAccount";
    }, {
        code: 6081;
        msg: "Starbase Player mismatch";
        name: "StarbasePlayerMismatch";
    }, {
        code: 6082;
        msg: "The account has already been processed";
        name: "AlreadyProcessed";
    }, {
        code: 6083;
        msg: "The amount is invalid";
        name: "InvalidAmount";
    }, {
        code: 6084;
        msg: "Warp is on cooldown";
        name: "WarpIsOnCooldown";
    }, {
        code: 6085;
        msg: "Program Mismatch";
        name: "ProgramMismatch";
    }, {
        code: 6086;
        msg: "Current Instruction Is Not Only Instruction";
        name: "MustBeOnlyInstruction";
    }, {
        code: 6087;
        msg: "Invalid Time";
        name: "InvalidTime";
    }, {
        code: 6088;
        msg: "Scanning is on cooldown";
        name: "ScanIsOnCooldown";
    }, {
        code: 6089;
        msg: "Invalid Fleet Size";
        name: "InvalidFleetSize";
    }, {
        code: 6090;
        msg: "The feature is inactive";
        name: "InactiveFeature";
    }, {
        code: 6091;
        msg: "Zero ships added to fleet";
        name: "ZeroShipsAdded";
    }, {
        code: 6092;
        msg: "Generic invalid data";
        name: "GenericInvalid";
    }];
    instructions: [{
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: true;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The [`GameState`] account"];
            isMut: true;
            isSigner: false;
            name: "gameState";
        }];
        args: [{
            name: "input";
            type: {
                defined: "ManageGameInput";
            };
        }];
        name: "activateGameState";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The funder for adding the connection"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The first connected sector"];
            isMut: true;
            isSigner: false;
            name: "sector1";
        }, {
            docs: ["The second connected sector"];
            isMut: true;
            isSigner: false;
            name: "sector2";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "subCoordinates1";
            type: {
                array: ["i64", 2];
            };
        }, {
            name: "flags1";
            type: "u8";
        }, {
            name: "subCoordinates2";
            type: {
                array: ["i64", 2];
            };
        }, {
            name: "flags2";
            type: "u8";
        }, {
            name: "keyIndex";
            type: "u16";
        }];
        name: "addConnection";
    }, {
        accounts: [{
            docs: ["The fleet owner's profile."];
            isMut: false;
            isSigner: false;
            name: "ownerProfile";
        }, {
            docs: ["The key on the owner profile with renting permissions."];
            isMut: false;
            isSigner: true;
            name: "ownerKey";
        }, {
            docs: ["This is a signer to help make sure the fleet won't be locked."];
            isMut: false;
            isSigner: true;
            name: "invalidator";
        }, {
            docs: ["The profile to rent to."];
            isMut: false;
            isSigner: false;
            name: "subProfile";
        }, {
            docs: ["The fleet to rent out."];
            isMut: true;
            isSigner: false;
            name: "fleet";
        }, {
            accounts: [{
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccounts";
        }];
        args: [{
            name: "ownerKeyIndex";
            type: "u16";
        }];
        name: "addRental";
    }, {
        accounts: [{
            docs: ["The funder - pays for account rent"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`SagePlayerProfile`] account"];
            isMut: true;
            isSigner: false;
            name: "sagePlayerProfile";
        }, {
            docs: ["The Origin Token Account"];
            isMut: true;
            isSigner: false;
            name: "originTokenAccount";
        }, {
            docs: ["The [`Ship`] Account"];
            isMut: false;
            isSigner: false;
            name: "ship";
        }, {
            docs: ["The Escrow Token Account"];
            isMut: true;
            isSigner: false;
            name: "shipEscrowTokenAccount";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "AddShipEscrowInput";
            };
        }];
        name: "addShipEscrow";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            docs: ["The funder for the new `Fleet`"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`FleetShips`] account"];
            isMut: true;
            isSigner: false;
            name: "fleetShips";
        }, {
            docs: ["The [`Ship`] Account"];
            isMut: false;
            isSigner: false;
            name: "ship";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "AddShipToFleetInput";
            };
        }];
        name: "addShipToFleet";
    }, {
        accounts: [{
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The [`CraftingInstance`] account to cancel"];
            isMut: true;
            isSigner: false;
            name: "craftingInstance";
        }, {
            docs: ["The crafting process account"];
            isMut: true;
            isSigner: false;
            name: "craftingProcess";
        }, {
            docs: ["The `CraftingFacility` account"];
            isMut: true;
            isSigner: false;
            name: "craftingFacility";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The Crafting Program"];
            isMut: false;
            isSigner: false;
            name: "craftingProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StarbaseCancelCraftingProcessInput";
            };
        }];
        name: "cancelCraftingProcess";
    }, {
        accounts: [{
            docs: ["This is a signer to help make sure the fleet won't be locked."];
            isMut: false;
            isSigner: true;
            name: "subProfileInvalidator";
        }, {
            docs: ["The fleet to rent out."];
            isMut: true;
            isSigner: false;
            name: "fleet";
        }, {
            docs: ["The new sub profile"];
            isMut: false;
            isSigner: false;
            name: "newSubProfile";
        }];
        args: [];
        name: "changeRental";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The [`CraftingInstance`] account"];
            isMut: false;
            isSigner: false;
            name: "craftingInstance";
        }, {
            docs: ["The crafting process account"];
            isMut: true;
            isSigner: false;
            name: "craftingProcess";
        }, {
            docs: ["The crafting recipe"];
            isMut: false;
            isSigner: false;
            name: "craftingRecipe";
        }, {
            docs: ["The destination cargo pod account"];
            isMut: true;
            isSigner: false;
            name: "cargoPodTo";
        }, {
            docs: ["The Cargo Type Account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The source account of the tokens - owner should be `crafting_process`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The destination account of the tokens - owner should be `cargo_pod_to`"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The token mint"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The Crafting Program"];
            isMut: false;
            isSigner: false;
            name: "craftingProgram";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["The [Token] program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StarbaseClaimCraftingNonConsumablesInput";
            };
        }];
        name: "claimCraftingNonConsumables";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The [`CraftingInstance`] account"];
            isMut: false;
            isSigner: false;
            name: "craftingInstance";
        }, {
            docs: ["The [`CraftingProcess`] account"];
            isMut: true;
            isSigner: false;
            name: "craftingProcess";
        }, {
            docs: ["The crafting [`Recipe`]"];
            isMut: false;
            isSigner: false;
            name: "craftingRecipe";
        }, {
            docs: ["The craftable item"];
            isMut: false;
            isSigner: false;
            name: "craftableItem";
        }, {
            docs: ["The destination cargo pod account"];
            isMut: true;
            isSigner: false;
            name: "cargoPodTo";
        }, {
            docs: ["The Cargo Type Account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The source account of the tokens - owner should be `craftable_item`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The destination account of the tokens - owner should be `cargo_pod_to`"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The Crafting Program"];
            isMut: false;
            isSigner: false;
            name: "craftingProgram";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["The [Token] program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StarbaseClaimCraftingOutputInput";
            };
        }];
        name: "claimCraftingOutputs";
    }, {
        accounts: [{
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The [`CraftingInstance`] account to close"];
            isMut: true;
            isSigner: false;
            name: "craftingInstance";
        }, {
            docs: ["The crafting process account"];
            isMut: true;
            isSigner: false;
            name: "craftingProcess";
        }, {
            docs: ["The crafting recipe account"];
            isMut: false;
            isSigner: false;
            name: "craftingRecipe";
        }, {
            docs: ["The `CraftingFacility` account"];
            isMut: true;
            isSigner: false;
            name: "craftingFacility";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The Crafting Program"];
            isMut: false;
            isSigner: false;
            name: "craftingProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StarbaseCloseCraftingProcessInput";
            };
        }];
        name: "closeCraftingProcess";
    }, {
        accounts: [{
            docs: ["The key on the player profile."];
            isMut: false;
            isSigner: true;
            name: "key";
        }, {
            docs: ["The player profile."];
            isMut: false;
            isSigner: false;
            name: "playerProfile";
        }, {
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The [`DisbandedFleet`] account"];
            isMut: true;
            isSigner: false;
            name: "disbandedFleet";
        }, {
            docs: ["The [`FleetShips`] account"];
            isMut: true;
            isSigner: false;
            name: "fleetShips";
        }];
        args: [{
            name: "input";
            type: {
                defined: "CloseDisbandedFleetInput";
            };
        }];
        name: "closeDisbandedFleet";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            docs: ["The cargo pod, owned by the fleet"];
            isMut: true;
            isSigner: false;
            name: "cargoPod";
        }, {
            docs: ["The cargo type account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The destination token account - owned by the `cargo_pod`"];
            isMut: true;
            isSigner: false;
            name: "token";
        }, {
            docs: ["The mint of the token accounts"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "KeyIndexInput";
            };
        }];
        name: "closeFleetCargoPodTokenAccount";
    }, {
        accounts: [{
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The new cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoPod";
        }, {
            docs: ["The cargo type account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The source token account - owned by the `cargo_pod`"];
            isMut: true;
            isSigner: false;
            name: "token";
        }, {
            docs: ["The mint of the token accounts"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "KeyIndexInput";
            };
        }];
        name: "closeStarbaseCargoTokenAccount";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The funder for the new `GameState`"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The old [`GameState`] account"];
            isMut: false;
            isSigner: false;
            name: "oldGameState";
        }, {
            docs: ["The [`GameState`] account", "This will and should fail if there already exists a `GameState`for the desired `update_id`"];
            isMut: true;
            isSigner: false;
            name: "newGameState";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "ManageGameInput";
            };
        }];
        name: "copyGameState";
    }, {
        accounts: [{
            docs: ["The funder for the new crafting process"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The new cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoPod";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StarbaseCreateCargoPodInput";
            };
        }];
        name: "createCargoPod";
    }, {
        accounts: [{
            docs: ["The funder for the new crafting process"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The [`CraftingInstance`] account to initialize"];
            isMut: true;
            isSigner: false;
            name: "craftingInstance";
        }, {
            docs: ["The `CraftingFacility` account"];
            isMut: true;
            isSigner: false;
            name: "craftingFacility";
        }, {
            docs: ["The crafting process account (NOT initialized)"];
            isMut: true;
            isSigner: false;
            name: "craftingProcess";
        }, {
            docs: ["The crafting recipe"];
            isMut: false;
            isSigner: false;
            name: "craftingRecipe";
        }, {
            docs: ["The crafting domain"];
            isMut: false;
            isSigner: false;
            name: "craftingDomain";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The Crafting Program"];
            isMut: false;
            isSigner: false;
            name: "craftingProgram";
        }, {
            docs: ["Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StarbaseCreateCraftingProcessInput";
            };
        }];
        name: "createCraftingProcess";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The funder for the new `Fleet`"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`Fleet`] account"];
            isMut: true;
            isSigner: false;
            name: "fleet";
        }, {
            docs: ["The [`FleetShips`] account"];
            isMut: true;
            isSigner: false;
            name: "fleetShips";
        }, {
            docs: ["The new fleet `cargo_hold` cargo pod (not initialized)"];
            isMut: true;
            isSigner: false;
            name: "cargoHold";
        }, {
            docs: ["The new fleet `fuel_tank` cargo pod (not initialized)"];
            isMut: true;
            isSigner: false;
            name: "fuelTank";
        }, {
            docs: ["The new fleet `ammo_bank` cargo pod (not initialized)"];
            isMut: true;
            isSigner: false;
            name: "ammoBank";
        }, {
            docs: ["The [`Ship`] Account - represents the first ship in the new fleet"];
            isMut: false;
            isSigner: false;
            name: "ship";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "CreateFleetInput";
            };
        }];
        name: "createFleet";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The origin cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoPodFrom";
        }, {
            docs: ["The destination cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoPodTo";
        }, {
            docs: ["The cargo type account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The source token account - owned by the `cargo_pod_from`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The destination token account - owned by the `cargo_pod_to`"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The mint of the token accounts"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "DepositCargoToFleetInput";
            };
        }];
        name: "depositCargoToFleet";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The new cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoPod";
        }, {
            docs: ["The cargo type account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The source token account - owned by the `key`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The destination token account - owned by the `cargo_pod`"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "CargoToGameInput";
            };
        }];
        name: "depositCargoToGame";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The [`CraftingInstance`] account"];
            isMut: false;
            isSigner: false;
            name: "craftingInstance";
        }, {
            docs: ["The [`CraftingFacility`](crafting::CraftingFacility) account"];
            isMut: false;
            isSigner: false;
            name: "craftingFacility";
        }, {
            docs: ["The crafting process account"];
            isMut: true;
            isSigner: false;
            name: "craftingProcess";
        }, {
            docs: ["The source cargo pod account"];
            isMut: true;
            isSigner: false;
            name: "cargoPodFrom";
        }, {
            docs: ["The crafting recipe"];
            isMut: false;
            isSigner: false;
            name: "craftingRecipe";
        }, {
            docs: ["The Cargo Type Account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The source account of the tokens - owner should be `cargo_pod_from`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The destination account of the tokens - owner should be `crafting_process`"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The Crafting Program"];
            isMut: false;
            isSigner: false;
            name: "craftingProgram";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["The [Token] program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StarbaseDepositCraftingIngredientInput";
            };
        }];
        name: "depositCraftingIngredient";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["Where the closing funds go."];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The [`MineItem`] account"];
            isMut: true;
            isSigner: false;
            name: "mineItem";
        }];
        args: [{
            name: "input";
            type: {
                defined: "KeyIndexInput";
            };
        }];
        name: "deregisterMineItem";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["Where the closing funds go."];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The [`MineItem`] account"];
            isMut: true;
            isSigner: false;
            name: "mineItem";
        }, {
            docs: ["The [`Resource`] account"];
            isMut: true;
            isSigner: false;
            name: "resource";
        }, {
            docs: ["The Location address"];
            isMut: true;
            isSigner: false;
            name: "location";
        }];
        args: [{
            name: "input";
            type: {
                defined: "KeyIndexInput";
            };
        }];
        name: "deregisterResource";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["Where the closing funds go."];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The [`Starbase`] account"];
            isMut: true;
            isSigner: false;
            name: "starbase";
        }];
        args: [{
            name: "input";
            type: {
                defined: "KeyIndexInput";
            };
        }];
        name: "deregisterStarbase";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["Where the closing funds go."];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The [`SurveyDataUnitTracker`] account"];
            isMut: true;
            isSigner: false;
            name: "surveyDataUnitTracker";
        }];
        args: [{
            name: "input";
            type: {
                defined: "DeregisterSurveyDataUnitTrackerInput";
            };
        }];
        name: "deregisterSurveyDataUnitTracker";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The funder - pays for account rent"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`DisbandedFleet`] account"];
            isMut: true;
            isSigner: false;
            name: "disbandedFleet";
        }, {
            docs: ["The [`Fleet`] account"];
            isMut: true;
            isSigner: false;
            name: "fleet";
        }, {
            docs: ["The [`FleetShips`] account"];
            isMut: true;
            isSigner: false;
            name: "fleetShips";
        }, {
            docs: ["The fleet `cargo_hold` cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoHold";
        }, {
            docs: ["The fleet `fuel_tank` cargo pod"];
            isMut: true;
            isSigner: false;
            name: "fuelTank";
        }, {
            docs: ["The fleet `ammo_bank` cargo pod"];
            isMut: true;
            isSigner: false;
            name: "ammoBank";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "DisbandFleetInput";
            };
        }];
        name: "disbandFleet";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The funder - pays for account rent"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`DisbandedFleet`] account"];
            isMut: true;
            isSigner: false;
            name: "disbandedFleet";
        }, {
            docs: ["The [`FleetShips`] account"];
            isMut: true;
            isSigner: false;
            name: "fleetShips";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The [`Ship`] Account"];
            isMut: false;
            isSigner: false;
            name: "ship";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "DisbandedFleetToEscrowInput";
            };
        }];
        name: "disbandedFleetToEscrow";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["Where the closing funds go."];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The [`MineItem`] account"];
            isMut: true;
            isSigner: false;
            name: "mineItem";
        }, {
            docs: ["The mine item token bank to drain"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["Where to send tokens from the bank"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The [Token] program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "KeyIndexInput";
            };
        }];
        name: "drainMineItemBank";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["Where the closing rent refunds go."];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The [`SurveyDataUnitTracker`] account"];
            isMut: false;
            isSigner: false;
            name: "surveyDataUnitTracker";
        }, {
            docs: ["The `SurveyDataUnitTracker` signer"];
            isMut: false;
            isSigner: false;
            name: "surveyDataUnitTrackerSigner";
        }, {
            docs: ["The SDU token bank to drain"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["Where to send tokens from the bank"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The [Token] program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "KeyIndexInput";
            };
        }];
        name: "drainSurveyDataUnitsBank";
    }, {
        accounts: [{
            docs: ["The fleet."];
            isMut: true;
            isSigner: false;
            name: "fleet";
        }];
        args: [];
        name: "fleetStateHandler";
    }, {
        accounts: [{
            docs: ["The funder - pays for account rent"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The new [`DisbandedFleet`] account"];
            isMut: true;
            isSigner: false;
            name: "disbandedFleet";
        }, {
            docs: ["The [`Fleet`] account"];
            isMut: true;
            isSigner: false;
            name: "fleet";
        }, {
            docs: ["The [`FleetShips`] account"];
            isMut: true;
            isSigner: false;
            name: "fleetShips";
        }, {
            docs: ["The fleet `cargo_hold` cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoHold";
        }, {
            docs: ["The fleet `fuel_tank` cargo pod"];
            isMut: true;
            isSigner: false;
            name: "fuelTank";
        }, {
            docs: ["The fleet `ammo_bank` cargo pod"];
            isMut: true;
            isSigner: false;
            name: "ammoBank";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The [`Ship`]", "Must provide at least one ship that is invalid for this instruction"];
            isMut: false;
            isSigner: false;
            name: "ship";
        }, {
            accounts: [{
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccounts";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "ForcedDisbandFleetInput";
            };
        }];
        name: "forceDisbandFleet";
    }, {
        accounts: [{
            docs: ["The `Fleet` Account"];
            isMut: true;
            isSigner: false;
            name: "fleet";
        }, {
            docs: ["The [`FleetShips`] account"];
            isMut: true;
            isSigner: false;
            name: "fleetShips";
        }, {
            docs: ["The origin cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoPod";
        }, {
            docs: ["The `cargo_type` for the token"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The [`Game`] account"];
            isMut: false;
            isSigner: false;
            name: "gameId";
        }, {
            docs: ["The source token account - owned by the `cargo_pod`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The mint of the token account"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [];
        name: "forceDropFleetCargo";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }];
        args: [{
            name: "keyIndex";
            type: "u16";
        }];
        name: "idleToLoadingBay";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            docs: ["Source Token account for ATLAS, owned by the player"];
            isMut: true;
            isSigner: false;
            name: "atlasTokenFrom";
        }, {
            docs: ["Vault Token account for ATLAS"];
            isMut: true;
            isSigner: false;
            name: "atlasTokenTo";
        }, {
            docs: ["The Solana Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "IdleToRespawnInput";
            };
        }];
        name: "idleToRespawn";
    }, {
        accounts: [{
            docs: ["The entity calling this instruction"];
            isMut: true;
            isSigner: true;
            name: "signer";
        }, {
            docs: ["The sector permissions [`Profile`]"];
            isMut: false;
            isSigner: false;
            name: "profile";
        }, {
            docs: ["The funder for the new game"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`Game`] account"];
            isMut: true;
            isSigner: true;
            name: "gameId";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "initGame";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The funder for the new `GameState`"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`GameState`] account"];
            isMut: true;
            isSigner: false;
            name: "gameState";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "InitGameStateInput";
            };
        }];
        name: "initGameState";
    }, {
        accounts: [{
            docs: ["This is a signer to help make sure the fleet won't be locked."];
            isMut: false;
            isSigner: true;
            name: "subProfileInvalidator";
        }, {
            docs: ["The fleet to rent out."];
            isMut: true;
            isSigner: false;
            name: "fleet";
        }];
        args: [];
        name: "invalidateRental";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: true;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The current [`Ship`] account"];
            isMut: true;
            isSigner: false;
            name: "ship";
        }];
        args: [{
            name: "keyIndex";
            type: "u16";
        }];
        name: "invalidateShip";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }];
        args: [{
            name: "keyIndex";
            type: "u16";
        }];
        name: "loadingBayToIdle";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            docs: ["The [`Resource`] account"];
            isMut: true;
            isSigner: false;
            name: "resource";
        }, {
            docs: ["The [`Planet`] account"];
            isMut: true;
            isSigner: false;
            name: "planet";
        }, {
            docs: ["The fuel tank cargo pod"];
            isMut: false;
            isSigner: false;
            name: "fuelTank";
        }, {
            docs: ["The source token account for fuel - owned by the `fuel_tank`"];
            isMut: false;
            isSigner: false;
            name: "fuelTokenFrom";
        }, {
            docs: ["Source Token account for ATLAS, owned by the player"];
            isMut: true;
            isSigner: false;
            name: "atlasTokenFrom";
        }, {
            docs: ["Vault Token account for ATLAS"];
            isMut: true;
            isSigner: false;
            name: "atlasTokenTo";
        }, {
            docs: ["The Solana Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "MineAsteroidToRespawnInput";
            };
        }];
        name: "mineAsteroidToRespawn";
    }, {
        accounts: [{
            docs: ["The key authorized for the cpi points instruction"];
            isMut: false;
            isSigner: true;
            name: "key";
        }, {
            docs: ["The points permissions [`Profile`](player_profile::state::Profile)"];
            isMut: false;
            isSigner: false;
            name: "profile";
        }, {
            docs: ["The funder - pays for account rent"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The `PointCategory`"];
            isMut: false;
            isSigner: false;
            name: "pointsCategory";
        }, {
            docs: ["The `PointsModifier` account to be inited in Points CPI"];
            isMut: true;
            isSigner: false;
            name: "pointsModifierAccount";
        }, {
            docs: ["The points program"];
            isMut: false;
            isSigner: false;
            name: "pointsProgram";
        }, {
            docs: ["The [`GameState`] account"];
            isMut: false;
            isSigner: false;
            name: "gameState";
        }, {
            docs: ["The [`Game`] account"];
            isMut: false;
            isSigner: false;
            name: "game";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "RegisterFleetsPointsModifierInput";
            };
        }];
        name: "registerFleetsPointModifier";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The funder for the new mine item"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`MineItem`] account"];
            isMut: true;
            isSigner: false;
            name: "mineItem";
        }, {
            docs: ["The mint address representing the mine item"];
            isMut: true;
            isSigner: false;
            name: "mint";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "RegisterMineItemInput";
            };
        }];
        name: "registerMineItem";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The funder for the new game"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`Planet`] account"];
            isMut: true;
            isSigner: true;
            name: "planet";
        }, {
            docs: ["The [`Sector`] account"];
            isMut: true;
            isSigner: false;
            name: "sector";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "RegisterPlanetInput";
            };
        }];
        name: "registerPlanet";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The funder for the new resource"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`Resource`] account"];
            isMut: true;
            isSigner: false;
            name: "resource";
        }, {
            docs: ["The Location address"];
            isMut: true;
            isSigner: false;
            name: "location";
        }, {
            docs: ["The [`MineItem`] account"];
            isMut: true;
            isSigner: false;
            name: "mineItem";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "RegisterResourceInput";
            };
        }];
        name: "registerResource";
    }, {
        accounts: [{
            docs: ["The player permissions [`Profile`]"];
            isMut: false;
            isSigner: false;
            name: "profile";
        }, {
            docs: ["The funder for the new profile"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The `SagePlayerProfile` account"];
            isMut: true;
            isSigner: false;
            name: "sagePlayerProfile";
        }, {
            accounts: [{
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccounts";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "registerSagePlayerProfile";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The funder for the new sector"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The discoverer of this sector"];
            isMut: false;
            isSigner: false;
            name: "discoverer";
        }, {
            docs: ["The [`Sector`] account"];
            isMut: true;
            isSigner: false;
            name: "sector";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "coordinates";
            type: {
                array: ["i64", 2];
            };
        }, {
            name: "name";
            type: {
                array: ["u8", 64];
            };
        }, {
            name: "keyIndex";
            type: "u16";
        }];
        name: "registerSector";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The funder for the new game"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`Ship`] account"];
            isMut: true;
            isSigner: true;
            name: "ship";
        }, {
            docs: ["The mint address representing the [`Ship`]"];
            isMut: false;
            isSigner: false;
            name: "mint";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "RegisterShipInput";
            };
        }];
        name: "registerShip";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The funder - pays for account rent"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`Star`] account"];
            isMut: true;
            isSigner: true;
            name: "star";
        }, {
            docs: ["The [`Sector`] account"];
            isMut: true;
            isSigner: false;
            name: "sector";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "RegisterStarInput";
            };
        }];
        name: "registerStar";
    }, {
        accounts: [{
            docs: ["The funder for the new star base"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`Starbase`] account"];
            isMut: true;
            isSigner: false;
            name: "starbase";
        }, {
            docs: ["The [`Sector`] account"];
            isMut: false;
            isSigner: false;
            name: "sector";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfile";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameStateAndProfile";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "RegisterStarbaseInputUnpacked";
            };
        }];
        name: "registerStarbase";
    }, {
        accounts: [{
            docs: ["The funder -- pays account rent"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            accounts: [{
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccounts";
        }, {
            docs: ["The [`SagePlayerProfile`] account"];
            isMut: false;
            isSigner: false;
            name: "sagePlayerProfile";
        }, {
            docs: ["The faction that the player belongs to."];
            isMut: false;
            isSigner: false;
            name: "profileFaction";
        }, {
            docs: ["The [`Starbase`] account"];
            isMut: false;
            isSigner: false;
            name: "starbase";
        }, {
            docs: ["The [`StarbasePlayer`] account to initialize"];
            isMut: true;
            isSigner: false;
            name: "starbasePlayer";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "registerStarbasePlayer";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The funder for the new mine item"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`SurveyDataUnitTracker`] account"];
            isMut: true;
            isSigner: false;
            name: "surveyDataUnitTracker";
        }, {
            docs: ["The mint for the new `SurveyDataUnitTracker`"];
            isMut: false;
            isSigner: false;
            name: "mint";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "RegisterSurveyDataUnitTrackerInput";
            };
        }];
        name: "registerSurveyDataUnitTracker";
    }, {
        accounts: [{
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The cargo pod (should be empty)"];
            isMut: true;
            isSigner: false;
            name: "cargoPod";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StarbaseRemoveCargoPodInput";
            };
        }];
        name: "removeCargoPod";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["Where the rent refund funds from the connections go to."];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The first sector to remove from"];
            isMut: true;
            isSigner: false;
            name: "sector1";
        }, {
            docs: ["The second sector to remove from"];
            isMut: true;
            isSigner: false;
            name: "sector2";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "sector1Index";
            type: "u16";
        }, {
            name: "sector2Index";
            type: "u16";
        }, {
            name: "keyIndex";
            type: "u16";
        }];
        name: "removeConnection";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The [`SagePlayerProfile`] account"];
            isMut: true;
            isSigner: false;
            name: "sagePlayerProfile";
        }, {
            docs: ["The Destination Token Account"];
            isMut: true;
            isSigner: false;
            name: "destinationTokenAccount";
        }, {
            docs: ["The [`Ship`] Account"];
            isMut: false;
            isSigner: false;
            name: "ship";
        }, {
            docs: ["The Escrow Token Account"];
            isMut: true;
            isSigner: false;
            name: "shipEscrowTokenAccount";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "RemoveShipEscrowInput";
            };
        }];
        name: "removeInvalidShipEscrow";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The [`SagePlayerProfile`] account"];
            isMut: true;
            isSigner: false;
            name: "sagePlayerProfile";
        }, {
            docs: ["The Destination Token Account"];
            isMut: true;
            isSigner: false;
            name: "destinationTokenAccount";
        }, {
            docs: ["The [`Ship`] Account"];
            isMut: false;
            isSigner: false;
            name: "ship";
        }, {
            docs: ["The Escrow Token Account"];
            isMut: true;
            isSigner: false;
            name: "shipEscrowTokenAccount";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "RemoveShipEscrowInput";
            };
        }];
        name: "removeShipEscrow";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The fleet `cargo_hold` cargo pod"];
            isMut: false;
            isSigner: false;
            name: "cargoHold";
        }, {
            docs: ["The fleet `fuel_tank` cargo pod"];
            isMut: false;
            isSigner: false;
            name: "fuelTank";
        }, {
            docs: ["The fleet `ammo_bank` cargo pod"];
            isMut: false;
            isSigner: false;
            name: "ammoBank";
        }];
        args: [{
            name: "input";
            type: {
                defined: "RespawnToLoadingBayInput";
            };
        }];
        name: "respawnToLoadingBay";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            docs: ["The [`SurveyDataUnitTracker`] account"];
            isMut: true;
            isSigner: false;
            name: "surveyDataUnitTracker";
        }, {
            docs: ["The `SurveyDataUnitTracker` signer"];
            isMut: false;
            isSigner: false;
            name: "surveyDataUnitTrackerSigner";
        }, {
            docs: ["The general cargo hold cargo pod for the fleet"];
            isMut: true;
            isSigner: false;
            name: "cargoHold";
        }, {
            docs: ["Source token account for the SDU, owned by `survey_data_unit_tracker_signer`"];
            isMut: true;
            isSigner: false;
            name: "sduTokenFrom";
        }, {
            docs: ["Destination token account for the SDU, owned by cargo_hold"];
            isMut: true;
            isSigner: false;
            name: "sduTokenTo";
        }, {
            docs: ["Token account for repair kit, owned by fleet"];
            isMut: true;
            isSigner: false;
            name: "repairKitTokenFrom";
        }, {
            docs: ["The food token mint"];
            isMut: true;
            isSigner: false;
            name: "repairKitMint";
        }, {
            docs: ["The cargo type of the SDU"];
            isMut: false;
            isSigner: false;
            name: "sduCargoType";
        }, {
            docs: ["The cargo type of Repair Kits"];
            isMut: false;
            isSigner: false;
            name: "repairKitCargoType";
        }, {
            docs: ["The cargo stats definition"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The cargo program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["The token program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["Solana Instructions Sysvar"];
            isMut: false;
            isSigner: false;
            name: "instructionsSysvar";
        }, {
            docs: ["Solana recent slothashes"];
            isMut: false;
            isSigner: false;
            name: "recentSlothashes";
        }];
        args: [{
            name: "input";
            type: {
                defined: "ScanForSurveyDataUnitsInput";
            };
        }];
        name: "scanForSurveyDataUnits";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The current [`Ship`] account"];
            isMut: true;
            isSigner: false;
            name: "ship";
        }, {
            docs: ["The next [`Ship`] account"];
            isMut: true;
            isSigner: false;
            name: "nextShip";
        }];
        args: [{
            name: "keyIndex";
            type: "u16";
        }];
        name: "setNextShip";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The [`CraftingInstance`] account"];
            isMut: false;
            isSigner: false;
            name: "craftingInstance";
        }, {
            docs: ["The [`CraftingProcess`] account"];
            isMut: true;
            isSigner: false;
            name: "craftingProcess";
        }, {
            docs: ["The crafting [`Recipe`]"];
            isMut: false;
            isSigner: false;
            name: "craftingRecipe";
        }, {
            docs: ["The `CraftingFacility` account"];
            isMut: false;
            isSigner: false;
            name: "craftingFacility";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The Crafting Program"];
            isMut: false;
            isSigner: false;
            name: "craftingProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StarbaseStartCraftingProcessInput";
            };
        }];
        name: "startCraftingProcess";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The [`MineItem`] account"];
            isMut: false;
            isSigner: false;
            name: "mineItem";
        }, {
            docs: ["The [`Resource`] account"];
            isMut: true;
            isSigner: false;
            name: "resource";
        }, {
            docs: ["The [`Planet`] account"];
            isMut: true;
            isSigner: false;
            name: "planet";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StartMiningAsteroidInput";
            };
        }];
        name: "startMiningAsteroid";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StartSubwarpInput";
            };
        }];
        name: "startSubwarp";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            docs: ["The [`Resource`] account"];
            isMut: true;
            isSigner: false;
            name: "resource";
        }, {
            docs: ["The [`Planet`] account"];
            isMut: true;
            isSigner: false;
            name: "planet";
        }, {
            docs: ["The fuel tank cargo pod"];
            isMut: true;
            isSigner: false;
            name: "fuelTank";
        }, {
            docs: ["The cargo type account for fuel"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The source token account - owned by the `fuel_tank`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The mint of the token account"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StopMiningAsteroidInput";
            };
        }];
        name: "stopMiningAsteroid";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StopSubwarpInput";
            };
        }];
        name: "stopSubwarp";
    }, {
        accounts: [{
            docs: ["The [`MineItem`] account"];
            isMut: false;
            isSigner: false;
            name: "mineItem";
        }, {
            docs: ["The [`Resource`] account"];
            isMut: true;
            isSigner: false;
            name: "resource";
        }];
        args: [];
        name: "syncResource";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            accounts: [{
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccounts";
        }];
        args: [];
        name: "syncStarbasePlayer";
    }, {
        accounts: [{
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The origin cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoPodFrom";
        }, {
            docs: ["The destination cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoPodTo";
        }, {
            docs: ["The cargo type account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The source token account - owned by the `cargo_pod_from`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The destination token account - owned by the `cargo_pod_to`"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The mint of the token accounts"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StarbaseTransferCargoInput";
            };
        }];
        name: "transferCargoAtStarbase";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            docs: ["The origin cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoPodFrom";
        }, {
            docs: ["The destination cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoPodTo";
        }, {
            docs: ["The cargo type account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The source token account - owned by the `cargo_pod_from`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The destination token account - owned by the `cargo_pod_to`"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The mint of the token accounts"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "TransferCargoWithinFleetInput";
            };
        }];
        name: "transferCargoWithinFleet";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: true;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }];
        args: [{
            name: "input";
            type: {
                defined: "UpdateGameInput";
            };
        }];
        name: "updateGame";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The [`GameState`] account"];
            isMut: true;
            isSigner: false;
            name: "gameState";
        }];
        args: [{
            name: "input";
            type: {
                defined: "UpdateGameStateInput";
            };
        }];
        name: "updateGameState";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The [`MineItem`] account"];
            isMut: true;
            isSigner: false;
            name: "mineItem";
        }];
        args: [{
            name: "input";
            type: {
                defined: "UpdateMineItemInput";
            };
        }];
        name: "updateMineItem";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The [`Planet`] account"];
            isMut: true;
            isSigner: false;
            name: "planet";
        }];
        args: [{
            name: "input";
            type: {
                defined: "UpdatePlanetInput";
            };
        }];
        name: "updatePlanet";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The [`MineItem`] account"];
            isMut: false;
            isSigner: false;
            name: "mineItem";
        }, {
            docs: ["The [`Resource`] account"];
            isMut: true;
            isSigner: false;
            name: "resource";
        }];
        args: [{
            name: "input";
            type: {
                defined: "UpdateResourceInput";
            };
        }];
        name: "updateResource";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The [`Ship`] account"];
            isMut: true;
            isSigner: false;
            name: "ship";
        }];
        args: [{
            name: "input";
            type: {
                defined: "UpdateShipInput";
            };
        }];
        name: "updateShip";
    }, {
        accounts: [{
            docs: ["The old [`Ship`] Account"];
            isMut: false;
            isSigner: false;
            name: "oldShip";
        }, {
            docs: ["The address indicated as `next` in the `old_ship` account"];
            isMut: false;
            isSigner: false;
            name: "next";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            accounts: [{
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccounts";
        }];
        args: [{
            name: "input";
            type: {
                defined: "UpdateShipEscrowInput";
            };
        }];
        name: "updateShipEscrow";
    }, {
        accounts: [{
            docs: ["The [`Fleet`] account"];
            isMut: true;
            isSigner: false;
            name: "fleet";
        }, {
            docs: ["The [`FleetShips`] account"];
            isMut: true;
            isSigner: false;
            name: "fleetShips";
        }, {
            docs: ["The old [`Ship`] Account"];
            isMut: false;
            isSigner: false;
            name: "oldShip";
        }, {
            docs: ["The address indicated as `next` in the `old_ship` account"];
            isMut: false;
            isSigner: false;
            name: "next";
        }, {
            accounts: [{
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccounts";
        }];
        args: [{
            name: "input";
            type: {
                defined: "UpdateShipFleetInput";
            };
        }];
        name: "updateShipInFleet";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The [`Star`] account"];
            isMut: true;
            isSigner: false;
            name: "star";
        }];
        args: [{
            name: "input";
            type: {
                defined: "UpdateStarInput";
            };
        }];
        name: "updateStar";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The funder for the new game"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`Starbase`] account"];
            isMut: true;
            isSigner: false;
            name: "starbase";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "UpdateStarbaseInput";
            };
        }];
        name: "updateStarbase";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The [`SurveyDataUnitTracker`] account"];
            isMut: true;
            isSigner: false;
            name: "surveyDataUnitTracker";
        }];
        args: [{
            name: "input";
            type: {
                defined: "UpdateSurveyDataUnitTrackerInput";
            };
        }];
        name: "updateSurveyDataUnitTracker";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            docs: ["The [`Starbase`] account"];
            isMut: false;
            isSigner: false;
            name: "fromStarbase";
        }, {
            docs: ["The [`Starbase`] account"];
            isMut: false;
            isSigner: false;
            name: "toStarbase";
        }, {
            docs: ["The Sector account representing the fleet`s current sector"];
            isMut: false;
            isSigner: false;
            name: "fromSector";
        }, {
            docs: ["The Sector account that `Fleet` will move to"];
            isMut: false;
            isSigner: false;
            name: "toSector";
        }, {
            docs: ["The fuel tank cargo pod"];
            isMut: true;
            isSigner: false;
            name: "fuelTank";
        }, {
            docs: ["The `Cargo Type` Account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The `CargoStatsDefinition` for the cargo type"];
            isMut: false;
            isSigner: false;
            name: "statsDefinition";
        }, {
            docs: ["The fuel source token account - owned by the `fuel_tank`"];
            isMut: true;
            isSigner: false;
            name: "fuelTokenFrom";
        }, {
            docs: ["Token Mint - The fuel mint"];
            isMut: true;
            isSigner: false;
            name: "fuelMint";
        }, {
            docs: ["The fee source token account"];
            isMut: true;
            isSigner: false;
            name: "feeTokenFrom";
        }, {
            docs: ["The fee destination token account"];
            isMut: true;
            isSigner: false;
            name: "feeTokenTo";
        }, {
            docs: ["Fee Token Mint"];
            isMut: true;
            isSigner: false;
            name: "feeMint";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "WarpLaneInput";
            };
        }];
        name: "warpLane";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            docs: ["The fuel tank cargo pod"];
            isMut: true;
            isSigner: false;
            name: "fuelTank";
        }, {
            docs: ["The cargo type account for fuel"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "statsDefinition";
        }, {
            docs: ["The source token account - owned by the `fuel_tank`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["Token Mint - The fuel mint"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "WarpToCoordinateInput";
            };
        }];
        name: "warpToCoordinate";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The origin cargo pod, owned by the fleet"];
            isMut: true;
            isSigner: false;
            name: "cargoPodFrom";
        }, {
            docs: ["The destination cargo pod, owned by the Starbase player"];
            isMut: true;
            isSigner: false;
            name: "cargoPodTo";
        }, {
            docs: ["The cargo type account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The source token account - owned by the `cargo_pod_from`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The destination token account - owned by the `cargo_pod_to`"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The mint of the token accounts"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "WithdrawCargoFromFleetInput";
            };
        }];
        name: "withdrawCargoFromFleet";
    }, {
        accounts: [{
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The new cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoPod";
        }, {
            docs: ["The cargo type account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The source token account - owned by the `cargo_pod`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The destination token account - owned by the `key`"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The mint of the token accounts"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "CargoToGameInput";
            };
        }];
        name: "withdrawCargoFromGame";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The [`CraftingInstance`] account"];
            isMut: false;
            isSigner: false;
            name: "craftingInstance";
        }, {
            docs: ["The [`CraftingFacility`](crafting::CraftingFacility) account"];
            isMut: false;
            isSigner: false;
            name: "craftingFacility";
        }, {
            docs: ["The crafting process account"];
            isMut: true;
            isSigner: false;
            name: "craftingProcess";
        }, {
            docs: ["The destination cargo pod account"];
            isMut: true;
            isSigner: false;
            name: "cargoPodTo";
        }, {
            docs: ["The crafting recipe"];
            isMut: false;
            isSigner: false;
            name: "craftingRecipe";
        }, {
            docs: ["The Cargo Type Account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The source account of the tokens - owner should be `crafting_process`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The destination account of the tokens - owner should be `cargo_pod_to`"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The token mint"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The Crafting Program"];
            isMut: false;
            isSigner: false;
            name: "craftingProgram";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["The [Token] program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StarbaseWithdrawCraftingIngredientInput";
            };
        }];
        name: "withdrawCraftingIngredient";
    }];
    name: "sage";
    types: [{
        docs: ["Struct for data input for `AddShipEscrow`"];
        name: "AddShipEscrowInput";
        type: {
            fields: [{
                docs: ["Amount of `Ship` tokens to transfer to escrow"];
                name: "shipAmount";
                type: "u64";
            }, {
                docs: ["Index of `WrappedShipEscrow` in remaining data of `StarbasePlayer`", "Some index `WrappedShipEscrow`, or None for new `WrappedShipEscrow`"];
                name: "index";
                type: {
                    option: "u32";
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for that has `key_index`"];
        name: "AddShipToFleetInput";
        type: {
            fields: [{
                docs: ["Number of ships to add to the fleet"];
                name: "shipAmount";
                type: "u8";
            }, {
                docs: ["Index of `WrappedShipEscrow` in remaining data of `StarbasePlayer`"];
                name: "shipEscrowIndex";
                type: "u32";
            }, {
                docs: ["Index of `FleetShipsInfo` in remaining data of `FleetShips`"];
                name: "fleetShipInfoIndex";
                type: {
                    option: "u32";
                };
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Type containing derived sub-levers used in `calculate_base_emissions()` discriminated by ship size"];
        name: "BaseEmissionsBySizeUtil";
        type: {
            fields: [{
                docs: ["xx_small"];
                name: "xxSmall";
                type: "u64";
            }, {
                docs: ["x_small"];
                name: "xSmall";
                type: "u64";
            }, {
                docs: ["small"];
                name: "small";
                type: "u64";
            }, {
                docs: ["medium"];
                name: "medium";
                type: "u64";
            }, {
                docs: ["large"];
                name: "large";
                type: "u64";
            }, {
                docs: ["capital"];
                name: "capital";
                type: "u64";
            }, {
                docs: ["commander"];
                name: "commander";
                type: "u64";
            }, {
                docs: ["titan"];
                name: "titan";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update `base_emissions_by_size_util`"];
        name: "BaseEmissionsBySizeUtilInput";
        type: {
            fields: [{
                docs: ["xx_small"];
                name: "xxSmall";
                type: "u64";
            }, {
                docs: ["x_small"];
                name: "xSmall";
                type: "u64";
            }, {
                docs: ["small"];
                name: "small";
                type: "u64";
            }, {
                docs: ["medium"];
                name: "medium";
                type: "u64";
            }, {
                docs: ["large"];
                name: "large";
                type: "u64";
            }, {
                docs: ["capital"];
                name: "capital";
                type: "u64";
            }, {
                docs: ["commander"];
                name: "commander";
                type: "u64";
            }, {
                docs: ["titan"];
                name: "titan";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Variables for the Cargo program"];
        name: "Cargo";
        type: {
            fields: [{
                docs: ["The cargo stats definition account"];
                name: "statsDefinition";
                type: "publicKey";
            }];
            kind: "struct";
        };
    }, {
        docs: ["A ship's cargo stats"];
        name: "CargoStats";
        type: {
            fields: [{
                docs: ["the capacity of the ship's cargo hold"];
                name: "cargoCapacity";
                type: "u32";
            }, {
                docs: ["the capacity of the ship's fuel tank"];
                name: "fuelCapacity";
                type: "u32";
            }, {
                docs: ["the capacity of the ship's ammo bank"];
                name: "ammoCapacity";
                type: "u32";
            }, {
                docs: ["the amount of ammo consumed per second by the ship when doing non-combat activities e.g. mining"];
                name: "ammoConsumptionRate";
                type: "u32";
            }, {
                docs: ["the amount of food consumed per second by the ship when doing non-combat activities e.g. mining"];
                name: "foodConsumptionRate";
                type: "u32";
            }, {
                docs: ["the amount of resources that can be mined by a ship per second"];
                name: "miningRate";
                type: "u32";
            }, {
                docs: ["the amount of upgrade material that is consumed by a ship per second while upgrading a Starbase"];
                name: "upgradeRate";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Unpacked version of [`CargoStats`]"];
        name: "CargoStatsUnpacked";
        type: {
            fields: [{
                docs: ["the capacity of the ship's cargo hold"];
                name: "cargoCapacity";
                type: "u32";
            }, {
                docs: ["the capacity of the ship's fuel tank"];
                name: "fuelCapacity";
                type: "u32";
            }, {
                docs: ["the capacity of the ship's ammo bank"];
                name: "ammoCapacity";
                type: "u32";
            }, {
                docs: ["the amount of ammo consumed per second by the ship when doing non-combat activities e.g. mining"];
                name: "ammoConsumptionRate";
                type: "u32";
            }, {
                docs: ["the amount of food consumed per second by the ship when doing non-combat activities e.g. mining"];
                name: "foodConsumptionRate";
                type: "u32";
            }, {
                docs: ["the amount of resources that can be mined by a ship per second"];
                name: "miningRate";
                type: "u32";
            }, {
                docs: ["the amount of upgrade material that is consumed by a ship per second while upgrading a Starbase"];
                name: "upgradeRate";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to `DepositCargoToGame`"];
        name: "CargoToGameInput";
        type: {
            fields: [{
                docs: ["cargo amount"];
                name: "amount";
                type: "u64";
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for that has `key_index`"];
        name: "CloseDisbandedFleetInput";
        type: {
            fields: [{
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Variables for the Crafting program"];
        name: "Crafting";
        type: {
            fields: [{
                docs: ["The crafting domain account"];
                name: "domain";
                type: "publicKey";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for that has `key_index`"];
        name: "CreateFleetInput";
        type: {
            fields: [{
                docs: ["Number of ships to add to the fleet"];
                name: "shipAmount";
                type: "u8";
            }, {
                docs: ["the fleet label"];
                name: "fleetLabel";
                type: {
                    array: ["u8", 32];
                };
            }, {
                docs: ["Index of `WrappedShipEscrow` in remaining data of `StarbasePlayer`"];
                name: "shipEscrowIndex";
                type: "u32";
            }, {
                docs: ["cargo hold seeds"];
                name: "cargoHoldSeeds";
                type: {
                    array: ["u8", 32];
                };
            }, {
                docs: ["fuel tank seeds"];
                name: "fuelTankSeeds";
                type: {
                    array: ["u8", 32];
                };
            }, {
                docs: ["ammo bank seeds"];
                name: "ammoBankSeeds";
                type: {
                    array: ["u8", 32];
                };
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to `DepositCargoToFleet`"];
        name: "DepositCargoToFleetInput";
        type: {
            fields: [{
                docs: ["cargo amount"];
                name: "amount";
                type: "u64";
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input that has `key_index`"];
        name: "DeregisterSurveyDataUnitTrackerInput";
        type: {
            fields: [{
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for that has `key_index`"];
        name: "DisbandFleetInput";
        type: {
            fields: [{
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for that has `key_index`"];
        name: "DisbandedFleetToEscrowInput";
        type: {
            fields: [{
                docs: ["Number of ships to add to the fleet"];
                name: "shipAmount";
                type: "u16";
            }, {
                docs: ["Index of `WrappedShipEscrow` in remaining data of `StarbasePlayer`"];
                name: "shipEscrowIndex";
                type: {
                    option: "u32";
                };
            }, {
                docs: ["Index of `FleetShipsInfo` in remaining data of `FleetShips`"];
                name: "fleetShipInfoIndex";
                type: "u32";
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["`Starbase` levels discriminated by faction"];
        name: "FactionsStarbaseLevelInfo";
        type: {
            fields: [{
                docs: ["Mud Starbase Levels Info"];
                name: "mud";
                type: {
                    array: [{
                        defined: "StarbaseLevelInfo";
                    }, 7];
                };
            }, {
                docs: ["Oni Starbase Levels Info"];
                name: "oni";
                type: {
                    array: [{
                        defined: "StarbaseLevelInfo";
                    }, 7];
                };
            }, {
                docs: ["Ustur Starbase Levels Info"];
                name: "ustur";
                type: {
                    array: [{
                        defined: "StarbaseLevelInfo";
                    }, 7];
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Variables for the Fleet program"];
        name: "FleetInfo";
        type: {
            fields: [{
                docs: ["`Starbase` levels discriminated by faction"];
                name: "starbaseLevels";
                type: {
                    defined: "FactionsStarbaseLevelInfo";
                };
            }, {
                docs: ["The fleets account registered as a modifier for LP in the Points program"];
                name: "fleetsLpModifier";
                type: {
                    defined: "FleetsPointModifier";
                };
            }, {
                docs: ["The fleets account registered as a modifier for XP in the Points program"];
                name: "fleetsXpModifier";
                type: {
                    defined: "FleetsPointModifier";
                };
            }, {
                docs: ["Maximum `Fleet` size allowed"];
                name: "maxFleetSize";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update fleet settings"];
        name: "FleetInput";
        type: {
            fields: [{
                docs: ["`Starbase` Level Info array"];
                name: "starbaseLevelInfoArray";
                type: {
                    option: {
                        vec: {
                            defined: "StarbaseLevelInfoArrayInput";
                        };
                    };
                };
            }, {
                docs: ["Maximum `Fleet` size allowed"];
                name: "maxFleetSize";
                type: {
                    option: "u32";
                };
            }, {
                docs: ["The bump for the `FleetsLPModifier` account"];
                name: "fleetsLpModifierBump";
                type: {
                    option: "u8";
                };
            }, {
                docs: ["The bump for the `FleetsXPModifier` account"];
                name: "fleetsXpModifierBump";
                type: {
                    option: "u8";
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct that represents info on a single ship type in a fleet"];
        name: "FleetShipsInfo";
        type: {
            fields: [{
                docs: ["The `Ship` account address"];
                name: "ship";
                type: "publicKey";
            }, {
                docs: ["The `Ship` token amount in escrow"];
                name: "amount";
                type: "u64";
            }, {
                docs: ["The update id for the `Ship`"];
                name: "updateId";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["The upgrade start state for a fleet"];
        name: "FleetStarbaseUpgradeState";
        type: {
            kind: "enum";
            variants: [{
                name: "NotFullyFilled";
            }, {
                name: "Started";
            }, {
                name: "Burning";
            }];
        };
    }, {
        docs: ["The fleets account registered as a modifier in the Points program"];
        name: "FleetsPointModifier";
        type: {
            fields: [{
                docs: ["`FleetsPointModifier` Pubkey"];
                name: "pubkey";
                type: "publicKey";
            }, {
                docs: ["`FleetsPointModifier` bump"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for that has `key_index`"];
        name: "ForcedDisbandFleetInput";
        type: {
            fields: [{
                docs: ["Index of `FleetShipsInfo` in remaining data of `FleetShips`"];
                name: "fleetShipInfoIndex";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["The data for the [`FleetStateData::Idle`](crate::state_machine::FleetStateData::Idle) state"];
        name: "Idle";
        type: {
            fields: [{
                docs: ["The star system the fleet is in"];
                name: "sector";
                type: {
                    array: ["i64", 2];
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to initialize an `IdleToRespawn` Ix"];
        name: "IdleToRespawnInput";
        type: {
            fields: [{
                docs: ["index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to `InitGameState`"];
        name: "InitGameStateInput";
        type: {
            fields: [{
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input that has `key_index`"];
        name: "KeyIndexInput";
        type: {
            fields: [{
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Global levers"];
        name: "Levers";
        type: {
            fields: [{
                docs: ["global lever that scales the quantity of resources. Units are 10000ths. Valid output values > 0."];
                name: "l0ResourcesScalarMultiplication";
                type: "u64";
            }, {
                docs: ["global lever which impacts the distribution of effective emissions. Units are 10000ths. Valid output values >= 0."];
                name: "l1EmissionsMainBreaker";
                type: "u64";
            }, {
                docs: ["global lever which impacts the effect that system richness has on resource emissions. Units are 10000ths. Valid output values > 0."];
                name: "l2SystemRichnessEmissions";
                type: "u64";
            }, {
                docs: ["global lever which impacts the effect that ship size has on resource emissions. Units are 10000ths. Valid output values > 0."];
                name: "l3ShipSizeWeight";
                type: "u64";
            }, {
                docs: ["global lever which impacts the effect that resource hardness has on resource emissions. Units are 10000ths. Valid output values > 0."];
                name: "l4ResourceHardness";
                type: "u64";
            }, {
                docs: ["Module wide lever that directly impacts the nominal cost of warping. Units are 10000ths. Valid output values > 1."];
                name: "l5FuelWarpBreaker";
                type: "u64";
            }, {
                docs: ["Module wide lever that directly impacts the nominal cost of planet exit. Units are 10000ths. Valid output values > 1."];
                name: "l6FuelPlanetBreaker";
                type: "u64";
            }, {
                docs: ["Module wide lever that impacts refinement from R20 (hydrogen) to R4 (fuel). Units are 10000ths. Valid output values > 1."];
                name: "l7FuelRefinementEfficiency";
                type: "u64";
            }, {
                docs: ["Module wide lever that directly impacts the nominal cost of mining. Units are 10000ths. Valid output values between 0 and 1."];
                name: "l8MiningFoodBreaker";
                type: "u64";
            }, {
                docs: ["Module wide lever that impacts refinement from R20 (organics) to R4 (food). Units are 10000ths. Valid output values > 0."];
                name: "l10FoodRefinementEfficiency";
                type: "u64";
            }, {
                docs: ["Module specific lever that scales the quantity of organics in the economy."];
                name: "l11OrganicsScalarMultiplication";
                type: "u64";
            }, {
                docs: ["Module wide lever that directly impacts the nominal cost of combat. Units are 10000ths. Valid output values > 0."];
                name: "l16FuelCombatBreaker";
                type: "u64";
            }, {
                docs: ["Module wide lever that directly impacts the nominal cost of subwarp mvmt. Units are 10000ths. Valid output values > 0."];
                name: "l21FuelSubwarpBreaker";
                type: "u64";
            }, {
                docs: ["Set of derived sub-levers used in `calculate_base_emissions()`.", "Math formula: `l1_emissions_main_breaker.powf(l3_ship_size_weight * ship_size)`"];
                name: "baseEmissionsBySizeUtil";
                type: {
                    defined: "BaseEmissionsBySizeUtil";
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update levers"];
        name: "LeversInput";
        type: {
            fields: [{
                docs: ["global lever that scales the quantity of resources."];
                name: "l0ResourcesScalarMultiplication";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["global lever which impacts the distribution of effective emissions."];
                name: "l1EmissionsMainBreaker";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["global lever which impacts the effect that system richness has on resource emissions."];
                name: "l2SystemRichnessEmissions";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["global lever which impacts the effect that ship size has on resource emissions."];
                name: "l3ShipSizeWeight";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["global lever which impacts the effect that resource hardness has on resource emissions."];
                name: "l4ResourceHardness";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["Module wide lever that directly impacts the nominal cost of warping"];
                name: "l5FuelWarpBreaker";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["Module wide lever that directly impacts the nominal cost of planet exit"];
                name: "l6FuelPlanetBreaker";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["Module wide lever that impacts refinement from R20 (hydrogen) to R4 (fuel)"];
                name: "l7FuelRefinementEfficiency";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["Module wide lever that directly impacts the nominal cost of mining. (Value between 0 and 1)"];
                name: "l8MiningFoodBreaker";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["Module wide lever that impacts refinement from R20 (organics) to R4 (food)"];
                name: "l10FoodRefinementEfficiency";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["Module specific lever that scales the quantity of organics in the economy."];
                name: "l11OrganicsScalarMultiplication";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["Module wide lever that directly impacts the nominal cost of combat. Units are 10000ths. Valid output values > 0."];
                name: "l16FuelCombatBreaker";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["Module wide lever that directly impacts the nominal cost of subwarp mvmt. Units are 10000ths. Valid output values > 0."];
                name: "l21FuelSubwarpBreaker";
                type: {
                    option: "u64";
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Represents different types of locations that a `Resource` might be found"];
        name: "LocationType";
        type: {
            kind: "enum";
            variants: [{
                name: "Planet";
            }];
        };
    }, {
        docs: ["Struct for data input to managing Game accounts"];
        name: "ManageGameInput";
        type: {
            fields: [{
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["The data for the [`FleetStateData::MineAsteroid`](crate::state_machine::FleetStateData::MineAsteroid) state"];
        name: "MineAsteroid";
        type: {
            fields: [{
                docs: ["The `Asteroid` the `Fleet` is mining (Must be an asteroid belt)"];
                name: "asteroid";
                type: "publicKey";
            }, {
                docs: ["The `Resource` being mined on the `Asteroid`"];
                name: "resource";
                type: "publicKey";
            }, {
                docs: ["The timestamp at which mining activity started"];
                name: "start";
                type: "i64";
            }, {
                docs: ["The timestamp at which mining activity stops"];
                name: "end";
                type: "i64";
            }, {
                docs: ["The last time the `Fleet` was updated"];
                name: "lastUpdate";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for `MineAsteroidToRespawnInput`"];
        name: "MineAsteroidToRespawnInput";
        type: {
            fields: [{
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Token mints"];
        name: "Mints";
        type: {
            fields: [{
                docs: ["ATLAS token mint"];
                name: "atlas";
                type: "publicKey";
            }, {
                docs: ["POLIS token mint"];
                name: "polis";
                type: "publicKey";
            }, {
                docs: ["ammunition"];
                name: "ammo";
                type: "publicKey";
            }, {
                docs: ["food"];
                name: "food";
                type: "publicKey";
            }, {
                docs: ["fuel"];
                name: "fuel";
                type: "publicKey";
            }, {
                docs: ["repair kit"];
                name: "repairKit";
                type: "publicKey";
            }];
            kind: "struct";
        };
    }, {
        docs: ["A ship's miscellaneous stats"];
        name: "MiscStats";
        type: {
            fields: [{
                docs: ["Number of crew in the ship"];
                name: "crew";
                type: "u64";
            }, {
                docs: ["the time it takes the ship to respawn"];
                name: "respawnTime";
                type: "u16";
            }, {
                docs: ["the time it takes the ship to be able to scan again after scanning"];
                name: "scanCoolDown";
                type: "u16";
            }, {
                docs: ["the amount of food required to do a scan"];
                name: "scanRepairKitAmount";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Unpacked version of [`MiscStats`]"];
        name: "MiscStatsUnpacked";
        type: {
            fields: [{
                docs: ["Number of crew in the ship"];
                name: "crew";
                type: "u64";
            }, {
                docs: ["the time it takes the ship to respawn"];
                name: "respawnTime";
                type: "u16";
            }, {
                docs: ["the time it takes the ship to be able to scan again after scanning"];
                name: "scanCoolDown";
                type: "u16";
            }, {
                docs: ["the amount of food required to do a scan"];
                name: "scanRepairKitAmount";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Miscellaneous game state variables"];
        name: "MiscVariables";
        type: {
            fields: [{
                docs: ["Percentage by which the \"warp lane\" movement type reduces warp fuel cost"];
                name: "warpLaneFuelCostReduction";
                type: "i32";
            }, {
                docs: ["Respawn fee; You cannot enter into the respawning state without paying this fee", "Since ATLAS has 8 decimal places, units are in the smallest value of ATLAS possible."];
                name: "respawnFee";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to update miscellaneous settings"];
        name: "MiscVariablesInput";
        type: {
            fields: [{
                docs: ["Percentage by which the \"warp lane\" movement type reduces warp fuel cost"];
                name: "warpLaneFuelCostReduction";
                type: {
                    option: "i32";
                };
            }, {
                docs: ["Respawn fee, charged in ATLAS"];
                name: "respawnFee";
                type: {
                    option: "u64";
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["The data for the [`FleetStateData::MoveSubwarp`] state"];
        name: "MoveSubwarp";
        type: {
            fields: [{
                docs: ["The sector the fleet is coming from"];
                name: "fromSector";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["The sector the fleet is going to"];
                name: "toSector";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["The sector the fleet is currently in"];
                name: "currentSector";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["When the fleet started subwarp"];
                name: "departureTime";
                type: "i64";
            }, {
                docs: ["When the fleet will finish subwarp"];
                name: "arrivalTime";
                type: "i64";
            }, {
                docs: ["The fuel cost of the subwarp"];
                name: "fuelExpenditure";
                type: "u64";
            }, {
                docs: ["The last update time"];
                name: "lastUpdate";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["The data for the [`FleetStateData::MoveWarp`] state"];
        name: "MoveWarp";
        type: {
            fields: [{
                docs: ["The star system the fleet is coming from"];
                name: "fromSector";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["The star system the fleet is going to"];
                name: "toSector";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["When the fleet started warping"];
                name: "warpStart";
                type: "i64";
            }, {
                docs: ["When the warp will end"];
                name: "warpFinish";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["A ship's movement stats"];
        name: "MovementStats";
        type: {
            fields: [{
                docs: ["the amount of distance that the ship can cover in one second while sub-warping"];
                name: "subwarpSpeed";
                type: "u32";
            }, {
                docs: ["the amount of distance that the ship can cover in one second while warping"];
                name: "warpSpeed";
                type: "u32";
            }, {
                docs: ["the max distance that the ship can warp"];
                name: "maxWarpDistance";
                type: "u16";
            }, {
                docs: ["the time it takes the ship to be able to warp again after a warp"];
                name: "warpCoolDown";
                type: "u16";
            }, {
                docs: ["the amount of fuel consumed by the ship when sub-warp moving"];
                name: "subwarpFuelConsumptionRate";
                type: "u32";
            }, {
                docs: ["the amount of fuel consumed by the ship when warp moving"];
                name: "warpFuelConsumptionRate";
                type: "u32";
            }, {
                docs: ["the amount of fuel required to exit a planet"];
                name: "planetExitFuelAmount";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Unpacked version of [`MovementStats`]"];
        name: "MovementStatsUnpacked";
        type: {
            fields: [{
                docs: ["the amount of distance that the ship can cover in one second while sub-warping"];
                name: "subwarpSpeed";
                type: "u32";
            }, {
                docs: ["the amount of distance that the ship can cover in one second while warping"];
                name: "warpSpeed";
                type: "u32";
            }, {
                docs: ["the max distance that the ship can warp"];
                name: "maxWarpDistance";
                type: "u16";
            }, {
                docs: ["the time it takes the ship to be able to warp again after a warp"];
                name: "warpCoolDown";
                type: "u16";
            }, {
                docs: ["the amount of fuel consumed by the ship when sub-warp moving"];
                name: "subwarpFuelConsumptionRate";
                type: "u32";
            }, {
                docs: ["the amount of fuel consumed by the ship when warp moving"];
                name: "warpFuelConsumptionRate";
                type: "u32";
            }, {
                docs: ["the amount of fuel required to exit a planet"];
                name: "planetExitFuelAmount";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["A pubkey sized option that is none if set to the system program."];
        name: "OptionalNonSystemPubkey";
        type: {
            fields: [{
                name: "key";
                type: "publicKey";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Represents different types a `Planet` could be"];
        name: "PlanetType";
        type: {
            kind: "enum";
            variants: [{
                name: "Terrestrial";
            }, {
                name: "Volcanic";
            }, {
                name: "Barren";
            }, {
                name: "AsteroidBelt";
            }, {
                name: "GasGiant";
            }, {
                name: "IceGiant";
            }, {
                name: "Dark";
            }];
        };
    }, {
        docs: ["Variables for the Points program"];
        name: "Points";
        type: {
            fields: [{
                docs: ["Represents the points category to use for XP (experience points)"];
                name: "xpPointsCategory";
                type: "publicKey";
            }, {
                docs: ["Represents the points category to use for LP (loyalty points)"];
                name: "lpPointsCategory";
                type: "publicKey";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to register a points modifier for fleets program"];
        name: "RegisterFleetsPointsModifierInput";
        type: {
            fields: [{
                docs: ["The modifier can increment points"];
                name: "canIncrement";
                type: "bool";
            }, {
                docs: ["The modifier can decrement points"];
                name: "canDecrement";
                type: "bool";
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }, {
                docs: ["The points category of the modifier (XP/LP)"];
                name: "pointsCategory";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Register a Resource"];
        name: "RegisterMineItemInput";
        type: {
            fields: [{
                docs: ["The name of the `MineItem`"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["How hard it is to mine this item"];
                name: "resourceHardness";
                type: "u16";
            }, {
                docs: ["the index of the key in the fleet permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Register Planet"];
        name: "RegisterPlanetInput";
        type: {
            fields: [{
                docs: ["`Planet` name"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["`Planet` size"];
                name: "size";
                type: "u64";
            }, {
                docs: ["`Planet` max health"];
                name: "maxHp";
                type: "u64";
            }, {
                docs: ["`Planet` sub_coordinates"];
                name: "subCoordinates";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["`Planet` type"];
                name: "planetType";
                type: "u8";
            }, {
                docs: ["`Planet` position"];
                name: "position";
                type: "u8";
            }, {
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Register a Resource"];
        name: "RegisterResourceInput";
        type: {
            fields: [{
                docs: ["`Resource` location type"];
                name: "locationType";
                type: "u8";
            }, {
                docs: ["`Resource` `system_richness`"];
                name: "systemRichness";
                type: "u16";
            }, {
                docs: ["the index of the key in the fleet permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Register Ship"];
        name: "RegisterShipInput";
        type: {
            fields: [{
                docs: ["The `Ship` name/label"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["the ship's size class"];
                name: "sizeClass";
                type: {
                    defined: "SizeClass";
                };
            }, {
                docs: ["The stats for the ship"];
                name: "stats";
                type: {
                    defined: "ShipStatsUnpacked";
                };
            }, {
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }, {
                docs: ["Whether the ship is initialized to active (`update_id == current_update_id`)"];
                name: "isActive";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Register Star"];
        name: "RegisterStarInput";
        type: {
            fields: [{
                docs: ["`Star` name"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["`Star` size"];
                name: "size";
                type: "u64";
            }, {
                docs: ["`Star` sub_coordinates"];
                name: "subCoordinates";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["`Star` type"];
                name: "starType";
                type: "u8";
            }, {
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Register `Starbase`"];
        name: "RegisterStarbaseInput";
        type: {
            fields: [{
                docs: ["`Starbase` name"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["`Starbase` coordinates"];
                name: "subCoordinates";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["The index representing the level of the `Starbase` in the game variables."];
                name: "starbaseLevelIndex";
                type: "u8";
            }, {
                docs: ["The `Starbase` faction"];
                name: "faction";
                type: "u8";
            }, {
                docs: ["the index of the key in the fleet permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Unpacked version of [`RegisterStarbaseInput`]"];
        name: "RegisterStarbaseInputUnpacked";
        type: {
            fields: [{
                docs: ["`Starbase` name"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["`Starbase` coordinates"];
                name: "subCoordinates";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["The index representing the level of the `Starbase` in the game variables."];
                name: "starbaseLevelIndex";
                type: "u8";
            }, {
                docs: ["The `Starbase` faction"];
                name: "faction";
                type: "u8";
            }, {
                docs: ["the index of the key in the fleet permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Register SurveyDataUnitTracker"];
        name: "RegisterSurveyDataUnitTrackerInput";
        type: {
            fields: [{
                docs: ["The global limit on how many SDUs can be found in a `MAX_SECONDS` second period"];
                name: "limit";
                type: "u32";
            }, {
                docs: ["The amount of time that must go by before someone can scan a sector again"];
                name: "scanCooldown";
                type: "u16";
            }, {
                docs: ["The chance that a player gets an SDU on a legitimate scan, this is meant to be a percentage"];
                name: "probability";
                type: "u16";
            }, {
                docs: ["The max number of SDUs that can be found while scanning"];
                name: "max";
                type: "u16";
            }, {
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for `RemoveShipEscrow`"];
        name: "RemoveShipEscrowInput";
        type: {
            fields: [{
                docs: ["Amount of `Ship` tokens to transfer from escrow"];
                name: "shipAmount";
                type: "u64";
            }, {
                docs: ["the index of the `ProfileKey` in `Profile` with required permissions"];
                name: "permissionKeyIndex";
                type: "u16";
            }, {
                docs: ["Index of `WrappedShipEscrow` in remaining data of `StarbasePlayer`"];
                name: "shipEscrowIndex";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["The data for the [`FleetStateData::Respawn`](crate::state_machine::FleetStateData::Respawn) state"];
        name: "Respawn";
        type: {
            fields: [{
                docs: ["The star system the fleet was in when it entered the `Respawn` state"];
                name: "sector";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["The time `Respawn` started"];
                name: "start";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to `RespawnToLoadingBay`"];
        name: "RespawnToLoadingBayInput";
        type: {
            fields: [{
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["`RiskZone` center and radius"];
        name: "RiskZoneData";
        type: {
            fields: [{
                docs: ["Risk zone center"];
                name: "center";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["Risk zone radius"];
                name: "radius";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Unpacked version of [`RiskZoneData`]"];
        name: "RiskZoneDataUnpacked";
        type: {
            fields: [{
                docs: ["Risk zone center"];
                name: "center";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["Risk zone radius"];
                name: "radius";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["[`RiskZoneData`] for [`RiskZones`]"];
        name: "RiskZonesData";
        type: {
            fields: [{
                docs: ["Mud security zone"];
                name: "mudSecurityZone";
                type: {
                    defined: "RiskZoneData";
                };
            }, {
                docs: ["Oni security zone"];
                name: "oniSecurityZone";
                type: {
                    defined: "RiskZoneData";
                };
            }, {
                docs: ["Ustur security zone"];
                name: "usturSecurityZone";
                type: {
                    defined: "RiskZoneData";
                };
            }, {
                docs: ["High risk zone"];
                name: "highRiskZone";
                type: {
                    defined: "RiskZoneData";
                };
            }, {
                docs: ["Medium risk zone"];
                name: "mediumRiskZone";
                type: {
                    defined: "RiskZoneData";
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Unpacked version of [`RiskZonesData`]"];
        name: "RiskZonesDataUnpacked";
        type: {
            fields: [{
                docs: ["Mud security zone"];
                name: "mudSecurityZone";
                type: {
                    defined: "RiskZoneData";
                };
            }, {
                docs: ["Oni security zone"];
                name: "oniSecurityZone";
                type: {
                    defined: "RiskZoneData";
                };
            }, {
                docs: ["Ustur security zone"];
                name: "usturSecurityZone";
                type: {
                    defined: "RiskZoneData";
                };
            }, {
                docs: ["High risk zone"];
                name: "highRiskZone";
                type: {
                    defined: "RiskZoneData";
                };
            }, {
                docs: ["Medium risk zone"];
                name: "mediumRiskZone";
                type: {
                    defined: "RiskZoneData";
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Scan For Survey Data Units"];
        name: "ScanForSurveyDataUnitsInput";
        type: {
            fields: [{
                docs: ["The index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Connection between sectors"];
        name: "SectorConnection";
        type: {
            fields: [{
                docs: ["The sector connected to"];
                name: "connectionSector";
                type: "publicKey";
            }, {
                docs: ["The location of the connection"];
                name: "subCoordinates";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["Connection flags"];
                name: "flags";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Represents the orbital position of a `Planet` in the `Sector`"];
        name: "SectorRing";
        type: {
            kind: "enum";
            variants: [{
                name: "Inner";
            }, {
                name: "Mid";
            }, {
                name: "Outer";
            }];
        };
    }, {
        docs: ["Ship counts for a fleet."];
        name: "ShipCounts";
        type: {
            fields: [{
                docs: ["The total number of ships in the fleet."];
                name: "total";
                type: "u32";
            }, {
                docs: ["Used when updating a fleet.", "Value is 0 when fleet update is in progress"];
                name: "updated";
                type: "u32";
            }, {
                docs: ["The number of xx small ships in the fleet."];
                name: "xxSmall";
                type: "u16";
            }, {
                docs: ["The number of x small ships in the fleet."];
                name: "xSmall";
                type: "u16";
            }, {
                docs: ["The number of small ships in the fleet."];
                name: "small";
                type: "u16";
            }, {
                docs: ["The number of medium ships in the fleet."];
                name: "medium";
                type: "u16";
            }, {
                docs: ["The number of large ships in the fleet."];
                name: "large";
                type: "u16";
            }, {
                docs: ["The number of capital ships in the fleet."];
                name: "capital";
                type: "u16";
            }, {
                docs: ["The number of commander ships in the fleet."];
                name: "commander";
                type: "u16";
            }, {
                docs: ["The number of titan ships in the fleet."];
                name: "titan";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Unpacked version of [`ShipCounts`]"];
        name: "ShipCountsUnpacked";
        type: {
            fields: [{
                docs: ["The total number of ships in the fleet."];
                name: "total";
                type: "u32";
            }, {
                docs: ["Used when updating a fleet.", "Value is 0 when fleet update is in progress"];
                name: "updated";
                type: "u32";
            }, {
                docs: ["The number of xx small ships in the fleet."];
                name: "xxSmall";
                type: "u16";
            }, {
                docs: ["The number of x small ships in the fleet."];
                name: "xSmall";
                type: "u16";
            }, {
                docs: ["The number of small ships in the fleet."];
                name: "small";
                type: "u16";
            }, {
                docs: ["The number of medium ships in the fleet."];
                name: "medium";
                type: "u16";
            }, {
                docs: ["The number of large ships in the fleet."];
                name: "large";
                type: "u16";
            }, {
                docs: ["The number of capital ships in the fleet."];
                name: "capital";
                type: "u16";
            }, {
                docs: ["The number of commander ships in the fleet."];
                name: "commander";
                type: "u16";
            }, {
                docs: ["The number of titan ships in the fleet."];
                name: "titan";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Ship sizes."];
        name: "ShipSizes";
        type: {
            fields: [{
                docs: ["The size of xx small ships"];
                name: "xxSmall";
                type: "u8";
            }, {
                docs: ["The size of x small ships"];
                name: "xSmall";
                type: "u8";
            }, {
                docs: ["The size of small ships"];
                name: "small";
                type: "u8";
            }, {
                docs: ["The size of medium ships"];
                name: "medium";
                type: "u8";
            }, {
                docs: ["The size of large ships"];
                name: "large";
                type: "u8";
            }, {
                docs: ["The size of capital ships"];
                name: "capital";
                type: "u8";
            }, {
                docs: ["The size of commander ships"];
                name: "commander";
                type: "u8";
            }, {
                docs: ["The size of titan ships"];
                name: "titan";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["A ship's stats"];
        name: "ShipStats";
        type: {
            fields: [{
                docs: ["Movement stats for the ship"];
                name: "movementStats";
                type: {
                    defined: "MovementStats";
                };
            }, {
                docs: ["Cargo stats for the ship"];
                name: "cargoStats";
                type: {
                    defined: "CargoStats";
                };
            }, {
                docs: ["Miscellaneous stats for the ship"];
                name: "miscStats";
                type: {
                    defined: "MiscStats";
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Unpacked version of [`ShipStats`]"];
        name: "ShipStatsUnpacked";
        type: {
            fields: [{
                docs: ["Movement stats for the ship"];
                name: "movementStats";
                type: {
                    defined: "MovementStats";
                };
            }, {
                docs: ["Cargo stats for the ship"];
                name: "cargoStats";
                type: {
                    defined: "CargoStats";
                };
            }, {
                docs: ["Miscellaneous stats for the ship"];
                name: "miscStats";
                type: {
                    defined: "MiscStats";
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Represents different types of Ships"];
        name: "SizeClass";
        type: {
            kind: "enum";
            variants: [{
                name: "XxSmall";
            }, {
                name: "XSmall";
            }, {
                name: "Small";
            }, {
                name: "Medium";
            }, {
                name: "Large";
            }, {
                name: "Capital";
            }, {
                name: "Commander";
            }, {
                name: "Titan";
            }];
        };
    }, {
        docs: ["Represents different types of Stars"];
        name: "StarType";
        type: {
            kind: "enum";
            variants: [{
                name: "WhiteDwarf";
            }, {
                name: "RedDwarf";
            }, {
                name: "Solar";
            }, {
                name: "HotBlue";
            }, {
                name: "RedGiant";
            }];
        };
    }, {
        docs: ["Struct for data input to cancel a `CraftingProcess`"];
        name: "StarbaseCancelCraftingProcessInput";
        type: {
            fields: [{
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Claim Crafting Process Non-consumable inputs"];
        name: "StarbaseClaimCraftingNonConsumablesInput";
        type: {
            fields: [{
                docs: ["the index of the recipe output"];
                name: "ingredientIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to close a `CraftingProcess`"];
        name: "StarbaseClaimCraftingOutputInput";
        type: {
            fields: [{
                docs: ["the index of the recipe output"];
                name: "ingredientIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to close a `CraftingProcess`"];
        name: "StarbaseCloseCraftingProcessInput";
        type: {
            fields: [{
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to `StarbaseCreateCargoPod`"];
        name: "StarbaseCreateCargoPodInput";
        type: {
            fields: [{
                docs: ["cargo pod seeds"];
                name: "podSeeds";
                type: {
                    array: ["u8", 32];
                };
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to create a `CraftingProcess`"];
        name: "StarbaseCreateCraftingProcessInput";
        type: {
            fields: [{
                docs: ["crafting id"];
                name: "craftingId";
                type: "u64";
            }, {
                docs: ["the index of the recipe's category"];
                name: "recipeCategoryIndex";
                type: "u16";
            }, {
                docs: ["quantity of outputs to craft"];
                name: "quantity";
                type: "u64";
            }, {
                docs: ["number of crew members to use for this crafting process"];
                name: "numCrew";
                type: "u64";
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to deposit an ingredient"];
        name: "StarbaseDepositCraftingIngredientInput";
        type: {
            fields: [{
                docs: ["the amount of ingredient to deposit"];
                name: "amount";
                type: "u64";
            }, {
                docs: ["the index of the recipe ingredient"];
                name: "ingredientIndex";
                type: "u16";
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Information associated with `Starbase` levels"];
        name: "StarbaseLevelInfo";
        type: {
            fields: [{
                docs: ["The crafting recipe required to upgrade a `Starbase` to this level"];
                name: "recipeForUpgrade";
                type: "publicKey";
            }, {
                docs: ["The crafting recipe category enabled for crafting at a `Starbase` of this level."];
                name: "recipeCategoryForLevel";
                type: "publicKey";
            }, {
                docs: ["The `Starbase` health points for this level."];
                name: "hp";
                type: "u64";
            }, {
                docs: ["The `Starbase` shield points for this level."];
                name: "sp";
                type: "u64";
            }, {
                docs: ["The planet position `Ring` available for this level"];
                name: "sectorRingAvailable";
                type: "u8";
            }, {
                docs: ["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."];
                name: "warpLaneMovementFee";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update Starbase Level Settings"];
        name: "StarbaseLevelInfoArrayInput";
        type: {
            fields: [{
                docs: ["The level of the `Starbase`."];
                name: "level";
                type: "u8";
            }, {
                docs: ["The `Starbase` faction."];
                name: "faction";
                type: "u8";
            }, {
                docs: ["The `Starbase` health points for this level."];
                name: "hp";
                type: "u64";
            }, {
                docs: ["The `Starbase` shield points for this level."];
                name: "sp";
                type: "u64";
            }, {
                docs: ["The planet position `Ring` available for this level"];
                name: "sectorRingAvailable";
                type: {
                    defined: "SectorRing";
                };
            }, {
                docs: ["Fee charged for the \"warp lane\" movement type which is meant to be charged in ATLAS"];
                name: "warpLaneMovementFee";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["The data for the [`FleetStateData::StarbaseLoadingBay`] state"];
        name: "StarbaseLoadingBay";
        type: {
            fields: [{
                docs: ["The `Starbase` is in the loading bay of"];
                name: "starbase";
                type: "publicKey";
            }, {
                docs: ["The last time this fleet was updated"];
                name: "lastUpdate";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to `StarbaseRemoveCargoPod`"];
        name: "StarbaseRemoveCargoPodInput";
        type: {
            fields: [{
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to start a crafting process"];
        name: "StarbaseStartCraftingProcessInput";
        type: {
            fields: [{
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["The state of a `Starbase`."];
        name: "StarbaseState";
        type: {
            kind: "enum";
            variants: [{
                name: "Active";
            }, {
                name: "Destroyed";
            }];
        };
    }, {
        docs: ["Struct for data input to `DepositCargoToGame`"];
        name: "StarbaseTransferCargoInput";
        type: {
            fields: [{
                docs: ["cargo amount"];
                name: "amount";
                type: "u64";
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["The data for the `StarbaseUpgrade` state"];
        name: "StarbaseUpgrade";
        type: {
            fields: [{
                docs: ["The `Starbase` being upgraded"];
                name: "starbase";
                type: "publicKey";
            }, {
                docs: ["[`FleetStarbaseUpgradeState`]"];
                name: "upgradeState";
                type: "u8";
            }, {
                docs: ["When the fleet started participation in the `Starbase` upgrade."];
                name: "startUpgrade";
                type: "i64";
            }, {
                docs: ["When the fleet completes participation in the `Starbase` upgrade. This is a \"potential\" end time, constrained by max resources or user decision.", "If `upgrade_state` is set to `NotFullyFilled`, this is set to the max duration in upgrading state with the partial ingredients deposited."];
                name: "endUpgrade";
                type: "i64";
            }, {
                docs: ["used to check if expected inputs have been supplied"];
                name: "checksum";
                type: {
                    array: ["u8", 16];
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["The upgrade state for one SB lvl"];
        name: "StarbaseUpgradeLevelState";
        type: {
            kind: "enum";
            variants: [{
                name: "NotStarted";
            }, {
                name: "Started";
            }, {
                fields: [{
                    docs: ["Timestamp of the upgrade completion"];
                    name: "timestamp";
                    type: "i64";
                }];
                name: "Finished";
            }];
        };
    }, {
        docs: ["`Starbase` upgrade task item"];
        name: "StarbaseUpgradeTask";
        type: {
            fields: [{
                docs: ["The `Fleet` Pubkey"];
                name: "fleet";
                type: "publicKey";
            }, {
                docs: ["The timestamp at which the fleet completes its contribution to the upgrade"];
                name: "completionTime";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to withdraw an ingredient"];
        name: "StarbaseWithdrawCraftingIngredientInput";
        type: {
            fields: [{
                docs: ["the amount of ingredient to withdraw"];
                name: "amount";
                type: "u64";
            }, {
                docs: ["the index of the recipe ingredient"];
                name: "ingredientIndex";
                type: "u16";
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for `StartMiningAsteroid`"];
        name: "StartMiningAsteroidInput";
        type: {
            fields: [{
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to initialize an `SubwarpMovement`"];
        name: "StartSubwarpInput";
        type: {
            fields: [{
                docs: ["The destination coordinates"];
                name: "toSector";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["The index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for `StopMiningAsteroidInput`"];
        name: "StopMiningAsteroidInput";
        type: {
            fields: [{
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to stop an `SubwarpMovement`"];
        name: "StopSubwarpInput";
        type: {
            fields: [{
                docs: ["The index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to `TransferCargoWithinFleet`"];
        name: "TransferCargoWithinFleetInput";
        type: {
            fields: [{
                docs: ["cargo amount"];
                name: "amount";
                type: "u64";
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update instruction"];
        name: "UpdateGameInput";
        type: {
            fields: [{
                docs: ["Cargo settings"];
                name: "cargo";
                type: "u8";
            }, {
                docs: ["Crafting settings"];
                name: "crafting";
                type: "u8";
            }, {
                docs: ["Mints"];
                name: "mints";
                type: "u8";
            }, {
                docs: ["Vaults"];
                name: "vaults";
                type: "u8";
            }, {
                docs: ["Points settings"];
                name: "points";
                type: "u8";
            }, {
                docs: ["Data for risk zones"];
                name: "riskZones";
                type: {
                    option: {
                        defined: "RiskZonesDataUnpacked";
                    };
                };
            }, {
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update instruction"];
        name: "UpdateGameStateInput";
        type: {
            fields: [{
                docs: ["Fleet settings"];
                name: "fleet";
                type: {
                    option: {
                        defined: "FleetInput";
                    };
                };
            }, {
                docs: ["Levers"];
                name: "levers";
                type: {
                    option: {
                        defined: "LeversInput";
                    };
                };
            }, {
                docs: ["Set of derived sub-levers used in `calculate_base_emissions()`."];
                name: "baseEmissionsBySizeUtil";
                type: {
                    option: {
                        defined: "BaseEmissionsBySizeUtilInput";
                    };
                };
            }, {
                docs: ["Miscellaneous settings"];
                name: "misc";
                type: {
                    option: {
                        defined: "MiscVariablesInput";
                    };
                };
            }, {
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Register a Resource"];
        name: "UpdateMineItemInput";
        type: {
            fields: [{
                docs: ["The name of the `MineItem`"];
                name: "name";
                type: {
                    option: {
                        array: ["u8", 64];
                    };
                };
            }, {
                docs: ["How hard it is to mine this item"];
                name: "resourceHardness";
                type: {
                    option: "u16";
                };
            }, {
                docs: ["the index of the key in the fleet permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update Planet"];
        name: "UpdatePlanetInput";
        type: {
            fields: [{
                docs: ["`Planet` name"];
                name: "name";
                type: {
                    option: {
                        array: ["u8", 64];
                    };
                };
            }, {
                docs: ["`Planet` size"];
                name: "size";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["`Planet` max_hp"];
                name: "maxHp";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update Resource"];
        name: "UpdateResourceInput";
        type: {
            fields: [{
                docs: ["`Resource` richness"];
                name: "systemRichness";
                type: {
                    option: "u16";
                };
            }, {
                docs: ["the index of the key in the fleet permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for `UpdateShipEscrow`"];
        name: "UpdateShipEscrowInput";
        type: {
            fields: [{
                docs: ["Index of `WrappedShipEscrow` in remaining data of `StarbasePlayer`"];
                name: "shipEscrowIndex";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for that has `key_index`"];
        name: "UpdateShipFleetInput";
        type: {
            fields: [{
                docs: ["Number of ships to add to the fleet"];
                name: "shipAmount";
                type: "u16";
            }, {
                docs: ["Index of `FleetShipsInfo` in remaining data of `FleetShips`"];
                name: "fleetShipInfoIndex";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update Ship"];
        name: "UpdateShipInput";
        type: {
            fields: [{
                docs: ["The `Ship` name/label"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["the ship's size class"];
                name: "sizeClass";
                type: {
                    defined: "SizeClass";
                };
            }, {
                docs: ["The stats for the ship"];
                name: "stats";
                type: {
                    defined: "ShipStatsUnpacked";
                };
            }, {
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update Star"];
        name: "UpdateStarInput";
        type: {
            fields: [{
                docs: ["`Star` name"];
                name: "name";
                type: {
                    option: {
                        array: ["u8", 64];
                    };
                };
            }, {
                docs: ["`Star` size"];
                name: "size";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["`Star` type"];
                name: "starType";
                type: {
                    option: "u8";
                };
            }, {
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update `Starbase`"];
        name: "UpdateStarbaseInput";
        type: {
            fields: [{
                docs: ["`Starbase` name"];
                name: "name";
                type: {
                    option: {
                        array: ["u8", 64];
                    };
                };
            }, {
                docs: ["`Starbase` coordinates"];
                name: "subCoordinates";
                type: {
                    option: {
                        array: ["i64", 2];
                    };
                };
            }, {
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update SurveyDataUnitTracker"];
        name: "UpdateSurveyDataUnitTrackerInput";
        type: {
            fields: [{
                docs: ["The global limit on how many SDUs can be found in a `MAX_SECONDS` second period"];
                name: "limit";
                type: {
                    option: "u32";
                };
            }, {
                docs: ["The amount of time that must go by before someone can scan a sector again"];
                name: "scanCooldown";
                type: {
                    option: "u16";
                };
            }, {
                docs: ["The chance that a player gets an SDU on a legitimate scan, this is meant to be a percentage"];
                name: "probability";
                type: {
                    option: "u16";
                };
            }, {
                docs: ["The max number of SDUs that can be found while scanning"];
                name: "max";
                type: {
                    option: "u16";
                };
            }, {
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Token vaults"];
        name: "Vaults";
        type: {
            fields: [{
                docs: ["ATLAS token mint"];
                name: "atlas";
                type: "publicKey";
            }, {
                docs: ["POLIS token mint"];
                name: "polis";
                type: "publicKey";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to initialize a `WarpLane`"];
        name: "WarpLaneInput";
        type: {
            fields: [{
                docs: ["The index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }, {
                docs: ["Index of the to_sector in `SectorConnections` of the from_sector"];
                name: "toSectorIndex";
                type: "u16";
            }, {
                docs: ["Index of the from_sector in `SectorConnections` of the to_sector"];
                name: "fromSectorIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to initialize a `WarpToCoordinate`"];
        name: "WarpToCoordinateInput";
        type: {
            fields: [{
                docs: ["The index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }, {
                docs: ["The destination coordinates"];
                name: "toSector";
                type: {
                    array: ["i64", 2];
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to `WithdrawCargoFromFleet`"];
        name: "WithdrawCargoFromFleetInput";
        type: {
            fields: [{
                docs: ["cargo amount"];
                name: "amount";
                type: "u64";
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Wrapped `Ship` escrow info"];
        name: "WrappedShipEscrow";
        type: {
            fields: [{
                docs: ["The `Ship` account address"];
                name: "ship";
                type: "publicKey";
            }, {
                docs: ["The `Ship` token amount in escrow"];
                name: "amount";
                type: "u64";
            }, {
                docs: ["The update id for the `Ship`"];
                name: "updateId";
                type: "u64";
            }];
            kind: "struct";
        };
    }];
    version: "0.1.0";
}

Type declaration

  • accounts: [{
        docs: ["This account is used to store relevant information for a crafting process instance"];
        name: "craftingInstance";
        type: {
            fields: [{
                docs: ["The data version of this account"];
                name: "version";
                type: "u8";
            }, {
                docs: ["The sequence id for the `Starbase`"];
                name: "seqId";
                type: "u16";
            }, {
                docs: ["The number of crew taking part in the crafting process"];
                name: "numCrew";
                type: "u64";
            }, {
                docs: ["The `StarbasePlayer` account address"];
                name: "starbasePlayer";
                type: "publicKey";
            }, {
                docs: ["The `CraftingProcess` account address"];
                name: "craftingProcess";
                type: "publicKey";
            }, {
                docs: ["Bump of Account PDA"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Keeps track of a fleet while it is disbanded"];
        name: "disbandedFleet";
        type: {
            fields: [{
                docs: ["The data version of this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["The game id this belongs to."];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["The owner's profile."];
                name: "ownerProfile";
                type: "publicKey";
            }, {
                docs: ["The `Starbase` at which the original `Fleet` was disbanded."];
                name: "starbase";
                type: "publicKey";
            }, {
                docs: ["The label or name of the disbanded fleet."];
                name: "fleetLabel";
                type: {
                    array: ["u8", 32];
                };
            }, {
                docs: ["The `FleetShips` account belonging to the original `Fleet` that was disbanded."];
                name: "fleetShips";
                type: "publicKey";
            }, {
                docs: ["The disbanded fleet's bump."];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["A `SAGE` fleet."];
        name: "fleet";
        type: {
            fields: [{
                docs: ["The data version of this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["The game id this belongs to."];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["The owner's profile."];
                name: "ownerProfile";
                type: "publicKey";
            }, {
                docs: ["Fleet Ships Key"];
                name: "fleetShips";
                type: "publicKey";
            }, {
                docs: ["The fleet's sub-authority.", "If [`Some`] will have the exclusive ability to interact with this fleet."];
                name: "subProfile";
                type: {
                    defined: "OptionalNonSystemPubkey";
                };
            }, {
                docs: ["The authority for revoking a sun-authority."];
                name: "subProfileInvalidator";
                type: "publicKey";
            }, {
                docs: ["The label or name of the fleet."];
                name: "fleetLabel";
                type: {
                    array: ["u8", 32];
                };
            }, {
                docs: ["The number of ships in the fleet."];
                name: "shipCounts";
                type: {
                    defined: "ShipCounts";
                };
            }, {
                docs: ["The time at which the warp cooldown expires"];
                name: "warpCooldownExpiresAt";
                type: "i64";
            }, {
                docs: ["The time at which the scan cooldown expires"];
                name: "scanCooldownExpiresAt";
                type: "i64";
            }, {
                docs: ["The fleet's stats."];
                name: "stats";
                type: {
                    defined: "ShipStats";
                };
            }, {
                docs: ["The Cargo pod representing the fleet's cargo hold"];
                name: "cargoHold";
                type: "publicKey";
            }, {
                docs: ["The Cargo pod representing the fleet's fuel tank"];
                name: "fuelTank";
                type: "publicKey";
            }, {
                docs: ["The Cargo pod representing the fleet's ammo bank"];
                name: "ammoBank";
                type: "publicKey";
            }, {
                docs: ["The update id for the `Fleet`"];
                name: "updateId";
                type: "u64";
            }, {
                docs: ["The fleet's bump."];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Keeps track of a the individual ships that make up a fleet"];
        name: "fleetShips";
        type: {
            fields: [{
                docs: ["The data version of this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["The `Fleet` account this belongs to"];
                name: "fleet";
                type: "publicKey";
            }, {
                docs: ["List length of `RemainingData`"];
                name: "fleetShipsInfoCount";
                type: "u32";
            }, {
                docs: ["The disbanded fleet's bump."];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Global Game Configuration variables"];
        name: "game";
        type: {
            fields: [{
                docs: ["The data version of this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["The sequence id for updates."];
                name: "updateId";
                type: "u64";
            }, {
                docs: ["The [`Profile`](player_profile::state::Profile) that handles the sector program permissions"];
                name: "profile";
                type: "publicKey";
            }, {
                docs: ["The associated `GameState` account."];
                name: "gameState";
                type: "publicKey";
            }, {
                docs: ["Points setting"];
                name: "points";
                type: {
                    defined: "Points";
                };
            }, {
                docs: ["Cargo settings"];
                name: "cargo";
                type: {
                    defined: "Cargo";
                };
            }, {
                docs: ["Crafting settings"];
                name: "crafting";
                type: {
                    defined: "Crafting";
                };
            }, {
                docs: ["mint related settings"];
                name: "mints";
                type: {
                    defined: "Mints";
                };
            }, {
                docs: ["vault related settings"];
                name: "vaults";
                type: {
                    defined: "Vaults";
                };
            }, {
                docs: ["Data for risk zones"];
                name: "riskZones";
                type: {
                    defined: "RiskZonesData";
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Keeps track of variables that may change frequently during a `Game` session"];
        name: "gameState";
        type: {
            fields: [{
                docs: ["The data version of this account"];
                name: "version";
                type: "u8";
            }, {
                docs: ["The sequence id for updates"];
                name: "updateId";
                type: "u64";
            }, {
                docs: ["The `Game` that this belongs to"];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["Fleet settings"];
                name: "fleet";
                type: {
                    defined: "FleetInfo";
                };
            }, {
                docs: ["Global levers"];
                name: "levers";
                type: {
                    defined: "Levers";
                };
            }, {
                docs: ["Miscellaneous settings"];
                name: "misc";
                type: {
                    defined: "MiscVariables";
                };
            }, {
                docs: ["PDA bump"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Represents a token registered as an item that can be mined"];
        name: "mineItem";
        type: {
            fields: [{
                docs: ["The data version of this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["the game_id account this item is registered with"];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["The name of the `MineItem`"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["the mint representing the items mined"];
                name: "mint";
                type: "publicKey";
            }, {
                docs: ["The `MineItem` update id"];
                name: "mineItemUpdateId";
                type: "u64";
            }, {
                docs: ["How hard it is to mine this item -> Ranges from 1-10"];
                name: "resourceHardness";
                type: "u16";
            }, {
                docs: ["The number of resource accounts for this mine item"];
                name: "numResourceAccounts";
                type: "u64";
            }, {
                docs: ["bump for PDA"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Planet"];
        name: "planet";
        type: {
            fields: [{
                docs: ["The data version of this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["The name of this `Planet`"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["the `Game` that this belongs to"];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["the sector that this belongs to"];
                name: "sector";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["sub_coordinates as [x, y]"];
                name: "subCoordinates";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["the planet type"];
                name: "planetType";
                type: "u8";
            }, {
                docs: ["the planet position"];
                name: "position";
                type: "u8";
            }, {
                docs: ["size"];
                name: "size";
                type: "u64";
            }, {
                docs: ["maximum health"];
                name: "maxHp";
                type: "u64";
            }, {
                docs: ["The current health of the `Planet`."];
                name: "currentHealth";
                type: "u64";
            }, {
                docs: ["the cumulative amount mined from this `Asteroid`"];
                name: "amountMined";
                type: "u64";
            }, {
                docs: ["the number of resources at this `Asteroid`"];
                name: "numResources";
                type: "u8";
            }, {
                docs: ["the number of entities currently mining at this `Asteroid`"];
                name: "numMiners";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Represents a mine-able item existing at a particular location (e.g. a planet)"];
        name: "resource";
        type: {
            fields: [{
                docs: ["The data version of this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["the game_id pubkey"];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["the location's pubkey"];
                name: "location";
                type: "publicKey";
            }, {
                docs: ["the mine item pubkey"];
                name: "mineItem";
                type: "publicKey";
            }, {
                docs: ["the location type"];
                name: "locationType";
                type: "u8";
            }, {
                docs: ["How abundant the resource is at the location -> Ranges from 1-5"];
                name: "systemRichness";
                type: "u16";
            }, {
                docs: ["the cumulative amount mined from this resource"];
                name: "amountMined";
                type: "u64";
            }, {
                docs: ["the number of entities currently mining this resource"];
                name: "numMiners";
                type: "u64";
            }, {
                docs: ["The `MineItem` update id"];
                name: "mineItemUpdateId";
                type: "u64";
            }, {
                docs: ["The `Resource` update id"];
                name: "resourceUpdateId";
                type: "u64";
            }, {
                docs: ["bump for PDA"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["A `SAGE` player's profile."];
        name: "sagePlayerProfile";
        type: {
            fields: [{
                docs: ["The data version of this account"];
                name: "version";
                type: "u8";
            }, {
                docs: ["The `Profile` key"];
                name: "playerProfile";
                type: "publicKey";
            }, {
                docs: ["The id of the `Game`"];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["Bump of Account PDA"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Sector"];
        name: "sector";
        type: {
            fields: [{
                docs: ["The data version of this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["the game_id that this belongs to"];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["coordinates as [x, y]"];
                name: "coordinates";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["The discoverer of this sector"];
                name: "discoverer";
                type: "publicKey";
            }, {
                docs: ["The name of this sector"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["the number of stars in this system"];
                name: "numStars";
                type: "u16";
            }, {
                docs: ["the number of planets in this system"];
                name: "numPlanets";
                type: "u16";
            }, {
                docs: ["the number of moons in this system"];
                name: "numMoons";
                type: "u16";
            }, {
                docs: ["the number of num_asteroid belts in this system"];
                name: "numAsteroidBelts";
                type: "u16";
            }, {
                docs: ["the number of connections in this system"];
                name: "numConnections";
                type: "u16";
            }, {
                docs: ["PDA bump"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["This account represents a Ship"];
        name: "ship";
        type: {
            fields: [{
                docs: ["The data version of this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["the game_id account this Ship is registered with"];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["the mint representing the Ship"];
                name: "mint";
                type: "publicKey";
            }, {
                docs: ["The name of this `Ship`"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["the ship's size class"];
                name: "sizeClass";
                type: "u8";
            }, {
                docs: ["The ship's stats"];
                name: "stats";
                type: {
                    defined: "ShipStats";
                };
            }, {
                docs: ["The `update_id` for the `Ship`"];
                name: "updateId";
                type: "u64";
            }, {
                docs: ["The max `Game` `update_id` that the `Ship` is valid for"];
                name: "maxUpdateId";
                type: "u64";
            }, {
                docs: ["the next `Ship` account to use when this `Ship` is updated"];
                name: "next";
                type: {
                    defined: "OptionalNonSystemPubkey";
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["`Star` account"];
        name: "star";
        type: {
            fields: [{
                docs: ["The data version of this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["The name of this `Star`"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["the game_id that this belongs to"];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["the sector that this belongs to"];
                name: "sector";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["size"];
                name: "size";
                type: "u64";
            }, {
                docs: ["sub_coordinates as [x, y]"];
                name: "subCoordinates";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["the star type"];
                name: "starType";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Starbase"];
        name: "starbase";
        type: {
            fields: [{
                docs: ["The data version of this `Starbase` account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["the game_id that this `Starbase` belongs to"];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["the sector that this `Starbase` belongs to"];
                name: "sector";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["the [`CraftingFacility`] to use for crafting at this `Starbase`"];
                name: "craftingFacility";
                type: "publicKey";
            }, {
                docs: ["The name of this `Starbase`"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["coordinates as [x, y]"];
                name: "subCoordinates";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["The faction of the `Starbase`."];
                name: "faction";
                type: "u8";
            }, {
                docs: ["bump for PDA"];
                name: "bump";
                type: "u8";
            }, {
                docs: ["The sequence id for the `Starbase`"];
                name: "seqId";
                type: "u16";
            }, {
                docs: ["The state of the `Starbase`. Is a [`StarbaseState`]."];
                name: "state";
                type: "u8";
            }, {
                docs: ["The level of the `Starbase`."];
                name: "level";
                type: "u8";
            }, {
                docs: ["The `Starbase` health points."];
                name: "hp";
                type: "u64";
            }, {
                docs: ["The `Starbase` shield points."];
                name: "sp";
                type: "u64";
            }, {
                docs: ["The planet position (`sector::state::Ring`) available for this `Starbase`"];
                name: "sectorRingAvailable";
                type: "u8";
            }, {
                docs: ["The `Starbase` upgrade state using `StarbaseUpgradeLevelState`"];
                name: "upgradeState";
                type: "i64";
            }, {
                docs: ["The last time the starbase was built or destroyed"];
                name: "builtDestroyedTimestamp";
                type: "i64";
            }, {
                docs: ["The number of fleets currently upgrading the `Starbase`"];
                name: "numUpgradingFleets";
                type: "u64";
            }, {
                docs: ["The total rate at which the SB is currently upgrading"];
                name: "totalUpgradeRate";
                type: "u64";
            }, {
                docs: ["The total received amount of material for upgrading the `Starbase` until the `last_updated_rate_timestamp`"];
                name: "receivedUpgradeMaterials";
                type: "u64";
            }, {
                docs: ["The total required amount of material for upgrading the `Starbase`"];
                name: "requiredUpgradeMaterials";
                type: "u64";
            }, {
                docs: ["The last time the SB total upgrade rate was updated"];
                name: "lastUpdatedRateTimestamp";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["The `SAGE` player info within a `Starbase`"];
        name: "starbasePlayer";
        type: {
            fields: [{
                docs: ["The data version of this account"];
                name: "version";
                type: "u8";
            }, {
                docs: ["The `Profile` key"];
                name: "playerProfile";
                type: "publicKey";
            }, {
                docs: ["The id of the `Game`"];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["The `Starbase` key"];
                name: "starbase";
                type: "publicKey";
            }, {
                docs: ["The `SagePlayerProfile` key"];
                name: "sagePlayerProfile";
                type: "publicKey";
            }, {
                docs: ["Bump of Account PDA"];
                name: "bump";
                type: "u8";
            }, {
                docs: ["List length of `RemainingData`"];
                name: "shipEscrowCount";
                type: "u32";
            }, {
                docs: ["The total crew members from the player's fleets at the `Starbase`"];
                name: "totalCrew";
                type: "u64";
            }, {
                docs: ["The number of crew members that is engaged/busy and not available"];
                name: "busyCrew";
                type: "u64";
            }, {
                docs: ["The `Game` update id"];
                name: "updateId";
                type: "u64";
            }, {
                docs: ["Number of updated items in `RemainingData` list", "This will be `ship_escrow_count` when all ships in escrow are up-to-date"];
                name: "updatedShipEscrowCount";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Survey Data Unit (SDU) Tracker"];
        name: "surveyDataUnitTracker";
        type: {
            fields: [{
                docs: ["The data version of this account."];
                name: "version";
                type: "u8";
            }, {
                docs: ["The game_id that this belongs to"];
                name: "gameId";
                type: "publicKey";
            }, {
                docs: ["The Survey Data Unit Mint"];
                name: "mint";
                type: "publicKey";
            }, {
                docs: ["The signer for this account"];
                name: "signer";
                type: "publicKey";
            }, {
                docs: ["The signer for this account"];
                name: "signerBump";
                type: "u8";
            }, {
                docs: ["Survey Data Units found in the last `MAX_SECONDS` seconds", "This is structured such that the 0th index represents SDUs found `MAX_SECONDS` seconds ago,", "and the last index represents SDUs found in the most recent second", "NB: the only reason why this is `[u32; MAX_SECONDS]` and not `[u16; MAX_SECONDS]` is to prevent overflows"];
                name: "surveyDataUnitBySecond";
                type: {
                    array: ["u32", 60];
                };
            }, {
                docs: ["The global limit on how many SDUs can be found in a `MAX_SECONDS` second period"];
                name: "limit";
                type: "u32";
            }, {
                docs: ["The amount of time that must go by before someone can scan a sector again"];
                name: "scanCooldown";
                type: "u16";
            }, {
                docs: ["The chance that a player gets an SDU on a legitimate scan, this is meant to be a percentage", "10,000 == 100%, 100 = 1%, etc."];
                name: "probability";
                type: "u16";
            }, {
                docs: ["The max number of SDUs that can be found while scanning"];
                name: "max";
                type: "u16";
            }, {
                docs: ["The number of Sectors that can be scanned"];
                name: "numSectors";
                type: "u16";
            }, {
                docs: ["The last time the `SurveyDataUnitTracker` was updated"];
                name: "lastUpdate";
                type: "i64";
            }];
            kind: "struct";
        };
    }]
  • errors: [{
        code: 6000;
        msg: "Incorrect admin address.";
        name: "IncorrectAdminAddress";
    }, {
        code: 6001;
        msg: "An expected remaining account is missing.";
        name: "MissingRemainingAccount";
    }, {
        code: 6002;
        msg: "No Stargate connections available.";
        name: "NoStargateConnectionsAvailable";
    }, {
        code: 6003;
        msg: "The provided Stargates are not connected.";
        name: "StargatesNotConnected";
    }, {
        code: 6004;
        msg: "Invalid Planet Type.";
        name: "InvalidPlanetType";
    }, {
        code: 6005;
        msg: "Invalid Ring Type.";
        name: "InvalidRingType";
    }, {
        code: 6006;
        msg: "Invalid Star Type.";
        name: "InvalidStarType";
    }, {
        code: 6007;
        msg: "Invalid Or Inactive Game";
        name: "InvalidOrInactiveGame";
    }, {
        code: 6008;
        msg: "Invalid Ship Size Class.";
        name: "InvalidShipSizeClass";
    }, {
        code: 6009;
        msg: "Incorrect Account Size.";
        name: "IncorrectAccountSize";
    }, {
        code: 6010;
        msg: "The update_id is mismatched.";
        name: "UpdateIdMismatch";
    }, {
        code: 6011;
        msg: "The account is already active.";
        name: "AlreadyActive";
    }, {
        code: 6012;
        msg: "The account is inactive.";
        name: "InactiveAccount";
    }, {
        code: 6013;
        msg: "The game account is invalid.";
        name: "InvalidGame";
    }, {
        code: 6014;
        msg: "The game state account is invalid.";
        name: "InvalidGameState";
    }, {
        code: 6015;
        msg: "The sector account is invalid.";
        name: "InvalidSector";
    }, {
        code: 6016;
        msg: "Incorrect sage game_id account address.";
        name: "IncorrectVarsAccountAddress";
    }, {
        code: 6017;
        msg: "Insufficient Fuel to complete movement";
        name: "InsufficientFuel";
    }, {
        code: 6018;
        msg: "Distance of movement is greater than the allowed maximum";
        name: "DistanceGreaterThanMax";
    }, {
        code: 6019;
        msg: "Numeric overflow";
        name: "NumericOverflow";
    }, {
        code: 6020;
        msg: "Invalid Location Type.";
        name: "InvalidLocationType";
    }, {
        code: 6021;
        msg: "The provided location type is not supported.";
        name: "LocationTypeNotSupported";
    }, {
        code: 6022;
        msg: "Incorrect mine item address.";
        name: "IncorrectMineItem";
    }, {
        code: 6023;
        msg: "Incorrect authority address.";
        name: "IncorrectAuthorityAddress";
    }, {
        code: 6024;
        msg: "Incorrect resource address.";
        name: "IncorrectResourceAddress";
    }, {
        code: 6025;
        msg: "Incorrect mint authority.";
        name: "IncorrectMintAuthority";
    }, {
        code: 6026;
        msg: "The mint authority should exist.";
        name: "MintAuthorityIsNone";
    }, {
        code: 6027;
        msg: "The current fleet state is not valid.";
        name: "InvalidCurrentFleetState";
    }, {
        code: 6028;
        msg: "The current starbase state is not valid.";
        name: "InvalidCurrentStarbaseState";
    }, {
        code: 6029;
        msg: "Authority mismatch";
        name: "AuthorityMismatch";
    }, {
        code: 6030;
        msg: "Mint mismatch";
        name: "MintMismatch";
    }, {
        code: 6031;
        msg: "Incorrect token address.";
        name: "TokenMismatch";
    }, {
        code: 6032;
        msg: "Owner mismatch";
        name: "OwnerMismatch";
    }, {
        code: 6033;
        msg: "Game ID mismatch";
        name: "GameMismatch";
    }, {
        code: 6034;
        msg: "Profile mismatch";
        name: "ProfileMismatch";
    }, {
        code: 6035;
        msg: "SagePlayerProfile mismatch";
        name: "SagePlayerProfileMismatch";
    }, {
        code: 6036;
        msg: "Starbase mismatch";
        name: "StarbaseMismatch";
    }, {
        code: 6037;
        msg: "Faction mismatch";
        name: "FactionMismatch";
    }, {
        code: 6038;
        msg: "Sequence id mismatch";
        name: "SeqIdMismatch";
    }, {
        code: 6039;
        msg: "Ship mismatch";
        name: "ShipMismatch";
    }, {
        code: 6040;
        msg: "Cargo Pod mismatch";
        name: "CargoPodMismatch";
    }, {
        code: 6041;
        msg: "Planet mismatch";
        name: "PlanetMismatch";
    }, {
        code: 6042;
        msg: "MineItem mismatch";
        name: "MineItemMismatch";
    }, {
        code: 6043;
        msg: "Location mismatch";
        name: "LocationMismatch";
    }, {
        code: 6044;
        msg: "Escrow key not found in remaining data";
        name: "InvalidEscrowKey";
    }, {
        code: 6045;
        msg: "Insufficient Ship token amount";
        name: "InvalidShipAmount";
    }, {
        code: 6046;
        msg: "Insufficient Ship hangar space amount";
        name: "InvalidShipHangarSpaceAmount";
    }, {
        code: 6047;
        msg: "Invalid crew amount";
        name: "InvalidCrewAmount";
    }, {
        code: 6048;
        msg: "Invalid state";
        name: "InvalidState";
    }, {
        code: 6049;
        msg: "Invalid distance";
        name: "InvalidDistance";
    }, {
        code: 6050;
        msg: "Not at central space station";
        name: "NotAtCentralSpaceStation";
    }, {
        code: 6051;
        msg: "The instruction does not expect a ship account";
        name: "ShipNotExpected";
    }, {
        code: 6052;
        msg: "Address mismatch";
        name: "AddressMismatch";
    }, {
        code: 6053;
        msg: "Invalid sector connection";
        name: "InvalidSectorConnection";
    }, {
        code: 6054;
        msg: "Invalid Starbase level";
        name: "InvalidStarbaseLevel";
    }, {
        code: 6055;
        msg: "Invalid Starbase upgrade recipe category";
        name: "InvalidStarbaseUpgradeRecipeCategory";
    }, {
        code: 6056;
        msg: "Hangar upgrade not Possible";
        name: "HangarUpgradeNotPossible";
    }, {
        code: 6057;
        msg: "Disbanded fleet not empty";
        name: "DisbandedFleetNotEmpty";
    }, {
        code: 6058;
        msg: "Faulty movement";
        name: "FaultyMovement";
    }, {
        code: 6059;
        msg: "Incorrect Account Type for Handle Raw";
        name: "IncorrectHandleRawAccount";
    }, {
        code: 6060;
        msg: "Insufficient Ship Cargo Capacity";
        name: "InsufficientShipCargoCapacity";
    }, {
        code: 6061;
        msg: "Fleet does not need update";
        name: "FleetDoesNotNeedUpdate";
    }, {
        code: 6062;
        msg: "Must disband fleet";
        name: "MustDisbandFleet";
    }, {
        code: 6063;
        msg: "Cannot force-disband fleet";
        name: "CannotForceDisbandFleet";
    }, {
        code: 6064;
        msg: "Ship mismatch or already updated";
        name: "ShipMismatchOrAlreadyUpdated";
    }, {
        code: 6065;
        msg: "Ship already updated";
        name: "ShipAlreadyUpdated";
    }, {
        code: 6066;
        msg: "Invalid next ship address";
        name: "InvalidNextShipAddress";
    }, {
        code: 6067;
        msg: "Ship is not valid for forced disband of fleet";
        name: "InvalidShipForForcedDisband";
    }, {
        code: 6068;
        msg: "Warp range exceeded";
        name: "InvalidWarpRange";
    }, {
        code: 6069;
        msg: "Invalid Ingredient";
        name: "InvalidIngredient";
    }, {
        code: 6070;
        msg: "Starbase Upgrade Not in progress";
        name: "StarbaseUpgradeNotInProgress";
    }, {
        code: 6071;
        msg: "Fleet Not in queue";
        name: "FleetNotInQueue";
    }, {
        code: 6072;
        msg: "Need to clean Starbase upgrade queue";
        name: "NeedCleanStarbaseUpgradeQueue";
    }, {
        code: 6073;
        msg: "Planet Not Reachable";
        name: "PlanetNotReachable";
    }, {
        code: 6074;
        msg: "Respawn Not Possible";
        name: "RespawnNotPossible";
    }, {
        code: 6075;
        msg: "Cannot enter enemy faction's Security Zone";
        name: "InvalidMovement";
    }, {
        code: 6076;
        msg: "The Cargo Pod contains a non-zero amount of the Cargo Type";
        name: "CargoAmountAboveZero";
    }, {
        code: 6077;
        msg: "The Cargo Pod is invalid";
        name: "InvalidCargoPod";
    }, {
        code: 6078;
        msg: "Invalid Zone Coordinates";
        name: "InvalidZoneCoordinates";
    }, {
        code: 6079;
        msg: "Respawn time not elapsed";
        name: "RespawnTimeNotElapsed";
    }, {
        code: 6080;
        msg: "The Account is Active";
        name: "ActiveAccount";
    }, {
        code: 6081;
        msg: "Starbase Player mismatch";
        name: "StarbasePlayerMismatch";
    }, {
        code: 6082;
        msg: "The account has already been processed";
        name: "AlreadyProcessed";
    }, {
        code: 6083;
        msg: "The amount is invalid";
        name: "InvalidAmount";
    }, {
        code: 6084;
        msg: "Warp is on cooldown";
        name: "WarpIsOnCooldown";
    }, {
        code: 6085;
        msg: "Program Mismatch";
        name: "ProgramMismatch";
    }, {
        code: 6086;
        msg: "Current Instruction Is Not Only Instruction";
        name: "MustBeOnlyInstruction";
    }, {
        code: 6087;
        msg: "Invalid Time";
        name: "InvalidTime";
    }, {
        code: 6088;
        msg: "Scanning is on cooldown";
        name: "ScanIsOnCooldown";
    }, {
        code: 6089;
        msg: "Invalid Fleet Size";
        name: "InvalidFleetSize";
    }, {
        code: 6090;
        msg: "The feature is inactive";
        name: "InactiveFeature";
    }, {
        code: 6091;
        msg: "Zero ships added to fleet";
        name: "ZeroShipsAdded";
    }, {
        code: 6092;
        msg: "Generic invalid data";
        name: "GenericInvalid";
    }]
  • instructions: [{
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: true;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The [`GameState`] account"];
            isMut: true;
            isSigner: false;
            name: "gameState";
        }];
        args: [{
            name: "input";
            type: {
                defined: "ManageGameInput";
            };
        }];
        name: "activateGameState";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The funder for adding the connection"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The first connected sector"];
            isMut: true;
            isSigner: false;
            name: "sector1";
        }, {
            docs: ["The second connected sector"];
            isMut: true;
            isSigner: false;
            name: "sector2";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "subCoordinates1";
            type: {
                array: ["i64", 2];
            };
        }, {
            name: "flags1";
            type: "u8";
        }, {
            name: "subCoordinates2";
            type: {
                array: ["i64", 2];
            };
        }, {
            name: "flags2";
            type: "u8";
        }, {
            name: "keyIndex";
            type: "u16";
        }];
        name: "addConnection";
    }, {
        accounts: [{
            docs: ["The fleet owner's profile."];
            isMut: false;
            isSigner: false;
            name: "ownerProfile";
        }, {
            docs: ["The key on the owner profile with renting permissions."];
            isMut: false;
            isSigner: true;
            name: "ownerKey";
        }, {
            docs: ["This is a signer to help make sure the fleet won't be locked."];
            isMut: false;
            isSigner: true;
            name: "invalidator";
        }, {
            docs: ["The profile to rent to."];
            isMut: false;
            isSigner: false;
            name: "subProfile";
        }, {
            docs: ["The fleet to rent out."];
            isMut: true;
            isSigner: false;
            name: "fleet";
        }, {
            accounts: [{
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccounts";
        }];
        args: [{
            name: "ownerKeyIndex";
            type: "u16";
        }];
        name: "addRental";
    }, {
        accounts: [{
            docs: ["The funder - pays for account rent"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`SagePlayerProfile`] account"];
            isMut: true;
            isSigner: false;
            name: "sagePlayerProfile";
        }, {
            docs: ["The Origin Token Account"];
            isMut: true;
            isSigner: false;
            name: "originTokenAccount";
        }, {
            docs: ["The [`Ship`] Account"];
            isMut: false;
            isSigner: false;
            name: "ship";
        }, {
            docs: ["The Escrow Token Account"];
            isMut: true;
            isSigner: false;
            name: "shipEscrowTokenAccount";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "AddShipEscrowInput";
            };
        }];
        name: "addShipEscrow";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            docs: ["The funder for the new `Fleet`"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`FleetShips`] account"];
            isMut: true;
            isSigner: false;
            name: "fleetShips";
        }, {
            docs: ["The [`Ship`] Account"];
            isMut: false;
            isSigner: false;
            name: "ship";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "AddShipToFleetInput";
            };
        }];
        name: "addShipToFleet";
    }, {
        accounts: [{
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The [`CraftingInstance`] account to cancel"];
            isMut: true;
            isSigner: false;
            name: "craftingInstance";
        }, {
            docs: ["The crafting process account"];
            isMut: true;
            isSigner: false;
            name: "craftingProcess";
        }, {
            docs: ["The `CraftingFacility` account"];
            isMut: true;
            isSigner: false;
            name: "craftingFacility";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The Crafting Program"];
            isMut: false;
            isSigner: false;
            name: "craftingProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StarbaseCancelCraftingProcessInput";
            };
        }];
        name: "cancelCraftingProcess";
    }, {
        accounts: [{
            docs: ["This is a signer to help make sure the fleet won't be locked."];
            isMut: false;
            isSigner: true;
            name: "subProfileInvalidator";
        }, {
            docs: ["The fleet to rent out."];
            isMut: true;
            isSigner: false;
            name: "fleet";
        }, {
            docs: ["The new sub profile"];
            isMut: false;
            isSigner: false;
            name: "newSubProfile";
        }];
        args: [];
        name: "changeRental";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The [`CraftingInstance`] account"];
            isMut: false;
            isSigner: false;
            name: "craftingInstance";
        }, {
            docs: ["The crafting process account"];
            isMut: true;
            isSigner: false;
            name: "craftingProcess";
        }, {
            docs: ["The crafting recipe"];
            isMut: false;
            isSigner: false;
            name: "craftingRecipe";
        }, {
            docs: ["The destination cargo pod account"];
            isMut: true;
            isSigner: false;
            name: "cargoPodTo";
        }, {
            docs: ["The Cargo Type Account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The source account of the tokens - owner should be `crafting_process`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The destination account of the tokens - owner should be `cargo_pod_to`"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The token mint"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The Crafting Program"];
            isMut: false;
            isSigner: false;
            name: "craftingProgram";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["The [Token] program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StarbaseClaimCraftingNonConsumablesInput";
            };
        }];
        name: "claimCraftingNonConsumables";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The [`CraftingInstance`] account"];
            isMut: false;
            isSigner: false;
            name: "craftingInstance";
        }, {
            docs: ["The [`CraftingProcess`] account"];
            isMut: true;
            isSigner: false;
            name: "craftingProcess";
        }, {
            docs: ["The crafting [`Recipe`]"];
            isMut: false;
            isSigner: false;
            name: "craftingRecipe";
        }, {
            docs: ["The craftable item"];
            isMut: false;
            isSigner: false;
            name: "craftableItem";
        }, {
            docs: ["The destination cargo pod account"];
            isMut: true;
            isSigner: false;
            name: "cargoPodTo";
        }, {
            docs: ["The Cargo Type Account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The source account of the tokens - owner should be `craftable_item`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The destination account of the tokens - owner should be `cargo_pod_to`"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The Crafting Program"];
            isMut: false;
            isSigner: false;
            name: "craftingProgram";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["The [Token] program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StarbaseClaimCraftingOutputInput";
            };
        }];
        name: "claimCraftingOutputs";
    }, {
        accounts: [{
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The [`CraftingInstance`] account to close"];
            isMut: true;
            isSigner: false;
            name: "craftingInstance";
        }, {
            docs: ["The crafting process account"];
            isMut: true;
            isSigner: false;
            name: "craftingProcess";
        }, {
            docs: ["The crafting recipe account"];
            isMut: false;
            isSigner: false;
            name: "craftingRecipe";
        }, {
            docs: ["The `CraftingFacility` account"];
            isMut: true;
            isSigner: false;
            name: "craftingFacility";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The Crafting Program"];
            isMut: false;
            isSigner: false;
            name: "craftingProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StarbaseCloseCraftingProcessInput";
            };
        }];
        name: "closeCraftingProcess";
    }, {
        accounts: [{
            docs: ["The key on the player profile."];
            isMut: false;
            isSigner: true;
            name: "key";
        }, {
            docs: ["The player profile."];
            isMut: false;
            isSigner: false;
            name: "playerProfile";
        }, {
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The [`DisbandedFleet`] account"];
            isMut: true;
            isSigner: false;
            name: "disbandedFleet";
        }, {
            docs: ["The [`FleetShips`] account"];
            isMut: true;
            isSigner: false;
            name: "fleetShips";
        }];
        args: [{
            name: "input";
            type: {
                defined: "CloseDisbandedFleetInput";
            };
        }];
        name: "closeDisbandedFleet";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            docs: ["The cargo pod, owned by the fleet"];
            isMut: true;
            isSigner: false;
            name: "cargoPod";
        }, {
            docs: ["The cargo type account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The destination token account - owned by the `cargo_pod`"];
            isMut: true;
            isSigner: false;
            name: "token";
        }, {
            docs: ["The mint of the token accounts"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "KeyIndexInput";
            };
        }];
        name: "closeFleetCargoPodTokenAccount";
    }, {
        accounts: [{
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The new cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoPod";
        }, {
            docs: ["The cargo type account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The source token account - owned by the `cargo_pod`"];
            isMut: true;
            isSigner: false;
            name: "token";
        }, {
            docs: ["The mint of the token accounts"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "KeyIndexInput";
            };
        }];
        name: "closeStarbaseCargoTokenAccount";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The funder for the new `GameState`"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The old [`GameState`] account"];
            isMut: false;
            isSigner: false;
            name: "oldGameState";
        }, {
            docs: ["The [`GameState`] account", "This will and should fail if there already exists a `GameState`for the desired `update_id`"];
            isMut: true;
            isSigner: false;
            name: "newGameState";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "ManageGameInput";
            };
        }];
        name: "copyGameState";
    }, {
        accounts: [{
            docs: ["The funder for the new crafting process"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The new cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoPod";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StarbaseCreateCargoPodInput";
            };
        }];
        name: "createCargoPod";
    }, {
        accounts: [{
            docs: ["The funder for the new crafting process"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The [`CraftingInstance`] account to initialize"];
            isMut: true;
            isSigner: false;
            name: "craftingInstance";
        }, {
            docs: ["The `CraftingFacility` account"];
            isMut: true;
            isSigner: false;
            name: "craftingFacility";
        }, {
            docs: ["The crafting process account (NOT initialized)"];
            isMut: true;
            isSigner: false;
            name: "craftingProcess";
        }, {
            docs: ["The crafting recipe"];
            isMut: false;
            isSigner: false;
            name: "craftingRecipe";
        }, {
            docs: ["The crafting domain"];
            isMut: false;
            isSigner: false;
            name: "craftingDomain";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The Crafting Program"];
            isMut: false;
            isSigner: false;
            name: "craftingProgram";
        }, {
            docs: ["Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StarbaseCreateCraftingProcessInput";
            };
        }];
        name: "createCraftingProcess";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The funder for the new `Fleet`"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`Fleet`] account"];
            isMut: true;
            isSigner: false;
            name: "fleet";
        }, {
            docs: ["The [`FleetShips`] account"];
            isMut: true;
            isSigner: false;
            name: "fleetShips";
        }, {
            docs: ["The new fleet `cargo_hold` cargo pod (not initialized)"];
            isMut: true;
            isSigner: false;
            name: "cargoHold";
        }, {
            docs: ["The new fleet `fuel_tank` cargo pod (not initialized)"];
            isMut: true;
            isSigner: false;
            name: "fuelTank";
        }, {
            docs: ["The new fleet `ammo_bank` cargo pod (not initialized)"];
            isMut: true;
            isSigner: false;
            name: "ammoBank";
        }, {
            docs: ["The [`Ship`] Account - represents the first ship in the new fleet"];
            isMut: false;
            isSigner: false;
            name: "ship";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "CreateFleetInput";
            };
        }];
        name: "createFleet";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The origin cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoPodFrom";
        }, {
            docs: ["The destination cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoPodTo";
        }, {
            docs: ["The cargo type account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The source token account - owned by the `cargo_pod_from`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The destination token account - owned by the `cargo_pod_to`"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The mint of the token accounts"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "DepositCargoToFleetInput";
            };
        }];
        name: "depositCargoToFleet";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The new cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoPod";
        }, {
            docs: ["The cargo type account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The source token account - owned by the `key`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The destination token account - owned by the `cargo_pod`"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "CargoToGameInput";
            };
        }];
        name: "depositCargoToGame";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The [`CraftingInstance`] account"];
            isMut: false;
            isSigner: false;
            name: "craftingInstance";
        }, {
            docs: ["The [`CraftingFacility`](crafting::CraftingFacility) account"];
            isMut: false;
            isSigner: false;
            name: "craftingFacility";
        }, {
            docs: ["The crafting process account"];
            isMut: true;
            isSigner: false;
            name: "craftingProcess";
        }, {
            docs: ["The source cargo pod account"];
            isMut: true;
            isSigner: false;
            name: "cargoPodFrom";
        }, {
            docs: ["The crafting recipe"];
            isMut: false;
            isSigner: false;
            name: "craftingRecipe";
        }, {
            docs: ["The Cargo Type Account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The source account of the tokens - owner should be `cargo_pod_from`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The destination account of the tokens - owner should be `crafting_process`"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The Crafting Program"];
            isMut: false;
            isSigner: false;
            name: "craftingProgram";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["The [Token] program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StarbaseDepositCraftingIngredientInput";
            };
        }];
        name: "depositCraftingIngredient";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["Where the closing funds go."];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The [`MineItem`] account"];
            isMut: true;
            isSigner: false;
            name: "mineItem";
        }];
        args: [{
            name: "input";
            type: {
                defined: "KeyIndexInput";
            };
        }];
        name: "deregisterMineItem";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["Where the closing funds go."];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The [`MineItem`] account"];
            isMut: true;
            isSigner: false;
            name: "mineItem";
        }, {
            docs: ["The [`Resource`] account"];
            isMut: true;
            isSigner: false;
            name: "resource";
        }, {
            docs: ["The Location address"];
            isMut: true;
            isSigner: false;
            name: "location";
        }];
        args: [{
            name: "input";
            type: {
                defined: "KeyIndexInput";
            };
        }];
        name: "deregisterResource";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["Where the closing funds go."];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The [`Starbase`] account"];
            isMut: true;
            isSigner: false;
            name: "starbase";
        }];
        args: [{
            name: "input";
            type: {
                defined: "KeyIndexInput";
            };
        }];
        name: "deregisterStarbase";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["Where the closing funds go."];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The [`SurveyDataUnitTracker`] account"];
            isMut: true;
            isSigner: false;
            name: "surveyDataUnitTracker";
        }];
        args: [{
            name: "input";
            type: {
                defined: "DeregisterSurveyDataUnitTrackerInput";
            };
        }];
        name: "deregisterSurveyDataUnitTracker";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The funder - pays for account rent"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`DisbandedFleet`] account"];
            isMut: true;
            isSigner: false;
            name: "disbandedFleet";
        }, {
            docs: ["The [`Fleet`] account"];
            isMut: true;
            isSigner: false;
            name: "fleet";
        }, {
            docs: ["The [`FleetShips`] account"];
            isMut: true;
            isSigner: false;
            name: "fleetShips";
        }, {
            docs: ["The fleet `cargo_hold` cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoHold";
        }, {
            docs: ["The fleet `fuel_tank` cargo pod"];
            isMut: true;
            isSigner: false;
            name: "fuelTank";
        }, {
            docs: ["The fleet `ammo_bank` cargo pod"];
            isMut: true;
            isSigner: false;
            name: "ammoBank";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "DisbandFleetInput";
            };
        }];
        name: "disbandFleet";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The funder - pays for account rent"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`DisbandedFleet`] account"];
            isMut: true;
            isSigner: false;
            name: "disbandedFleet";
        }, {
            docs: ["The [`FleetShips`] account"];
            isMut: true;
            isSigner: false;
            name: "fleetShips";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The [`Ship`] Account"];
            isMut: false;
            isSigner: false;
            name: "ship";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "DisbandedFleetToEscrowInput";
            };
        }];
        name: "disbandedFleetToEscrow";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["Where the closing funds go."];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The [`MineItem`] account"];
            isMut: true;
            isSigner: false;
            name: "mineItem";
        }, {
            docs: ["The mine item token bank to drain"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["Where to send tokens from the bank"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The [Token] program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "KeyIndexInput";
            };
        }];
        name: "drainMineItemBank";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["Where the closing rent refunds go."];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The [`SurveyDataUnitTracker`] account"];
            isMut: false;
            isSigner: false;
            name: "surveyDataUnitTracker";
        }, {
            docs: ["The `SurveyDataUnitTracker` signer"];
            isMut: false;
            isSigner: false;
            name: "surveyDataUnitTrackerSigner";
        }, {
            docs: ["The SDU token bank to drain"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["Where to send tokens from the bank"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The [Token] program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "KeyIndexInput";
            };
        }];
        name: "drainSurveyDataUnitsBank";
    }, {
        accounts: [{
            docs: ["The fleet."];
            isMut: true;
            isSigner: false;
            name: "fleet";
        }];
        args: [];
        name: "fleetStateHandler";
    }, {
        accounts: [{
            docs: ["The funder - pays for account rent"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The new [`DisbandedFleet`] account"];
            isMut: true;
            isSigner: false;
            name: "disbandedFleet";
        }, {
            docs: ["The [`Fleet`] account"];
            isMut: true;
            isSigner: false;
            name: "fleet";
        }, {
            docs: ["The [`FleetShips`] account"];
            isMut: true;
            isSigner: false;
            name: "fleetShips";
        }, {
            docs: ["The fleet `cargo_hold` cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoHold";
        }, {
            docs: ["The fleet `fuel_tank` cargo pod"];
            isMut: true;
            isSigner: false;
            name: "fuelTank";
        }, {
            docs: ["The fleet `ammo_bank` cargo pod"];
            isMut: true;
            isSigner: false;
            name: "ammoBank";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The [`Ship`]", "Must provide at least one ship that is invalid for this instruction"];
            isMut: false;
            isSigner: false;
            name: "ship";
        }, {
            accounts: [{
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccounts";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "ForcedDisbandFleetInput";
            };
        }];
        name: "forceDisbandFleet";
    }, {
        accounts: [{
            docs: ["The `Fleet` Account"];
            isMut: true;
            isSigner: false;
            name: "fleet";
        }, {
            docs: ["The [`FleetShips`] account"];
            isMut: true;
            isSigner: false;
            name: "fleetShips";
        }, {
            docs: ["The origin cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoPod";
        }, {
            docs: ["The `cargo_type` for the token"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The [`Game`] account"];
            isMut: false;
            isSigner: false;
            name: "gameId";
        }, {
            docs: ["The source token account - owned by the `cargo_pod`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The mint of the token account"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [];
        name: "forceDropFleetCargo";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }];
        args: [{
            name: "keyIndex";
            type: "u16";
        }];
        name: "idleToLoadingBay";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            docs: ["Source Token account for ATLAS, owned by the player"];
            isMut: true;
            isSigner: false;
            name: "atlasTokenFrom";
        }, {
            docs: ["Vault Token account for ATLAS"];
            isMut: true;
            isSigner: false;
            name: "atlasTokenTo";
        }, {
            docs: ["The Solana Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "IdleToRespawnInput";
            };
        }];
        name: "idleToRespawn";
    }, {
        accounts: [{
            docs: ["The entity calling this instruction"];
            isMut: true;
            isSigner: true;
            name: "signer";
        }, {
            docs: ["The sector permissions [`Profile`]"];
            isMut: false;
            isSigner: false;
            name: "profile";
        }, {
            docs: ["The funder for the new game"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`Game`] account"];
            isMut: true;
            isSigner: true;
            name: "gameId";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "initGame";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The funder for the new `GameState`"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`GameState`] account"];
            isMut: true;
            isSigner: false;
            name: "gameState";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "InitGameStateInput";
            };
        }];
        name: "initGameState";
    }, {
        accounts: [{
            docs: ["This is a signer to help make sure the fleet won't be locked."];
            isMut: false;
            isSigner: true;
            name: "subProfileInvalidator";
        }, {
            docs: ["The fleet to rent out."];
            isMut: true;
            isSigner: false;
            name: "fleet";
        }];
        args: [];
        name: "invalidateRental";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: true;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The current [`Ship`] account"];
            isMut: true;
            isSigner: false;
            name: "ship";
        }];
        args: [{
            name: "keyIndex";
            type: "u16";
        }];
        name: "invalidateShip";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }];
        args: [{
            name: "keyIndex";
            type: "u16";
        }];
        name: "loadingBayToIdle";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            docs: ["The [`Resource`] account"];
            isMut: true;
            isSigner: false;
            name: "resource";
        }, {
            docs: ["The [`Planet`] account"];
            isMut: true;
            isSigner: false;
            name: "planet";
        }, {
            docs: ["The fuel tank cargo pod"];
            isMut: false;
            isSigner: false;
            name: "fuelTank";
        }, {
            docs: ["The source token account for fuel - owned by the `fuel_tank`"];
            isMut: false;
            isSigner: false;
            name: "fuelTokenFrom";
        }, {
            docs: ["Source Token account for ATLAS, owned by the player"];
            isMut: true;
            isSigner: false;
            name: "atlasTokenFrom";
        }, {
            docs: ["Vault Token account for ATLAS"];
            isMut: true;
            isSigner: false;
            name: "atlasTokenTo";
        }, {
            docs: ["The Solana Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "MineAsteroidToRespawnInput";
            };
        }];
        name: "mineAsteroidToRespawn";
    }, {
        accounts: [{
            docs: ["The key authorized for the cpi points instruction"];
            isMut: false;
            isSigner: true;
            name: "key";
        }, {
            docs: ["The points permissions [`Profile`](player_profile::state::Profile)"];
            isMut: false;
            isSigner: false;
            name: "profile";
        }, {
            docs: ["The funder - pays for account rent"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The `PointCategory`"];
            isMut: false;
            isSigner: false;
            name: "pointsCategory";
        }, {
            docs: ["The `PointsModifier` account to be inited in Points CPI"];
            isMut: true;
            isSigner: false;
            name: "pointsModifierAccount";
        }, {
            docs: ["The points program"];
            isMut: false;
            isSigner: false;
            name: "pointsProgram";
        }, {
            docs: ["The [`GameState`] account"];
            isMut: false;
            isSigner: false;
            name: "gameState";
        }, {
            docs: ["The [`Game`] account"];
            isMut: false;
            isSigner: false;
            name: "game";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "RegisterFleetsPointsModifierInput";
            };
        }];
        name: "registerFleetsPointModifier";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The funder for the new mine item"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`MineItem`] account"];
            isMut: true;
            isSigner: false;
            name: "mineItem";
        }, {
            docs: ["The mint address representing the mine item"];
            isMut: true;
            isSigner: false;
            name: "mint";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "RegisterMineItemInput";
            };
        }];
        name: "registerMineItem";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The funder for the new game"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`Planet`] account"];
            isMut: true;
            isSigner: true;
            name: "planet";
        }, {
            docs: ["The [`Sector`] account"];
            isMut: true;
            isSigner: false;
            name: "sector";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "RegisterPlanetInput";
            };
        }];
        name: "registerPlanet";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The funder for the new resource"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`Resource`] account"];
            isMut: true;
            isSigner: false;
            name: "resource";
        }, {
            docs: ["The Location address"];
            isMut: true;
            isSigner: false;
            name: "location";
        }, {
            docs: ["The [`MineItem`] account"];
            isMut: true;
            isSigner: false;
            name: "mineItem";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "RegisterResourceInput";
            };
        }];
        name: "registerResource";
    }, {
        accounts: [{
            docs: ["The player permissions [`Profile`]"];
            isMut: false;
            isSigner: false;
            name: "profile";
        }, {
            docs: ["The funder for the new profile"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The `SagePlayerProfile` account"];
            isMut: true;
            isSigner: false;
            name: "sagePlayerProfile";
        }, {
            accounts: [{
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccounts";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "registerSagePlayerProfile";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The funder for the new sector"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The discoverer of this sector"];
            isMut: false;
            isSigner: false;
            name: "discoverer";
        }, {
            docs: ["The [`Sector`] account"];
            isMut: true;
            isSigner: false;
            name: "sector";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "coordinates";
            type: {
                array: ["i64", 2];
            };
        }, {
            name: "name";
            type: {
                array: ["u8", 64];
            };
        }, {
            name: "keyIndex";
            type: "u16";
        }];
        name: "registerSector";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The funder for the new game"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`Ship`] account"];
            isMut: true;
            isSigner: true;
            name: "ship";
        }, {
            docs: ["The mint address representing the [`Ship`]"];
            isMut: false;
            isSigner: false;
            name: "mint";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "RegisterShipInput";
            };
        }];
        name: "registerShip";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The funder - pays for account rent"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`Star`] account"];
            isMut: true;
            isSigner: true;
            name: "star";
        }, {
            docs: ["The [`Sector`] account"];
            isMut: true;
            isSigner: false;
            name: "sector";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "RegisterStarInput";
            };
        }];
        name: "registerStar";
    }, {
        accounts: [{
            docs: ["The funder for the new star base"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`Starbase`] account"];
            isMut: true;
            isSigner: false;
            name: "starbase";
        }, {
            docs: ["The [`Sector`] account"];
            isMut: false;
            isSigner: false;
            name: "sector";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfile";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameStateAndProfile";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "RegisterStarbaseInputUnpacked";
            };
        }];
        name: "registerStarbase";
    }, {
        accounts: [{
            docs: ["The funder -- pays account rent"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            accounts: [{
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccounts";
        }, {
            docs: ["The [`SagePlayerProfile`] account"];
            isMut: false;
            isSigner: false;
            name: "sagePlayerProfile";
        }, {
            docs: ["The faction that the player belongs to."];
            isMut: false;
            isSigner: false;
            name: "profileFaction";
        }, {
            docs: ["The [`Starbase`] account"];
            isMut: false;
            isSigner: false;
            name: "starbase";
        }, {
            docs: ["The [`StarbasePlayer`] account to initialize"];
            isMut: true;
            isSigner: false;
            name: "starbasePlayer";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [];
        name: "registerStarbasePlayer";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The funder for the new mine item"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`SurveyDataUnitTracker`] account"];
            isMut: true;
            isSigner: false;
            name: "surveyDataUnitTracker";
        }, {
            docs: ["The mint for the new `SurveyDataUnitTracker`"];
            isMut: false;
            isSigner: false;
            name: "mint";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "RegisterSurveyDataUnitTrackerInput";
            };
        }];
        name: "registerSurveyDataUnitTracker";
    }, {
        accounts: [{
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The cargo pod (should be empty)"];
            isMut: true;
            isSigner: false;
            name: "cargoPod";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StarbaseRemoveCargoPodInput";
            };
        }];
        name: "removeCargoPod";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["Where the rent refund funds from the connections go to."];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The first sector to remove from"];
            isMut: true;
            isSigner: false;
            name: "sector1";
        }, {
            docs: ["The second sector to remove from"];
            isMut: true;
            isSigner: false;
            name: "sector2";
        }, {
            docs: ["The system program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "sector1Index";
            type: "u16";
        }, {
            name: "sector2Index";
            type: "u16";
        }, {
            name: "keyIndex";
            type: "u16";
        }];
        name: "removeConnection";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The [`SagePlayerProfile`] account"];
            isMut: true;
            isSigner: false;
            name: "sagePlayerProfile";
        }, {
            docs: ["The Destination Token Account"];
            isMut: true;
            isSigner: false;
            name: "destinationTokenAccount";
        }, {
            docs: ["The [`Ship`] Account"];
            isMut: false;
            isSigner: false;
            name: "ship";
        }, {
            docs: ["The Escrow Token Account"];
            isMut: true;
            isSigner: false;
            name: "shipEscrowTokenAccount";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "RemoveShipEscrowInput";
            };
        }];
        name: "removeInvalidShipEscrow";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The [`SagePlayerProfile`] account"];
            isMut: true;
            isSigner: false;
            name: "sagePlayerProfile";
        }, {
            docs: ["The Destination Token Account"];
            isMut: true;
            isSigner: false;
            name: "destinationTokenAccount";
        }, {
            docs: ["The [`Ship`] Account"];
            isMut: false;
            isSigner: false;
            name: "ship";
        }, {
            docs: ["The Escrow Token Account"];
            isMut: true;
            isSigner: false;
            name: "shipEscrowTokenAccount";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "RemoveShipEscrowInput";
            };
        }];
        name: "removeShipEscrow";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The fleet `cargo_hold` cargo pod"];
            isMut: false;
            isSigner: false;
            name: "cargoHold";
        }, {
            docs: ["The fleet `fuel_tank` cargo pod"];
            isMut: false;
            isSigner: false;
            name: "fuelTank";
        }, {
            docs: ["The fleet `ammo_bank` cargo pod"];
            isMut: false;
            isSigner: false;
            name: "ammoBank";
        }];
        args: [{
            name: "input";
            type: {
                defined: "RespawnToLoadingBayInput";
            };
        }];
        name: "respawnToLoadingBay";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            docs: ["The [`SurveyDataUnitTracker`] account"];
            isMut: true;
            isSigner: false;
            name: "surveyDataUnitTracker";
        }, {
            docs: ["The `SurveyDataUnitTracker` signer"];
            isMut: false;
            isSigner: false;
            name: "surveyDataUnitTrackerSigner";
        }, {
            docs: ["The general cargo hold cargo pod for the fleet"];
            isMut: true;
            isSigner: false;
            name: "cargoHold";
        }, {
            docs: ["Source token account for the SDU, owned by `survey_data_unit_tracker_signer`"];
            isMut: true;
            isSigner: false;
            name: "sduTokenFrom";
        }, {
            docs: ["Destination token account for the SDU, owned by cargo_hold"];
            isMut: true;
            isSigner: false;
            name: "sduTokenTo";
        }, {
            docs: ["Token account for repair kit, owned by fleet"];
            isMut: true;
            isSigner: false;
            name: "repairKitTokenFrom";
        }, {
            docs: ["The food token mint"];
            isMut: true;
            isSigner: false;
            name: "repairKitMint";
        }, {
            docs: ["The cargo type of the SDU"];
            isMut: false;
            isSigner: false;
            name: "sduCargoType";
        }, {
            docs: ["The cargo type of Repair Kits"];
            isMut: false;
            isSigner: false;
            name: "repairKitCargoType";
        }, {
            docs: ["The cargo stats definition"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The cargo program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["The token program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }, {
            docs: ["Solana Instructions Sysvar"];
            isMut: false;
            isSigner: false;
            name: "instructionsSysvar";
        }, {
            docs: ["Solana recent slothashes"];
            isMut: false;
            isSigner: false;
            name: "recentSlothashes";
        }];
        args: [{
            name: "input";
            type: {
                defined: "ScanForSurveyDataUnitsInput";
            };
        }];
        name: "scanForSurveyDataUnits";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The current [`Ship`] account"];
            isMut: true;
            isSigner: false;
            name: "ship";
        }, {
            docs: ["The next [`Ship`] account"];
            isMut: true;
            isSigner: false;
            name: "nextShip";
        }];
        args: [{
            name: "keyIndex";
            type: "u16";
        }];
        name: "setNextShip";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The [`CraftingInstance`] account"];
            isMut: false;
            isSigner: false;
            name: "craftingInstance";
        }, {
            docs: ["The [`CraftingProcess`] account"];
            isMut: true;
            isSigner: false;
            name: "craftingProcess";
        }, {
            docs: ["The crafting [`Recipe`]"];
            isMut: false;
            isSigner: false;
            name: "craftingRecipe";
        }, {
            docs: ["The `CraftingFacility` account"];
            isMut: false;
            isSigner: false;
            name: "craftingFacility";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The Crafting Program"];
            isMut: false;
            isSigner: false;
            name: "craftingProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StarbaseStartCraftingProcessInput";
            };
        }];
        name: "startCraftingProcess";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The [`MineItem`] account"];
            isMut: false;
            isSigner: false;
            name: "mineItem";
        }, {
            docs: ["The [`Resource`] account"];
            isMut: true;
            isSigner: false;
            name: "resource";
        }, {
            docs: ["The [`Planet`] account"];
            isMut: true;
            isSigner: false;
            name: "planet";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StartMiningAsteroidInput";
            };
        }];
        name: "startMiningAsteroid";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StartSubwarpInput";
            };
        }];
        name: "startSubwarp";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            docs: ["The [`Resource`] account"];
            isMut: true;
            isSigner: false;
            name: "resource";
        }, {
            docs: ["The [`Planet`] account"];
            isMut: true;
            isSigner: false;
            name: "planet";
        }, {
            docs: ["The fuel tank cargo pod"];
            isMut: true;
            isSigner: false;
            name: "fuelTank";
        }, {
            docs: ["The cargo type account for fuel"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The source token account - owned by the `fuel_tank`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The mint of the token account"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StopMiningAsteroidInput";
            };
        }];
        name: "stopMiningAsteroid";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StopSubwarpInput";
            };
        }];
        name: "stopSubwarp";
    }, {
        accounts: [{
            docs: ["The [`MineItem`] account"];
            isMut: false;
            isSigner: false;
            name: "mineItem";
        }, {
            docs: ["The [`Resource`] account"];
            isMut: true;
            isSigner: false;
            name: "resource";
        }];
        args: [];
        name: "syncResource";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            accounts: [{
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccounts";
        }];
        args: [];
        name: "syncStarbasePlayer";
    }, {
        accounts: [{
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The origin cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoPodFrom";
        }, {
            docs: ["The destination cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoPodTo";
        }, {
            docs: ["The cargo type account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The source token account - owned by the `cargo_pod_from`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The destination token account - owned by the `cargo_pod_to`"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The mint of the token accounts"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StarbaseTransferCargoInput";
            };
        }];
        name: "transferCargoAtStarbase";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            docs: ["The origin cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoPodFrom";
        }, {
            docs: ["The destination cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoPodTo";
        }, {
            docs: ["The cargo type account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The source token account - owned by the `cargo_pod_from`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The destination token account - owned by the `cargo_pod_to`"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The mint of the token accounts"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "TransferCargoWithinFleetInput";
            };
        }];
        name: "transferCargoWithinFleet";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: true;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }];
        args: [{
            name: "input";
            type: {
                defined: "UpdateGameInput";
            };
        }];
        name: "updateGame";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The [`GameState`] account"];
            isMut: true;
            isSigner: false;
            name: "gameState";
        }];
        args: [{
            name: "input";
            type: {
                defined: "UpdateGameStateInput";
            };
        }];
        name: "updateGameState";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The [`MineItem`] account"];
            isMut: true;
            isSigner: false;
            name: "mineItem";
        }];
        args: [{
            name: "input";
            type: {
                defined: "UpdateMineItemInput";
            };
        }];
        name: "updateMineItem";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The [`Planet`] account"];
            isMut: true;
            isSigner: false;
            name: "planet";
        }];
        args: [{
            name: "input";
            type: {
                defined: "UpdatePlanetInput";
            };
        }];
        name: "updatePlanet";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The [`MineItem`] account"];
            isMut: false;
            isSigner: false;
            name: "mineItem";
        }, {
            docs: ["The [`Resource`] account"];
            isMut: true;
            isSigner: false;
            name: "resource";
        }];
        args: [{
            name: "input";
            type: {
                defined: "UpdateResourceInput";
            };
        }];
        name: "updateResource";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The [`Ship`] account"];
            isMut: true;
            isSigner: false;
            name: "ship";
        }];
        args: [{
            name: "input";
            type: {
                defined: "UpdateShipInput";
            };
        }];
        name: "updateShip";
    }, {
        accounts: [{
            docs: ["The old [`Ship`] Account"];
            isMut: false;
            isSigner: false;
            name: "oldShip";
        }, {
            docs: ["The address indicated as `next` in the `old_ship` account"];
            isMut: false;
            isSigner: false;
            name: "next";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: true;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            accounts: [{
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccounts";
        }];
        args: [{
            name: "input";
            type: {
                defined: "UpdateShipEscrowInput";
            };
        }];
        name: "updateShipEscrow";
    }, {
        accounts: [{
            docs: ["The [`Fleet`] account"];
            isMut: true;
            isSigner: false;
            name: "fleet";
        }, {
            docs: ["The [`FleetShips`] account"];
            isMut: true;
            isSigner: false;
            name: "fleetShips";
        }, {
            docs: ["The old [`Ship`] Account"];
            isMut: false;
            isSigner: false;
            name: "oldShip";
        }, {
            docs: ["The address indicated as `next` in the `old_ship` account"];
            isMut: false;
            isSigner: false;
            name: "next";
        }, {
            accounts: [{
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccounts";
        }];
        args: [{
            name: "input";
            type: {
                defined: "UpdateShipFleetInput";
            };
        }];
        name: "updateShipInFleet";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The [`Star`] account"];
            isMut: true;
            isSigner: false;
            name: "star";
        }];
        args: [{
            name: "input";
            type: {
                defined: "UpdateStarInput";
            };
        }];
        name: "updateStar";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The funder for the new game"];
            isMut: true;
            isSigner: true;
            name: "funder";
        }, {
            docs: ["The [`Starbase`] account"];
            isMut: true;
            isSigner: false;
            name: "starbase";
        }, {
            docs: ["The Solana System program"];
            isMut: false;
            isSigner: false;
            name: "systemProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "UpdateStarbaseInput";
            };
        }];
        name: "updateStarbase";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The key authorized for this instruction"];
                isMut: false;
                isSigner: true;
                name: "key";
            }, {
                docs: ["The [`Profile`] account"];
                isMut: false;
                isSigner: false;
                name: "profile";
            }, {
                docs: ["The [`Game`] account"];
                isMut: false;
                isSigner: false;
                name: "gameId";
            }];
            name: "gameAndProfile";
        }, {
            docs: ["The [`SurveyDataUnitTracker`] account"];
            isMut: true;
            isSigner: false;
            name: "surveyDataUnitTracker";
        }];
        args: [{
            name: "input";
            type: {
                defined: "UpdateSurveyDataUnitTrackerInput";
            };
        }];
        name: "updateSurveyDataUnitTracker";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            docs: ["The [`Starbase`] account"];
            isMut: false;
            isSigner: false;
            name: "fromStarbase";
        }, {
            docs: ["The [`Starbase`] account"];
            isMut: false;
            isSigner: false;
            name: "toStarbase";
        }, {
            docs: ["The Sector account representing the fleet`s current sector"];
            isMut: false;
            isSigner: false;
            name: "fromSector";
        }, {
            docs: ["The Sector account that `Fleet` will move to"];
            isMut: false;
            isSigner: false;
            name: "toSector";
        }, {
            docs: ["The fuel tank cargo pod"];
            isMut: true;
            isSigner: false;
            name: "fuelTank";
        }, {
            docs: ["The `Cargo Type` Account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The `CargoStatsDefinition` for the cargo type"];
            isMut: false;
            isSigner: false;
            name: "statsDefinition";
        }, {
            docs: ["The fuel source token account - owned by the `fuel_tank`"];
            isMut: true;
            isSigner: false;
            name: "fuelTokenFrom";
        }, {
            docs: ["Token Mint - The fuel mint"];
            isMut: true;
            isSigner: false;
            name: "fuelMint";
        }, {
            docs: ["The fee source token account"];
            isMut: true;
            isSigner: false;
            name: "feeTokenFrom";
        }, {
            docs: ["The fee destination token account"];
            isMut: true;
            isSigner: false;
            name: "feeTokenTo";
        }, {
            docs: ["Fee Token Mint"];
            isMut: true;
            isSigner: false;
            name: "feeMint";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "WarpLaneInput";
            };
        }];
        name: "warpLane";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            docs: ["The fuel tank cargo pod"];
            isMut: true;
            isSigner: false;
            name: "fuelTank";
        }, {
            docs: ["The cargo type account for fuel"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "statsDefinition";
        }, {
            docs: ["The source token account - owned by the `fuel_tank`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["Token Mint - The fuel mint"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "WarpToCoordinateInput";
            };
        }];
        name: "warpToCoordinate";
    }, {
        accounts: [{
            accounts: [{
                accounts: [{
                    accounts: [{
                        docs: ["The key on the profile."];
                        isMut: false;
                        isSigner: true;
                        name: "key";
                    }, {
                        docs: ["The profile that owns the fleet."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfile";
                    }, {
                        docs: ["The faction that the profile belongs to."];
                        isMut: false;
                        isSigner: false;
                        name: "owningProfileFaction";
                    }, {
                        docs: ["The fleet."];
                        isMut: true;
                        isSigner: false;
                        name: "fleet";
                    }];
                    name: "fleetAndOwner";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameFleetAndOwner";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsFleetAndOwner";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The origin cargo pod, owned by the fleet"];
            isMut: true;
            isSigner: false;
            name: "cargoPodFrom";
        }, {
            docs: ["The destination cargo pod, owned by the Starbase player"];
            isMut: true;
            isSigner: false;
            name: "cargoPodTo";
        }, {
            docs: ["The cargo type account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The source token account - owned by the `cargo_pod_from`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The destination token account - owned by the `cargo_pod_to`"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The mint of the token accounts"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "WithdrawCargoFromFleetInput";
            };
        }];
        name: "withdrawCargoFromFleet";
    }, {
        accounts: [{
            docs: ["The funds_to - receives rent refund"];
            isMut: true;
            isSigner: false;
            name: "fundsTo";
        }, {
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The new cargo pod"];
            isMut: true;
            isSigner: false;
            name: "cargoPod";
        }, {
            docs: ["The cargo type account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            docs: ["The source token account - owned by the `cargo_pod`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The destination token account - owned by the `key`"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The mint of the token accounts"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["Token Program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "CargoToGameInput";
            };
        }];
        name: "withdrawCargoFromGame";
    }, {
        accounts: [{
            accounts: [{
                docs: ["The [`Starbase`] account"];
                isMut: false;
                isSigner: false;
                name: "starbase";
            }, {
                docs: ["The [`StarbasePlayer`] Account"];
                isMut: false;
                isSigner: false;
                name: "starbasePlayer";
            }];
            name: "starbaseAndStarbasePlayer";
        }, {
            docs: ["The [`CraftingInstance`] account"];
            isMut: false;
            isSigner: false;
            name: "craftingInstance";
        }, {
            docs: ["The [`CraftingFacility`](crafting::CraftingFacility) account"];
            isMut: false;
            isSigner: false;
            name: "craftingFacility";
        }, {
            docs: ["The crafting process account"];
            isMut: true;
            isSigner: false;
            name: "craftingProcess";
        }, {
            docs: ["The destination cargo pod account"];
            isMut: true;
            isSigner: false;
            name: "cargoPodTo";
        }, {
            docs: ["The crafting recipe"];
            isMut: false;
            isSigner: false;
            name: "craftingRecipe";
        }, {
            docs: ["The Cargo Type Account"];
            isMut: false;
            isSigner: false;
            name: "cargoType";
        }, {
            docs: ["The cargo stats definition account"];
            isMut: false;
            isSigner: false;
            name: "cargoStatsDefinition";
        }, {
            accounts: [{
                accounts: [{
                    docs: ["The key authorized for this instruction"];
                    isMut: false;
                    isSigner: true;
                    name: "key";
                }, {
                    docs: ["The [`Profile`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "profile";
                }, {
                    docs: ["The faction that the profile belongs to."];
                    isMut: false;
                    isSigner: false;
                    name: "profileFaction";
                }, {
                    docs: ["The [`Game`] account"];
                    isMut: false;
                    isSigner: false;
                    name: "gameId";
                }];
                name: "gameAndProfileAndFaction";
            }, {
                docs: ["The [`GameState`] account"];
                isMut: false;
                isSigner: false;
                name: "gameState";
            }];
            name: "gameAccountsAndProfile";
        }, {
            docs: ["The source account of the tokens - owner should be `crafting_process`"];
            isMut: true;
            isSigner: false;
            name: "tokenFrom";
        }, {
            docs: ["The destination account of the tokens - owner should be `cargo_pod_to`"];
            isMut: true;
            isSigner: false;
            name: "tokenTo";
        }, {
            docs: ["The token mint"];
            isMut: true;
            isSigner: false;
            name: "tokenMint";
        }, {
            docs: ["The Crafting Program"];
            isMut: false;
            isSigner: false;
            name: "craftingProgram";
        }, {
            docs: ["The Cargo Program"];
            isMut: false;
            isSigner: false;
            name: "cargoProgram";
        }, {
            docs: ["The [Token] program"];
            isMut: false;
            isSigner: false;
            name: "tokenProgram";
        }];
        args: [{
            name: "input";
            type: {
                defined: "StarbaseWithdrawCraftingIngredientInput";
            };
        }];
        name: "withdrawCraftingIngredient";
    }]
  • name: "sage"
  • types: [{
        docs: ["Struct for data input for `AddShipEscrow`"];
        name: "AddShipEscrowInput";
        type: {
            fields: [{
                docs: ["Amount of `Ship` tokens to transfer to escrow"];
                name: "shipAmount";
                type: "u64";
            }, {
                docs: ["Index of `WrappedShipEscrow` in remaining data of `StarbasePlayer`", "Some index `WrappedShipEscrow`, or None for new `WrappedShipEscrow`"];
                name: "index";
                type: {
                    option: "u32";
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for that has `key_index`"];
        name: "AddShipToFleetInput";
        type: {
            fields: [{
                docs: ["Number of ships to add to the fleet"];
                name: "shipAmount";
                type: "u8";
            }, {
                docs: ["Index of `WrappedShipEscrow` in remaining data of `StarbasePlayer`"];
                name: "shipEscrowIndex";
                type: "u32";
            }, {
                docs: ["Index of `FleetShipsInfo` in remaining data of `FleetShips`"];
                name: "fleetShipInfoIndex";
                type: {
                    option: "u32";
                };
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Type containing derived sub-levers used in `calculate_base_emissions()` discriminated by ship size"];
        name: "BaseEmissionsBySizeUtil";
        type: {
            fields: [{
                docs: ["xx_small"];
                name: "xxSmall";
                type: "u64";
            }, {
                docs: ["x_small"];
                name: "xSmall";
                type: "u64";
            }, {
                docs: ["small"];
                name: "small";
                type: "u64";
            }, {
                docs: ["medium"];
                name: "medium";
                type: "u64";
            }, {
                docs: ["large"];
                name: "large";
                type: "u64";
            }, {
                docs: ["capital"];
                name: "capital";
                type: "u64";
            }, {
                docs: ["commander"];
                name: "commander";
                type: "u64";
            }, {
                docs: ["titan"];
                name: "titan";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update `base_emissions_by_size_util`"];
        name: "BaseEmissionsBySizeUtilInput";
        type: {
            fields: [{
                docs: ["xx_small"];
                name: "xxSmall";
                type: "u64";
            }, {
                docs: ["x_small"];
                name: "xSmall";
                type: "u64";
            }, {
                docs: ["small"];
                name: "small";
                type: "u64";
            }, {
                docs: ["medium"];
                name: "medium";
                type: "u64";
            }, {
                docs: ["large"];
                name: "large";
                type: "u64";
            }, {
                docs: ["capital"];
                name: "capital";
                type: "u64";
            }, {
                docs: ["commander"];
                name: "commander";
                type: "u64";
            }, {
                docs: ["titan"];
                name: "titan";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Variables for the Cargo program"];
        name: "Cargo";
        type: {
            fields: [{
                docs: ["The cargo stats definition account"];
                name: "statsDefinition";
                type: "publicKey";
            }];
            kind: "struct";
        };
    }, {
        docs: ["A ship's cargo stats"];
        name: "CargoStats";
        type: {
            fields: [{
                docs: ["the capacity of the ship's cargo hold"];
                name: "cargoCapacity";
                type: "u32";
            }, {
                docs: ["the capacity of the ship's fuel tank"];
                name: "fuelCapacity";
                type: "u32";
            }, {
                docs: ["the capacity of the ship's ammo bank"];
                name: "ammoCapacity";
                type: "u32";
            }, {
                docs: ["the amount of ammo consumed per second by the ship when doing non-combat activities e.g. mining"];
                name: "ammoConsumptionRate";
                type: "u32";
            }, {
                docs: ["the amount of food consumed per second by the ship when doing non-combat activities e.g. mining"];
                name: "foodConsumptionRate";
                type: "u32";
            }, {
                docs: ["the amount of resources that can be mined by a ship per second"];
                name: "miningRate";
                type: "u32";
            }, {
                docs: ["the amount of upgrade material that is consumed by a ship per second while upgrading a Starbase"];
                name: "upgradeRate";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Unpacked version of [`CargoStats`]"];
        name: "CargoStatsUnpacked";
        type: {
            fields: [{
                docs: ["the capacity of the ship's cargo hold"];
                name: "cargoCapacity";
                type: "u32";
            }, {
                docs: ["the capacity of the ship's fuel tank"];
                name: "fuelCapacity";
                type: "u32";
            }, {
                docs: ["the capacity of the ship's ammo bank"];
                name: "ammoCapacity";
                type: "u32";
            }, {
                docs: ["the amount of ammo consumed per second by the ship when doing non-combat activities e.g. mining"];
                name: "ammoConsumptionRate";
                type: "u32";
            }, {
                docs: ["the amount of food consumed per second by the ship when doing non-combat activities e.g. mining"];
                name: "foodConsumptionRate";
                type: "u32";
            }, {
                docs: ["the amount of resources that can be mined by a ship per second"];
                name: "miningRate";
                type: "u32";
            }, {
                docs: ["the amount of upgrade material that is consumed by a ship per second while upgrading a Starbase"];
                name: "upgradeRate";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to `DepositCargoToGame`"];
        name: "CargoToGameInput";
        type: {
            fields: [{
                docs: ["cargo amount"];
                name: "amount";
                type: "u64";
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for that has `key_index`"];
        name: "CloseDisbandedFleetInput";
        type: {
            fields: [{
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Variables for the Crafting program"];
        name: "Crafting";
        type: {
            fields: [{
                docs: ["The crafting domain account"];
                name: "domain";
                type: "publicKey";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for that has `key_index`"];
        name: "CreateFleetInput";
        type: {
            fields: [{
                docs: ["Number of ships to add to the fleet"];
                name: "shipAmount";
                type: "u8";
            }, {
                docs: ["the fleet label"];
                name: "fleetLabel";
                type: {
                    array: ["u8", 32];
                };
            }, {
                docs: ["Index of `WrappedShipEscrow` in remaining data of `StarbasePlayer`"];
                name: "shipEscrowIndex";
                type: "u32";
            }, {
                docs: ["cargo hold seeds"];
                name: "cargoHoldSeeds";
                type: {
                    array: ["u8", 32];
                };
            }, {
                docs: ["fuel tank seeds"];
                name: "fuelTankSeeds";
                type: {
                    array: ["u8", 32];
                };
            }, {
                docs: ["ammo bank seeds"];
                name: "ammoBankSeeds";
                type: {
                    array: ["u8", 32];
                };
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to `DepositCargoToFleet`"];
        name: "DepositCargoToFleetInput";
        type: {
            fields: [{
                docs: ["cargo amount"];
                name: "amount";
                type: "u64";
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input that has `key_index`"];
        name: "DeregisterSurveyDataUnitTrackerInput";
        type: {
            fields: [{
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for that has `key_index`"];
        name: "DisbandFleetInput";
        type: {
            fields: [{
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for that has `key_index`"];
        name: "DisbandedFleetToEscrowInput";
        type: {
            fields: [{
                docs: ["Number of ships to add to the fleet"];
                name: "shipAmount";
                type: "u16";
            }, {
                docs: ["Index of `WrappedShipEscrow` in remaining data of `StarbasePlayer`"];
                name: "shipEscrowIndex";
                type: {
                    option: "u32";
                };
            }, {
                docs: ["Index of `FleetShipsInfo` in remaining data of `FleetShips`"];
                name: "fleetShipInfoIndex";
                type: "u32";
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["`Starbase` levels discriminated by faction"];
        name: "FactionsStarbaseLevelInfo";
        type: {
            fields: [{
                docs: ["Mud Starbase Levels Info"];
                name: "mud";
                type: {
                    array: [{
                        defined: "StarbaseLevelInfo";
                    }, 7];
                };
            }, {
                docs: ["Oni Starbase Levels Info"];
                name: "oni";
                type: {
                    array: [{
                        defined: "StarbaseLevelInfo";
                    }, 7];
                };
            }, {
                docs: ["Ustur Starbase Levels Info"];
                name: "ustur";
                type: {
                    array: [{
                        defined: "StarbaseLevelInfo";
                    }, 7];
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Variables for the Fleet program"];
        name: "FleetInfo";
        type: {
            fields: [{
                docs: ["`Starbase` levels discriminated by faction"];
                name: "starbaseLevels";
                type: {
                    defined: "FactionsStarbaseLevelInfo";
                };
            }, {
                docs: ["The fleets account registered as a modifier for LP in the Points program"];
                name: "fleetsLpModifier";
                type: {
                    defined: "FleetsPointModifier";
                };
            }, {
                docs: ["The fleets account registered as a modifier for XP in the Points program"];
                name: "fleetsXpModifier";
                type: {
                    defined: "FleetsPointModifier";
                };
            }, {
                docs: ["Maximum `Fleet` size allowed"];
                name: "maxFleetSize";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update fleet settings"];
        name: "FleetInput";
        type: {
            fields: [{
                docs: ["`Starbase` Level Info array"];
                name: "starbaseLevelInfoArray";
                type: {
                    option: {
                        vec: {
                            defined: "StarbaseLevelInfoArrayInput";
                        };
                    };
                };
            }, {
                docs: ["Maximum `Fleet` size allowed"];
                name: "maxFleetSize";
                type: {
                    option: "u32";
                };
            }, {
                docs: ["The bump for the `FleetsLPModifier` account"];
                name: "fleetsLpModifierBump";
                type: {
                    option: "u8";
                };
            }, {
                docs: ["The bump for the `FleetsXPModifier` account"];
                name: "fleetsXpModifierBump";
                type: {
                    option: "u8";
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct that represents info on a single ship type in a fleet"];
        name: "FleetShipsInfo";
        type: {
            fields: [{
                docs: ["The `Ship` account address"];
                name: "ship";
                type: "publicKey";
            }, {
                docs: ["The `Ship` token amount in escrow"];
                name: "amount";
                type: "u64";
            }, {
                docs: ["The update id for the `Ship`"];
                name: "updateId";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["The upgrade start state for a fleet"];
        name: "FleetStarbaseUpgradeState";
        type: {
            kind: "enum";
            variants: [{
                name: "NotFullyFilled";
            }, {
                name: "Started";
            }, {
                name: "Burning";
            }];
        };
    }, {
        docs: ["The fleets account registered as a modifier in the Points program"];
        name: "FleetsPointModifier";
        type: {
            fields: [{
                docs: ["`FleetsPointModifier` Pubkey"];
                name: "pubkey";
                type: "publicKey";
            }, {
                docs: ["`FleetsPointModifier` bump"];
                name: "bump";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for that has `key_index`"];
        name: "ForcedDisbandFleetInput";
        type: {
            fields: [{
                docs: ["Index of `FleetShipsInfo` in remaining data of `FleetShips`"];
                name: "fleetShipInfoIndex";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["The data for the [`FleetStateData::Idle`](crate::state_machine::FleetStateData::Idle) state"];
        name: "Idle";
        type: {
            fields: [{
                docs: ["The star system the fleet is in"];
                name: "sector";
                type: {
                    array: ["i64", 2];
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to initialize an `IdleToRespawn` Ix"];
        name: "IdleToRespawnInput";
        type: {
            fields: [{
                docs: ["index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to `InitGameState`"];
        name: "InitGameStateInput";
        type: {
            fields: [{
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input that has `key_index`"];
        name: "KeyIndexInput";
        type: {
            fields: [{
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Global levers"];
        name: "Levers";
        type: {
            fields: [{
                docs: ["global lever that scales the quantity of resources. Units are 10000ths. Valid output values > 0."];
                name: "l0ResourcesScalarMultiplication";
                type: "u64";
            }, {
                docs: ["global lever which impacts the distribution of effective emissions. Units are 10000ths. Valid output values >= 0."];
                name: "l1EmissionsMainBreaker";
                type: "u64";
            }, {
                docs: ["global lever which impacts the effect that system richness has on resource emissions. Units are 10000ths. Valid output values > 0."];
                name: "l2SystemRichnessEmissions";
                type: "u64";
            }, {
                docs: ["global lever which impacts the effect that ship size has on resource emissions. Units are 10000ths. Valid output values > 0."];
                name: "l3ShipSizeWeight";
                type: "u64";
            }, {
                docs: ["global lever which impacts the effect that resource hardness has on resource emissions. Units are 10000ths. Valid output values > 0."];
                name: "l4ResourceHardness";
                type: "u64";
            }, {
                docs: ["Module wide lever that directly impacts the nominal cost of warping. Units are 10000ths. Valid output values > 1."];
                name: "l5FuelWarpBreaker";
                type: "u64";
            }, {
                docs: ["Module wide lever that directly impacts the nominal cost of planet exit. Units are 10000ths. Valid output values > 1."];
                name: "l6FuelPlanetBreaker";
                type: "u64";
            }, {
                docs: ["Module wide lever that impacts refinement from R20 (hydrogen) to R4 (fuel). Units are 10000ths. Valid output values > 1."];
                name: "l7FuelRefinementEfficiency";
                type: "u64";
            }, {
                docs: ["Module wide lever that directly impacts the nominal cost of mining. Units are 10000ths. Valid output values between 0 and 1."];
                name: "l8MiningFoodBreaker";
                type: "u64";
            }, {
                docs: ["Module wide lever that impacts refinement from R20 (organics) to R4 (food). Units are 10000ths. Valid output values > 0."];
                name: "l10FoodRefinementEfficiency";
                type: "u64";
            }, {
                docs: ["Module specific lever that scales the quantity of organics in the economy."];
                name: "l11OrganicsScalarMultiplication";
                type: "u64";
            }, {
                docs: ["Module wide lever that directly impacts the nominal cost of combat. Units are 10000ths. Valid output values > 0."];
                name: "l16FuelCombatBreaker";
                type: "u64";
            }, {
                docs: ["Module wide lever that directly impacts the nominal cost of subwarp mvmt. Units are 10000ths. Valid output values > 0."];
                name: "l21FuelSubwarpBreaker";
                type: "u64";
            }, {
                docs: ["Set of derived sub-levers used in `calculate_base_emissions()`.", "Math formula: `l1_emissions_main_breaker.powf(l3_ship_size_weight * ship_size)`"];
                name: "baseEmissionsBySizeUtil";
                type: {
                    defined: "BaseEmissionsBySizeUtil";
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update levers"];
        name: "LeversInput";
        type: {
            fields: [{
                docs: ["global lever that scales the quantity of resources."];
                name: "l0ResourcesScalarMultiplication";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["global lever which impacts the distribution of effective emissions."];
                name: "l1EmissionsMainBreaker";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["global lever which impacts the effect that system richness has on resource emissions."];
                name: "l2SystemRichnessEmissions";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["global lever which impacts the effect that ship size has on resource emissions."];
                name: "l3ShipSizeWeight";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["global lever which impacts the effect that resource hardness has on resource emissions."];
                name: "l4ResourceHardness";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["Module wide lever that directly impacts the nominal cost of warping"];
                name: "l5FuelWarpBreaker";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["Module wide lever that directly impacts the nominal cost of planet exit"];
                name: "l6FuelPlanetBreaker";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["Module wide lever that impacts refinement from R20 (hydrogen) to R4 (fuel)"];
                name: "l7FuelRefinementEfficiency";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["Module wide lever that directly impacts the nominal cost of mining. (Value between 0 and 1)"];
                name: "l8MiningFoodBreaker";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["Module wide lever that impacts refinement from R20 (organics) to R4 (food)"];
                name: "l10FoodRefinementEfficiency";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["Module specific lever that scales the quantity of organics in the economy."];
                name: "l11OrganicsScalarMultiplication";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["Module wide lever that directly impacts the nominal cost of combat. Units are 10000ths. Valid output values > 0."];
                name: "l16FuelCombatBreaker";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["Module wide lever that directly impacts the nominal cost of subwarp mvmt. Units are 10000ths. Valid output values > 0."];
                name: "l21FuelSubwarpBreaker";
                type: {
                    option: "u64";
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Represents different types of locations that a `Resource` might be found"];
        name: "LocationType";
        type: {
            kind: "enum";
            variants: [{
                name: "Planet";
            }];
        };
    }, {
        docs: ["Struct for data input to managing Game accounts"];
        name: "ManageGameInput";
        type: {
            fields: [{
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["The data for the [`FleetStateData::MineAsteroid`](crate::state_machine::FleetStateData::MineAsteroid) state"];
        name: "MineAsteroid";
        type: {
            fields: [{
                docs: ["The `Asteroid` the `Fleet` is mining (Must be an asteroid belt)"];
                name: "asteroid";
                type: "publicKey";
            }, {
                docs: ["The `Resource` being mined on the `Asteroid`"];
                name: "resource";
                type: "publicKey";
            }, {
                docs: ["The timestamp at which mining activity started"];
                name: "start";
                type: "i64";
            }, {
                docs: ["The timestamp at which mining activity stops"];
                name: "end";
                type: "i64";
            }, {
                docs: ["The last time the `Fleet` was updated"];
                name: "lastUpdate";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for `MineAsteroidToRespawnInput`"];
        name: "MineAsteroidToRespawnInput";
        type: {
            fields: [{
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Token mints"];
        name: "Mints";
        type: {
            fields: [{
                docs: ["ATLAS token mint"];
                name: "atlas";
                type: "publicKey";
            }, {
                docs: ["POLIS token mint"];
                name: "polis";
                type: "publicKey";
            }, {
                docs: ["ammunition"];
                name: "ammo";
                type: "publicKey";
            }, {
                docs: ["food"];
                name: "food";
                type: "publicKey";
            }, {
                docs: ["fuel"];
                name: "fuel";
                type: "publicKey";
            }, {
                docs: ["repair kit"];
                name: "repairKit";
                type: "publicKey";
            }];
            kind: "struct";
        };
    }, {
        docs: ["A ship's miscellaneous stats"];
        name: "MiscStats";
        type: {
            fields: [{
                docs: ["Number of crew in the ship"];
                name: "crew";
                type: "u64";
            }, {
                docs: ["the time it takes the ship to respawn"];
                name: "respawnTime";
                type: "u16";
            }, {
                docs: ["the time it takes the ship to be able to scan again after scanning"];
                name: "scanCoolDown";
                type: "u16";
            }, {
                docs: ["the amount of food required to do a scan"];
                name: "scanRepairKitAmount";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Unpacked version of [`MiscStats`]"];
        name: "MiscStatsUnpacked";
        type: {
            fields: [{
                docs: ["Number of crew in the ship"];
                name: "crew";
                type: "u64";
            }, {
                docs: ["the time it takes the ship to respawn"];
                name: "respawnTime";
                type: "u16";
            }, {
                docs: ["the time it takes the ship to be able to scan again after scanning"];
                name: "scanCoolDown";
                type: "u16";
            }, {
                docs: ["the amount of food required to do a scan"];
                name: "scanRepairKitAmount";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Miscellaneous game state variables"];
        name: "MiscVariables";
        type: {
            fields: [{
                docs: ["Percentage by which the \"warp lane\" movement type reduces warp fuel cost"];
                name: "warpLaneFuelCostReduction";
                type: "i32";
            }, {
                docs: ["Respawn fee; You cannot enter into the respawning state without paying this fee", "Since ATLAS has 8 decimal places, units are in the smallest value of ATLAS possible."];
                name: "respawnFee";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to update miscellaneous settings"];
        name: "MiscVariablesInput";
        type: {
            fields: [{
                docs: ["Percentage by which the \"warp lane\" movement type reduces warp fuel cost"];
                name: "warpLaneFuelCostReduction";
                type: {
                    option: "i32";
                };
            }, {
                docs: ["Respawn fee, charged in ATLAS"];
                name: "respawnFee";
                type: {
                    option: "u64";
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["The data for the [`FleetStateData::MoveSubwarp`] state"];
        name: "MoveSubwarp";
        type: {
            fields: [{
                docs: ["The sector the fleet is coming from"];
                name: "fromSector";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["The sector the fleet is going to"];
                name: "toSector";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["The sector the fleet is currently in"];
                name: "currentSector";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["When the fleet started subwarp"];
                name: "departureTime";
                type: "i64";
            }, {
                docs: ["When the fleet will finish subwarp"];
                name: "arrivalTime";
                type: "i64";
            }, {
                docs: ["The fuel cost of the subwarp"];
                name: "fuelExpenditure";
                type: "u64";
            }, {
                docs: ["The last update time"];
                name: "lastUpdate";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["The data for the [`FleetStateData::MoveWarp`] state"];
        name: "MoveWarp";
        type: {
            fields: [{
                docs: ["The star system the fleet is coming from"];
                name: "fromSector";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["The star system the fleet is going to"];
                name: "toSector";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["When the fleet started warping"];
                name: "warpStart";
                type: "i64";
            }, {
                docs: ["When the warp will end"];
                name: "warpFinish";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["A ship's movement stats"];
        name: "MovementStats";
        type: {
            fields: [{
                docs: ["the amount of distance that the ship can cover in one second while sub-warping"];
                name: "subwarpSpeed";
                type: "u32";
            }, {
                docs: ["the amount of distance that the ship can cover in one second while warping"];
                name: "warpSpeed";
                type: "u32";
            }, {
                docs: ["the max distance that the ship can warp"];
                name: "maxWarpDistance";
                type: "u16";
            }, {
                docs: ["the time it takes the ship to be able to warp again after a warp"];
                name: "warpCoolDown";
                type: "u16";
            }, {
                docs: ["the amount of fuel consumed by the ship when sub-warp moving"];
                name: "subwarpFuelConsumptionRate";
                type: "u32";
            }, {
                docs: ["the amount of fuel consumed by the ship when warp moving"];
                name: "warpFuelConsumptionRate";
                type: "u32";
            }, {
                docs: ["the amount of fuel required to exit a planet"];
                name: "planetExitFuelAmount";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Unpacked version of [`MovementStats`]"];
        name: "MovementStatsUnpacked";
        type: {
            fields: [{
                docs: ["the amount of distance that the ship can cover in one second while sub-warping"];
                name: "subwarpSpeed";
                type: "u32";
            }, {
                docs: ["the amount of distance that the ship can cover in one second while warping"];
                name: "warpSpeed";
                type: "u32";
            }, {
                docs: ["the max distance that the ship can warp"];
                name: "maxWarpDistance";
                type: "u16";
            }, {
                docs: ["the time it takes the ship to be able to warp again after a warp"];
                name: "warpCoolDown";
                type: "u16";
            }, {
                docs: ["the amount of fuel consumed by the ship when sub-warp moving"];
                name: "subwarpFuelConsumptionRate";
                type: "u32";
            }, {
                docs: ["the amount of fuel consumed by the ship when warp moving"];
                name: "warpFuelConsumptionRate";
                type: "u32";
            }, {
                docs: ["the amount of fuel required to exit a planet"];
                name: "planetExitFuelAmount";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["A pubkey sized option that is none if set to the system program."];
        name: "OptionalNonSystemPubkey";
        type: {
            fields: [{
                name: "key";
                type: "publicKey";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Represents different types a `Planet` could be"];
        name: "PlanetType";
        type: {
            kind: "enum";
            variants: [{
                name: "Terrestrial";
            }, {
                name: "Volcanic";
            }, {
                name: "Barren";
            }, {
                name: "AsteroidBelt";
            }, {
                name: "GasGiant";
            }, {
                name: "IceGiant";
            }, {
                name: "Dark";
            }];
        };
    }, {
        docs: ["Variables for the Points program"];
        name: "Points";
        type: {
            fields: [{
                docs: ["Represents the points category to use for XP (experience points)"];
                name: "xpPointsCategory";
                type: "publicKey";
            }, {
                docs: ["Represents the points category to use for LP (loyalty points)"];
                name: "lpPointsCategory";
                type: "publicKey";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to register a points modifier for fleets program"];
        name: "RegisterFleetsPointsModifierInput";
        type: {
            fields: [{
                docs: ["The modifier can increment points"];
                name: "canIncrement";
                type: "bool";
            }, {
                docs: ["The modifier can decrement points"];
                name: "canDecrement";
                type: "bool";
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }, {
                docs: ["The points category of the modifier (XP/LP)"];
                name: "pointsCategory";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Register a Resource"];
        name: "RegisterMineItemInput";
        type: {
            fields: [{
                docs: ["The name of the `MineItem`"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["How hard it is to mine this item"];
                name: "resourceHardness";
                type: "u16";
            }, {
                docs: ["the index of the key in the fleet permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Register Planet"];
        name: "RegisterPlanetInput";
        type: {
            fields: [{
                docs: ["`Planet` name"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["`Planet` size"];
                name: "size";
                type: "u64";
            }, {
                docs: ["`Planet` max health"];
                name: "maxHp";
                type: "u64";
            }, {
                docs: ["`Planet` sub_coordinates"];
                name: "subCoordinates";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["`Planet` type"];
                name: "planetType";
                type: "u8";
            }, {
                docs: ["`Planet` position"];
                name: "position";
                type: "u8";
            }, {
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Register a Resource"];
        name: "RegisterResourceInput";
        type: {
            fields: [{
                docs: ["`Resource` location type"];
                name: "locationType";
                type: "u8";
            }, {
                docs: ["`Resource` `system_richness`"];
                name: "systemRichness";
                type: "u16";
            }, {
                docs: ["the index of the key in the fleet permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Register Ship"];
        name: "RegisterShipInput";
        type: {
            fields: [{
                docs: ["The `Ship` name/label"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["the ship's size class"];
                name: "sizeClass";
                type: {
                    defined: "SizeClass";
                };
            }, {
                docs: ["The stats for the ship"];
                name: "stats";
                type: {
                    defined: "ShipStatsUnpacked";
                };
            }, {
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }, {
                docs: ["Whether the ship is initialized to active (`update_id == current_update_id`)"];
                name: "isActive";
                type: "bool";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Register Star"];
        name: "RegisterStarInput";
        type: {
            fields: [{
                docs: ["`Star` name"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["`Star` size"];
                name: "size";
                type: "u64";
            }, {
                docs: ["`Star` sub_coordinates"];
                name: "subCoordinates";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["`Star` type"];
                name: "starType";
                type: "u8";
            }, {
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Register `Starbase`"];
        name: "RegisterStarbaseInput";
        type: {
            fields: [{
                docs: ["`Starbase` name"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["`Starbase` coordinates"];
                name: "subCoordinates";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["The index representing the level of the `Starbase` in the game variables."];
                name: "starbaseLevelIndex";
                type: "u8";
            }, {
                docs: ["The `Starbase` faction"];
                name: "faction";
                type: "u8";
            }, {
                docs: ["the index of the key in the fleet permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Unpacked version of [`RegisterStarbaseInput`]"];
        name: "RegisterStarbaseInputUnpacked";
        type: {
            fields: [{
                docs: ["`Starbase` name"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["`Starbase` coordinates"];
                name: "subCoordinates";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["The index representing the level of the `Starbase` in the game variables."];
                name: "starbaseLevelIndex";
                type: "u8";
            }, {
                docs: ["The `Starbase` faction"];
                name: "faction";
                type: "u8";
            }, {
                docs: ["the index of the key in the fleet permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Register SurveyDataUnitTracker"];
        name: "RegisterSurveyDataUnitTrackerInput";
        type: {
            fields: [{
                docs: ["The global limit on how many SDUs can be found in a `MAX_SECONDS` second period"];
                name: "limit";
                type: "u32";
            }, {
                docs: ["The amount of time that must go by before someone can scan a sector again"];
                name: "scanCooldown";
                type: "u16";
            }, {
                docs: ["The chance that a player gets an SDU on a legitimate scan, this is meant to be a percentage"];
                name: "probability";
                type: "u16";
            }, {
                docs: ["The max number of SDUs that can be found while scanning"];
                name: "max";
                type: "u16";
            }, {
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for `RemoveShipEscrow`"];
        name: "RemoveShipEscrowInput";
        type: {
            fields: [{
                docs: ["Amount of `Ship` tokens to transfer from escrow"];
                name: "shipAmount";
                type: "u64";
            }, {
                docs: ["the index of the `ProfileKey` in `Profile` with required permissions"];
                name: "permissionKeyIndex";
                type: "u16";
            }, {
                docs: ["Index of `WrappedShipEscrow` in remaining data of `StarbasePlayer`"];
                name: "shipEscrowIndex";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["The data for the [`FleetStateData::Respawn`](crate::state_machine::FleetStateData::Respawn) state"];
        name: "Respawn";
        type: {
            fields: [{
                docs: ["The star system the fleet was in when it entered the `Respawn` state"];
                name: "sector";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["The time `Respawn` started"];
                name: "start";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to `RespawnToLoadingBay`"];
        name: "RespawnToLoadingBayInput";
        type: {
            fields: [{
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["`RiskZone` center and radius"];
        name: "RiskZoneData";
        type: {
            fields: [{
                docs: ["Risk zone center"];
                name: "center";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["Risk zone radius"];
                name: "radius";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Unpacked version of [`RiskZoneData`]"];
        name: "RiskZoneDataUnpacked";
        type: {
            fields: [{
                docs: ["Risk zone center"];
                name: "center";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["Risk zone radius"];
                name: "radius";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["[`RiskZoneData`] for [`RiskZones`]"];
        name: "RiskZonesData";
        type: {
            fields: [{
                docs: ["Mud security zone"];
                name: "mudSecurityZone";
                type: {
                    defined: "RiskZoneData";
                };
            }, {
                docs: ["Oni security zone"];
                name: "oniSecurityZone";
                type: {
                    defined: "RiskZoneData";
                };
            }, {
                docs: ["Ustur security zone"];
                name: "usturSecurityZone";
                type: {
                    defined: "RiskZoneData";
                };
            }, {
                docs: ["High risk zone"];
                name: "highRiskZone";
                type: {
                    defined: "RiskZoneData";
                };
            }, {
                docs: ["Medium risk zone"];
                name: "mediumRiskZone";
                type: {
                    defined: "RiskZoneData";
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Unpacked version of [`RiskZonesData`]"];
        name: "RiskZonesDataUnpacked";
        type: {
            fields: [{
                docs: ["Mud security zone"];
                name: "mudSecurityZone";
                type: {
                    defined: "RiskZoneData";
                };
            }, {
                docs: ["Oni security zone"];
                name: "oniSecurityZone";
                type: {
                    defined: "RiskZoneData";
                };
            }, {
                docs: ["Ustur security zone"];
                name: "usturSecurityZone";
                type: {
                    defined: "RiskZoneData";
                };
            }, {
                docs: ["High risk zone"];
                name: "highRiskZone";
                type: {
                    defined: "RiskZoneData";
                };
            }, {
                docs: ["Medium risk zone"];
                name: "mediumRiskZone";
                type: {
                    defined: "RiskZoneData";
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Scan For Survey Data Units"];
        name: "ScanForSurveyDataUnitsInput";
        type: {
            fields: [{
                docs: ["The index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Connection between sectors"];
        name: "SectorConnection";
        type: {
            fields: [{
                docs: ["The sector connected to"];
                name: "connectionSector";
                type: "publicKey";
            }, {
                docs: ["The location of the connection"];
                name: "subCoordinates";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["Connection flags"];
                name: "flags";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Represents the orbital position of a `Planet` in the `Sector`"];
        name: "SectorRing";
        type: {
            kind: "enum";
            variants: [{
                name: "Inner";
            }, {
                name: "Mid";
            }, {
                name: "Outer";
            }];
        };
    }, {
        docs: ["Ship counts for a fleet."];
        name: "ShipCounts";
        type: {
            fields: [{
                docs: ["The total number of ships in the fleet."];
                name: "total";
                type: "u32";
            }, {
                docs: ["Used when updating a fleet.", "Value is 0 when fleet update is in progress"];
                name: "updated";
                type: "u32";
            }, {
                docs: ["The number of xx small ships in the fleet."];
                name: "xxSmall";
                type: "u16";
            }, {
                docs: ["The number of x small ships in the fleet."];
                name: "xSmall";
                type: "u16";
            }, {
                docs: ["The number of small ships in the fleet."];
                name: "small";
                type: "u16";
            }, {
                docs: ["The number of medium ships in the fleet."];
                name: "medium";
                type: "u16";
            }, {
                docs: ["The number of large ships in the fleet."];
                name: "large";
                type: "u16";
            }, {
                docs: ["The number of capital ships in the fleet."];
                name: "capital";
                type: "u16";
            }, {
                docs: ["The number of commander ships in the fleet."];
                name: "commander";
                type: "u16";
            }, {
                docs: ["The number of titan ships in the fleet."];
                name: "titan";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Unpacked version of [`ShipCounts`]"];
        name: "ShipCountsUnpacked";
        type: {
            fields: [{
                docs: ["The total number of ships in the fleet."];
                name: "total";
                type: "u32";
            }, {
                docs: ["Used when updating a fleet.", "Value is 0 when fleet update is in progress"];
                name: "updated";
                type: "u32";
            }, {
                docs: ["The number of xx small ships in the fleet."];
                name: "xxSmall";
                type: "u16";
            }, {
                docs: ["The number of x small ships in the fleet."];
                name: "xSmall";
                type: "u16";
            }, {
                docs: ["The number of small ships in the fleet."];
                name: "small";
                type: "u16";
            }, {
                docs: ["The number of medium ships in the fleet."];
                name: "medium";
                type: "u16";
            }, {
                docs: ["The number of large ships in the fleet."];
                name: "large";
                type: "u16";
            }, {
                docs: ["The number of capital ships in the fleet."];
                name: "capital";
                type: "u16";
            }, {
                docs: ["The number of commander ships in the fleet."];
                name: "commander";
                type: "u16";
            }, {
                docs: ["The number of titan ships in the fleet."];
                name: "titan";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Ship sizes."];
        name: "ShipSizes";
        type: {
            fields: [{
                docs: ["The size of xx small ships"];
                name: "xxSmall";
                type: "u8";
            }, {
                docs: ["The size of x small ships"];
                name: "xSmall";
                type: "u8";
            }, {
                docs: ["The size of small ships"];
                name: "small";
                type: "u8";
            }, {
                docs: ["The size of medium ships"];
                name: "medium";
                type: "u8";
            }, {
                docs: ["The size of large ships"];
                name: "large";
                type: "u8";
            }, {
                docs: ["The size of capital ships"];
                name: "capital";
                type: "u8";
            }, {
                docs: ["The size of commander ships"];
                name: "commander";
                type: "u8";
            }, {
                docs: ["The size of titan ships"];
                name: "titan";
                type: "u8";
            }];
            kind: "struct";
        };
    }, {
        docs: ["A ship's stats"];
        name: "ShipStats";
        type: {
            fields: [{
                docs: ["Movement stats for the ship"];
                name: "movementStats";
                type: {
                    defined: "MovementStats";
                };
            }, {
                docs: ["Cargo stats for the ship"];
                name: "cargoStats";
                type: {
                    defined: "CargoStats";
                };
            }, {
                docs: ["Miscellaneous stats for the ship"];
                name: "miscStats";
                type: {
                    defined: "MiscStats";
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Unpacked version of [`ShipStats`]"];
        name: "ShipStatsUnpacked";
        type: {
            fields: [{
                docs: ["Movement stats for the ship"];
                name: "movementStats";
                type: {
                    defined: "MovementStats";
                };
            }, {
                docs: ["Cargo stats for the ship"];
                name: "cargoStats";
                type: {
                    defined: "CargoStats";
                };
            }, {
                docs: ["Miscellaneous stats for the ship"];
                name: "miscStats";
                type: {
                    defined: "MiscStats";
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Represents different types of Ships"];
        name: "SizeClass";
        type: {
            kind: "enum";
            variants: [{
                name: "XxSmall";
            }, {
                name: "XSmall";
            }, {
                name: "Small";
            }, {
                name: "Medium";
            }, {
                name: "Large";
            }, {
                name: "Capital";
            }, {
                name: "Commander";
            }, {
                name: "Titan";
            }];
        };
    }, {
        docs: ["Represents different types of Stars"];
        name: "StarType";
        type: {
            kind: "enum";
            variants: [{
                name: "WhiteDwarf";
            }, {
                name: "RedDwarf";
            }, {
                name: "Solar";
            }, {
                name: "HotBlue";
            }, {
                name: "RedGiant";
            }];
        };
    }, {
        docs: ["Struct for data input to cancel a `CraftingProcess`"];
        name: "StarbaseCancelCraftingProcessInput";
        type: {
            fields: [{
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Claim Crafting Process Non-consumable inputs"];
        name: "StarbaseClaimCraftingNonConsumablesInput";
        type: {
            fields: [{
                docs: ["the index of the recipe output"];
                name: "ingredientIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to close a `CraftingProcess`"];
        name: "StarbaseClaimCraftingOutputInput";
        type: {
            fields: [{
                docs: ["the index of the recipe output"];
                name: "ingredientIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to close a `CraftingProcess`"];
        name: "StarbaseCloseCraftingProcessInput";
        type: {
            fields: [{
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to `StarbaseCreateCargoPod`"];
        name: "StarbaseCreateCargoPodInput";
        type: {
            fields: [{
                docs: ["cargo pod seeds"];
                name: "podSeeds";
                type: {
                    array: ["u8", 32];
                };
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to create a `CraftingProcess`"];
        name: "StarbaseCreateCraftingProcessInput";
        type: {
            fields: [{
                docs: ["crafting id"];
                name: "craftingId";
                type: "u64";
            }, {
                docs: ["the index of the recipe's category"];
                name: "recipeCategoryIndex";
                type: "u16";
            }, {
                docs: ["quantity of outputs to craft"];
                name: "quantity";
                type: "u64";
            }, {
                docs: ["number of crew members to use for this crafting process"];
                name: "numCrew";
                type: "u64";
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to deposit an ingredient"];
        name: "StarbaseDepositCraftingIngredientInput";
        type: {
            fields: [{
                docs: ["the amount of ingredient to deposit"];
                name: "amount";
                type: "u64";
            }, {
                docs: ["the index of the recipe ingredient"];
                name: "ingredientIndex";
                type: "u16";
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Information associated with `Starbase` levels"];
        name: "StarbaseLevelInfo";
        type: {
            fields: [{
                docs: ["The crafting recipe required to upgrade a `Starbase` to this level"];
                name: "recipeForUpgrade";
                type: "publicKey";
            }, {
                docs: ["The crafting recipe category enabled for crafting at a `Starbase` of this level."];
                name: "recipeCategoryForLevel";
                type: "publicKey";
            }, {
                docs: ["The `Starbase` health points for this level."];
                name: "hp";
                type: "u64";
            }, {
                docs: ["The `Starbase` shield points for this level."];
                name: "sp";
                type: "u64";
            }, {
                docs: ["The planet position `Ring` available for this level"];
                name: "sectorRingAvailable";
                type: "u8";
            }, {
                docs: ["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."];
                name: "warpLaneMovementFee";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update Starbase Level Settings"];
        name: "StarbaseLevelInfoArrayInput";
        type: {
            fields: [{
                docs: ["The level of the `Starbase`."];
                name: "level";
                type: "u8";
            }, {
                docs: ["The `Starbase` faction."];
                name: "faction";
                type: "u8";
            }, {
                docs: ["The `Starbase` health points for this level."];
                name: "hp";
                type: "u64";
            }, {
                docs: ["The `Starbase` shield points for this level."];
                name: "sp";
                type: "u64";
            }, {
                docs: ["The planet position `Ring` available for this level"];
                name: "sectorRingAvailable";
                type: {
                    defined: "SectorRing";
                };
            }, {
                docs: ["Fee charged for the \"warp lane\" movement type which is meant to be charged in ATLAS"];
                name: "warpLaneMovementFee";
                type: "u64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["The data for the [`FleetStateData::StarbaseLoadingBay`] state"];
        name: "StarbaseLoadingBay";
        type: {
            fields: [{
                docs: ["The `Starbase` is in the loading bay of"];
                name: "starbase";
                type: "publicKey";
            }, {
                docs: ["The last time this fleet was updated"];
                name: "lastUpdate";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to `StarbaseRemoveCargoPod`"];
        name: "StarbaseRemoveCargoPodInput";
        type: {
            fields: [{
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to start a crafting process"];
        name: "StarbaseStartCraftingProcessInput";
        type: {
            fields: [{
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["The state of a `Starbase`."];
        name: "StarbaseState";
        type: {
            kind: "enum";
            variants: [{
                name: "Active";
            }, {
                name: "Destroyed";
            }];
        };
    }, {
        docs: ["Struct for data input to `DepositCargoToGame`"];
        name: "StarbaseTransferCargoInput";
        type: {
            fields: [{
                docs: ["cargo amount"];
                name: "amount";
                type: "u64";
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["The data for the `StarbaseUpgrade` state"];
        name: "StarbaseUpgrade";
        type: {
            fields: [{
                docs: ["The `Starbase` being upgraded"];
                name: "starbase";
                type: "publicKey";
            }, {
                docs: ["[`FleetStarbaseUpgradeState`]"];
                name: "upgradeState";
                type: "u8";
            }, {
                docs: ["When the fleet started participation in the `Starbase` upgrade."];
                name: "startUpgrade";
                type: "i64";
            }, {
                docs: ["When the fleet completes participation in the `Starbase` upgrade. This is a \"potential\" end time, constrained by max resources or user decision.", "If `upgrade_state` is set to `NotFullyFilled`, this is set to the max duration in upgrading state with the partial ingredients deposited."];
                name: "endUpgrade";
                type: "i64";
            }, {
                docs: ["used to check if expected inputs have been supplied"];
                name: "checksum";
                type: {
                    array: ["u8", 16];
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["The upgrade state for one SB lvl"];
        name: "StarbaseUpgradeLevelState";
        type: {
            kind: "enum";
            variants: [{
                name: "NotStarted";
            }, {
                name: "Started";
            }, {
                fields: [{
                    docs: ["Timestamp of the upgrade completion"];
                    name: "timestamp";
                    type: "i64";
                }];
                name: "Finished";
            }];
        };
    }, {
        docs: ["`Starbase` upgrade task item"];
        name: "StarbaseUpgradeTask";
        type: {
            fields: [{
                docs: ["The `Fleet` Pubkey"];
                name: "fleet";
                type: "publicKey";
            }, {
                docs: ["The timestamp at which the fleet completes its contribution to the upgrade"];
                name: "completionTime";
                type: "i64";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to withdraw an ingredient"];
        name: "StarbaseWithdrawCraftingIngredientInput";
        type: {
            fields: [{
                docs: ["the amount of ingredient to withdraw"];
                name: "amount";
                type: "u64";
            }, {
                docs: ["the index of the recipe ingredient"];
                name: "ingredientIndex";
                type: "u16";
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for `StartMiningAsteroid`"];
        name: "StartMiningAsteroidInput";
        type: {
            fields: [{
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to initialize an `SubwarpMovement`"];
        name: "StartSubwarpInput";
        type: {
            fields: [{
                docs: ["The destination coordinates"];
                name: "toSector";
                type: {
                    array: ["i64", 2];
                };
            }, {
                docs: ["The index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for `StopMiningAsteroidInput`"];
        name: "StopMiningAsteroidInput";
        type: {
            fields: [{
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to stop an `SubwarpMovement`"];
        name: "StopSubwarpInput";
        type: {
            fields: [{
                docs: ["The index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to `TransferCargoWithinFleet`"];
        name: "TransferCargoWithinFleetInput";
        type: {
            fields: [{
                docs: ["cargo amount"];
                name: "amount";
                type: "u64";
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update instruction"];
        name: "UpdateGameInput";
        type: {
            fields: [{
                docs: ["Cargo settings"];
                name: "cargo";
                type: "u8";
            }, {
                docs: ["Crafting settings"];
                name: "crafting";
                type: "u8";
            }, {
                docs: ["Mints"];
                name: "mints";
                type: "u8";
            }, {
                docs: ["Vaults"];
                name: "vaults";
                type: "u8";
            }, {
                docs: ["Points settings"];
                name: "points";
                type: "u8";
            }, {
                docs: ["Data for risk zones"];
                name: "riskZones";
                type: {
                    option: {
                        defined: "RiskZonesDataUnpacked";
                    };
                };
            }, {
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update instruction"];
        name: "UpdateGameStateInput";
        type: {
            fields: [{
                docs: ["Fleet settings"];
                name: "fleet";
                type: {
                    option: {
                        defined: "FleetInput";
                    };
                };
            }, {
                docs: ["Levers"];
                name: "levers";
                type: {
                    option: {
                        defined: "LeversInput";
                    };
                };
            }, {
                docs: ["Set of derived sub-levers used in `calculate_base_emissions()`."];
                name: "baseEmissionsBySizeUtil";
                type: {
                    option: {
                        defined: "BaseEmissionsBySizeUtilInput";
                    };
                };
            }, {
                docs: ["Miscellaneous settings"];
                name: "misc";
                type: {
                    option: {
                        defined: "MiscVariablesInput";
                    };
                };
            }, {
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Register a Resource"];
        name: "UpdateMineItemInput";
        type: {
            fields: [{
                docs: ["The name of the `MineItem`"];
                name: "name";
                type: {
                    option: {
                        array: ["u8", 64];
                    };
                };
            }, {
                docs: ["How hard it is to mine this item"];
                name: "resourceHardness";
                type: {
                    option: "u16";
                };
            }, {
                docs: ["the index of the key in the fleet permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update Planet"];
        name: "UpdatePlanetInput";
        type: {
            fields: [{
                docs: ["`Planet` name"];
                name: "name";
                type: {
                    option: {
                        array: ["u8", 64];
                    };
                };
            }, {
                docs: ["`Planet` size"];
                name: "size";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["`Planet` max_hp"];
                name: "maxHp";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update Resource"];
        name: "UpdateResourceInput";
        type: {
            fields: [{
                docs: ["`Resource` richness"];
                name: "systemRichness";
                type: {
                    option: "u16";
                };
            }, {
                docs: ["the index of the key in the fleet permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for `UpdateShipEscrow`"];
        name: "UpdateShipEscrowInput";
        type: {
            fields: [{
                docs: ["Index of `WrappedShipEscrow` in remaining data of `StarbasePlayer`"];
                name: "shipEscrowIndex";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input for that has `key_index`"];
        name: "UpdateShipFleetInput";
        type: {
            fields: [{
                docs: ["Number of ships to add to the fleet"];
                name: "shipAmount";
                type: "u16";
            }, {
                docs: ["Index of `FleetShipsInfo` in remaining data of `FleetShips`"];
                name: "fleetShipInfoIndex";
                type: "u32";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update Ship"];
        name: "UpdateShipInput";
        type: {
            fields: [{
                docs: ["The `Ship` name/label"];
                name: "name";
                type: {
                    array: ["u8", 64];
                };
            }, {
                docs: ["the ship's size class"];
                name: "sizeClass";
                type: {
                    defined: "SizeClass";
                };
            }, {
                docs: ["The stats for the ship"];
                name: "stats";
                type: {
                    defined: "ShipStatsUnpacked";
                };
            }, {
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update Star"];
        name: "UpdateStarInput";
        type: {
            fields: [{
                docs: ["`Star` name"];
                name: "name";
                type: {
                    option: {
                        array: ["u8", 64];
                    };
                };
            }, {
                docs: ["`Star` size"];
                name: "size";
                type: {
                    option: "u64";
                };
            }, {
                docs: ["`Star` type"];
                name: "starType";
                type: {
                    option: "u8";
                };
            }, {
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update `Starbase`"];
        name: "UpdateStarbaseInput";
        type: {
            fields: [{
                docs: ["`Starbase` name"];
                name: "name";
                type: {
                    option: {
                        array: ["u8", 64];
                    };
                };
            }, {
                docs: ["`Starbase` coordinates"];
                name: "subCoordinates";
                type: {
                    option: {
                        array: ["i64", 2];
                    };
                };
            }, {
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to Update SurveyDataUnitTracker"];
        name: "UpdateSurveyDataUnitTrackerInput";
        type: {
            fields: [{
                docs: ["The global limit on how many SDUs can be found in a `MAX_SECONDS` second period"];
                name: "limit";
                type: {
                    option: "u32";
                };
            }, {
                docs: ["The amount of time that must go by before someone can scan a sector again"];
                name: "scanCooldown";
                type: {
                    option: "u16";
                };
            }, {
                docs: ["The chance that a player gets an SDU on a legitimate scan, this is meant to be a percentage"];
                name: "probability";
                type: {
                    option: "u16";
                };
            }, {
                docs: ["The max number of SDUs that can be found while scanning"];
                name: "max";
                type: {
                    option: "u16";
                };
            }, {
                docs: ["the index of the key in the sector permissions profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Token vaults"];
        name: "Vaults";
        type: {
            fields: [{
                docs: ["ATLAS token mint"];
                name: "atlas";
                type: "publicKey";
            }, {
                docs: ["POLIS token mint"];
                name: "polis";
                type: "publicKey";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to initialize a `WarpLane`"];
        name: "WarpLaneInput";
        type: {
            fields: [{
                docs: ["The index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }, {
                docs: ["Index of the to_sector in `SectorConnections` of the from_sector"];
                name: "toSectorIndex";
                type: "u16";
            }, {
                docs: ["Index of the from_sector in `SectorConnections` of the to_sector"];
                name: "fromSectorIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to initialize a `WarpToCoordinate`"];
        name: "WarpToCoordinateInput";
        type: {
            fields: [{
                docs: ["The index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }, {
                docs: ["The destination coordinates"];
                name: "toSector";
                type: {
                    array: ["i64", 2];
                };
            }];
            kind: "struct";
        };
    }, {
        docs: ["Struct for data input to `WithdrawCargoFromFleet`"];
        name: "WithdrawCargoFromFleetInput";
        type: {
            fields: [{
                docs: ["cargo amount"];
                name: "amount";
                type: "u64";
            }, {
                docs: ["the index of the key in the player profile"];
                name: "keyIndex";
                type: "u16";
            }];
            kind: "struct";
        };
    }, {
        docs: ["Wrapped `Ship` escrow info"];
        name: "WrappedShipEscrow";
        type: {
            fields: [{
                docs: ["The `Ship` account address"];
                name: "ship";
                type: "publicKey";
            }, {
                docs: ["The `Ship` token amount in escrow"];
                name: "amount";
                type: "u64";
            }, {
                docs: ["The update id for the `Ship`"];
                name: "updateId";
                type: "u64";
            }];
            kind: "struct";
        };
    }]
  • version: "0.1.0"

Generated using TypeDoc