1use crate::PROGRAM_ID;
3use crate::SageDecoder;
4
5pub mod activate_game_state;
6pub mod add_connection;
7pub mod add_crew_to_game;
8pub mod add_rental;
9pub mod add_ship_escrow;
10pub mod add_ship_to_fleet;
11pub mod burn_crafting_consumables;
12pub mod cancel_crafting_process;
13pub mod change_rental;
14pub mod claim_crafting_non_consumables;
15pub mod claim_crafting_outputs;
16pub mod close_crafting_process;
17pub mod close_disbanded_fleet;
18pub mod close_fleet_cargo_pod_token_account;
19pub mod close_player_crew_record;
20pub mod close_starbase_cargo_token_account;
21pub mod close_upgrade_process;
22pub mod complete_starbase_upgrade;
23pub mod copy_game_state;
24pub mod create_cargo_pod;
25pub mod create_certificate_mint;
26pub mod create_crafting_process;
27pub mod create_fleet;
28pub mod create_starbase_upgrade_resource_process;
29pub mod deposit_cargo_to_fleet;
30pub mod deposit_cargo_to_game;
31pub mod deposit_crafting_ingredient;
32pub mod deposit_starbase_upkeep_resource;
33pub mod deregister_mine_item;
34pub mod deregister_progression_config;
35pub mod deregister_resource;
36pub mod deregister_starbase;
37pub mod deregister_survey_data_unit_tracker;
38pub mod dev_add_crew_to_game;
39pub mod dev_deposit_cargo_to_game;
40pub mod disband_fleet;
41pub mod disbanded_fleet_to_escrow;
42pub mod discover_sector;
43pub mod drain_mine_item_bank;
44pub mod drain_survey_data_units_bank;
45pub mod fleet_state_handler;
46pub mod force_disband_fleet;
47pub mod force_drop_fleet_cargo;
48pub mod idle_to_loading_bay;
49pub mod idle_to_respawn;
50pub mod init_game;
51pub mod init_game_state;
52pub mod invalidate_rental;
53pub mod invalidate_ship;
54pub mod load_fleet_crew;
55pub mod loading_bay_to_idle;
56pub mod loading_bay_to_respawn;
57pub mod mine_asteroid_to_respawn;
58pub mod mint_certificate;
59pub mod mint_crew_to_game;
60pub mod redeem_certificate;
61pub mod register_mine_item;
62pub mod register_planet;
63pub mod register_progression_config;
64pub mod register_resource;
65pub mod register_sage_crew_config;
66pub mod register_sage_player_profile;
67pub mod register_sage_point_modifier;
68pub mod register_sector;
69pub mod register_ship;
70pub mod register_star;
71pub mod register_starbase;
72pub mod register_starbase_player;
73pub mod register_survey_data_unit_tracker;
74pub mod remove_cargo_pod;
75pub mod remove_connection;
76pub mod remove_crew_from_game;
77pub mod remove_invalid_ship_escrow;
78pub mod remove_ship_escrow;
79pub mod respawn_to_loading_bay;
80pub mod scan_for_survey_data_units;
81pub mod set_next_ship;
82pub mod start_crafting_process;
83pub mod start_mining_asteroid;
84pub mod start_starbase_upgrade;
85pub mod start_subwarp;
86pub mod stop_crafting_process;
87pub mod stop_mining_asteroid;
88pub mod stop_subwarp;
89pub mod submit_starbase_upgrade_resource;
90pub mod sync_starbase_player;
91pub mod sync_starbase_upgrade_ingredients;
92pub mod transfer_cargo_at_starbase;
93pub mod transfer_cargo_within_fleet;
94pub mod unload_fleet_crew;
95pub mod update_game;
96pub mod update_game_state;
97pub mod update_mine_item;
98pub mod update_planet;
99pub mod update_progression_config;
100pub mod update_resource;
101pub mod update_ship;
102pub mod update_ship_escrow;
103pub mod update_ship_in_fleet;
104pub mod update_star;
105pub mod update_starbase;
106pub mod update_survey_data_unit_tracker;
107pub mod warp_lane;
108pub mod warp_to_coordinate;
109pub mod withdraw_cargo_from_fleet;
110pub mod withdraw_cargo_from_game;
111pub mod withdraw_crafting_ingredient;
112
113pub use self::activate_game_state::*;
114pub use self::add_connection::*;
115pub use self::add_crew_to_game::*;
116pub use self::add_rental::*;
117pub use self::add_ship_escrow::*;
118pub use self::add_ship_to_fleet::*;
119pub use self::burn_crafting_consumables::*;
120pub use self::cancel_crafting_process::*;
121pub use self::change_rental::*;
122pub use self::claim_crafting_non_consumables::*;
123pub use self::claim_crafting_outputs::*;
124pub use self::close_crafting_process::*;
125pub use self::close_disbanded_fleet::*;
126pub use self::close_fleet_cargo_pod_token_account::*;
127pub use self::close_player_crew_record::*;
128pub use self::close_starbase_cargo_token_account::*;
129pub use self::close_upgrade_process::*;
130pub use self::complete_starbase_upgrade::*;
131pub use self::copy_game_state::*;
132pub use self::create_cargo_pod::*;
133pub use self::create_certificate_mint::*;
134pub use self::create_crafting_process::*;
135pub use self::create_fleet::*;
136pub use self::create_starbase_upgrade_resource_process::*;
137pub use self::deposit_cargo_to_fleet::*;
138pub use self::deposit_cargo_to_game::*;
139pub use self::deposit_crafting_ingredient::*;
140pub use self::deposit_starbase_upkeep_resource::*;
141pub use self::deregister_mine_item::*;
142pub use self::deregister_progression_config::*;
143pub use self::deregister_resource::*;
144pub use self::deregister_starbase::*;
145pub use self::deregister_survey_data_unit_tracker::*;
146pub use self::dev_add_crew_to_game::*;
147pub use self::dev_deposit_cargo_to_game::*;
148pub use self::disband_fleet::*;
149pub use self::disbanded_fleet_to_escrow::*;
150pub use self::discover_sector::*;
151pub use self::drain_mine_item_bank::*;
152pub use self::drain_survey_data_units_bank::*;
153pub use self::fleet_state_handler::*;
154pub use self::force_disband_fleet::*;
155pub use self::force_drop_fleet_cargo::*;
156pub use self::idle_to_loading_bay::*;
157pub use self::idle_to_respawn::*;
158pub use self::init_game::*;
159pub use self::init_game_state::*;
160pub use self::invalidate_rental::*;
161pub use self::invalidate_ship::*;
162pub use self::load_fleet_crew::*;
163pub use self::loading_bay_to_idle::*;
164pub use self::loading_bay_to_respawn::*;
165pub use self::mine_asteroid_to_respawn::*;
166pub use self::mint_certificate::*;
167pub use self::mint_crew_to_game::*;
168pub use self::redeem_certificate::*;
169pub use self::register_mine_item::*;
170pub use self::register_planet::*;
171pub use self::register_progression_config::*;
172pub use self::register_resource::*;
173pub use self::register_sage_crew_config::*;
174pub use self::register_sage_player_profile::*;
175pub use self::register_sage_point_modifier::*;
176pub use self::register_sector::*;
177pub use self::register_ship::*;
178pub use self::register_star::*;
179pub use self::register_starbase::*;
180pub use self::register_starbase_player::*;
181pub use self::register_survey_data_unit_tracker::*;
182pub use self::remove_cargo_pod::*;
183pub use self::remove_connection::*;
184pub use self::remove_crew_from_game::*;
185pub use self::remove_invalid_ship_escrow::*;
186pub use self::remove_ship_escrow::*;
187pub use self::respawn_to_loading_bay::*;
188pub use self::scan_for_survey_data_units::*;
189pub use self::set_next_ship::*;
190pub use self::start_crafting_process::*;
191pub use self::start_mining_asteroid::*;
192pub use self::start_starbase_upgrade::*;
193pub use self::start_subwarp::*;
194pub use self::stop_crafting_process::*;
195pub use self::stop_mining_asteroid::*;
196pub use self::stop_subwarp::*;
197pub use self::submit_starbase_upgrade_resource::*;
198pub use self::sync_starbase_player::*;
199pub use self::sync_starbase_upgrade_ingredients::*;
200pub use self::transfer_cargo_at_starbase::*;
201pub use self::transfer_cargo_within_fleet::*;
202pub use self::unload_fleet_crew::*;
203pub use self::update_game::*;
204pub use self::update_game_state::*;
205pub use self::update_mine_item::*;
206pub use self::update_planet::*;
207pub use self::update_progression_config::*;
208pub use self::update_resource::*;
209pub use self::update_ship::*;
210pub use self::update_ship_escrow::*;
211pub use self::update_ship_in_fleet::*;
212pub use self::update_star::*;
213pub use self::update_starbase::*;
214pub use self::update_survey_data_unit_tracker::*;
215pub use self::warp_lane::*;
216pub use self::warp_to_coordinate::*;
217pub use self::withdraw_cargo_from_fleet::*;
218pub use self::withdraw_cargo_from_game::*;
219pub use self::withdraw_crafting_ingredient::*;
220
221#[derive(Debug, Clone, PartialEq, Eq, Hash)]
222#[cfg_attr(
223 feature = "serde",
224 derive(carbon_core::InstructionType, serde::Serialize, serde::Deserialize)
225)]
226#[cfg_attr(feature = "serde", serde(tag = "type", content = "data"))]
227pub enum SageInstruction {
228 ActivateGameState(ActivateGameState),
229 AddConnection(AddConnection),
230 AddCrewToGame(AddCrewToGame),
231 AddRental(AddRental),
232 AddShipEscrow(AddShipEscrow),
233 AddShipToFleet(AddShipToFleet),
234 BurnCraftingConsumables(BurnCraftingConsumables),
235 CancelCraftingProcess(CancelCraftingProcess),
236 ChangeRental(ChangeRental),
237 ClaimCraftingNonConsumables(ClaimCraftingNonConsumables),
238 ClaimCraftingOutputs(ClaimCraftingOutputs),
239 CloseCraftingProcess(CloseCraftingProcess),
240 CloseDisbandedFleet(CloseDisbandedFleet),
241 CloseFleetCargoPodTokenAccount(CloseFleetCargoPodTokenAccount),
242 ClosePlayerCrewRecord(ClosePlayerCrewRecord),
243 CloseStarbaseCargoTokenAccount(CloseStarbaseCargoTokenAccount),
244 CloseUpgradeProcess(CloseUpgradeProcess),
245 CompleteStarbaseUpgrade(CompleteStarbaseUpgrade),
246 CopyGameState(CopyGameState),
247 CreateCargoPod(CreateCargoPod),
248 CreateCertificateMint(CreateCertificateMint),
249 CreateCraftingProcess(CreateCraftingProcess),
250 CreateFleet(CreateFleet),
251 CreateStarbaseUpgradeResourceProcess(CreateStarbaseUpgradeResourceProcess),
252 DepositCargoToFleet(DepositCargoToFleet),
253 DepositCargoToGame(DepositCargoToGame),
254 DepositCraftingIngredient(DepositCraftingIngredient),
255 DepositStarbaseUpkeepResource(DepositStarbaseUpkeepResource),
256 DeregisterMineItem(DeregisterMineItem),
257 DeregisterProgressionConfig(DeregisterProgressionConfig),
258 DeregisterResource(DeregisterResource),
259 DeregisterStarbase(DeregisterStarbase),
260 DeregisterSurveyDataUnitTracker(DeregisterSurveyDataUnitTracker),
261 DevAddCrewToGame(DevAddCrewToGame),
262 DevDepositCargoToGame(DevDepositCargoToGame),
263 DisbandedFleetToEscrow(DisbandedFleetToEscrow),
264 DisbandFleet(DisbandFleet),
265 DiscoverSector(DiscoverSector),
266 DrainMineItemBank(DrainMineItemBank),
267 DrainSurveyDataUnitsBank(DrainSurveyDataUnitsBank),
268 FleetStateHandler(FleetStateHandler),
269 ForceDisbandFleet(ForceDisbandFleet),
270 ForceDropFleetCargo(ForceDropFleetCargo),
271 IdleToLoadingBay(IdleToLoadingBay),
272 IdleToRespawn(IdleToRespawn),
273 InitGame(InitGame),
274 InitGameState(InitGameState),
275 InvalidateRental(InvalidateRental),
276 InvalidateShip(InvalidateShip),
277 LoadFleetCrew(LoadFleetCrew),
278 LoadingBayToIdle(LoadingBayToIdle),
279 LoadingBayToRespawn(LoadingBayToRespawn),
280 MineAsteroidToRespawn(MineAsteroidToRespawn),
281 MintCertificate(MintCertificate),
282 MintCrewToGame(MintCrewToGame),
283 RedeemCertificate(RedeemCertificate),
284 RegisterMineItem(RegisterMineItem),
285 RegisterPlanet(RegisterPlanet),
286 RegisterProgressionConfig(RegisterProgressionConfig),
287 RegisterResource(RegisterResource),
288 RegisterSageCrewConfig(RegisterSageCrewConfig),
289 RegisterSagePlayerProfile(RegisterSagePlayerProfile),
290 RegisterSagePointModifier(RegisterSagePointModifier),
291 RegisterSector(RegisterSector),
292 RegisterShip(RegisterShip),
293 RegisterStar(RegisterStar),
294 RegisterStarbase(RegisterStarbase),
295 RegisterStarbasePlayer(RegisterStarbasePlayer),
296 RegisterSurveyDataUnitTracker(RegisterSurveyDataUnitTracker),
297 RemoveCargoPod(RemoveCargoPod),
298 RemoveConnection(RemoveConnection),
299 RemoveCrewFromGame(RemoveCrewFromGame),
300 RemoveInvalidShipEscrow(RemoveInvalidShipEscrow),
301 RemoveShipEscrow(RemoveShipEscrow),
302 RespawnToLoadingBay(RespawnToLoadingBay),
303 ScanForSurveyDataUnits(ScanForSurveyDataUnits),
304 SetNextShip(SetNextShip),
305 StartCraftingProcess(StartCraftingProcess),
306 StartMiningAsteroid(StartMiningAsteroid),
307 StartStarbaseUpgrade(StartStarbaseUpgrade),
308 StartSubwarp(StartSubwarp),
309 StopCraftingProcess(StopCraftingProcess),
310 StopMiningAsteroid(StopMiningAsteroid),
311 StopSubwarp(StopSubwarp),
312 SubmitStarbaseUpgradeResource(SubmitStarbaseUpgradeResource),
313 SyncStarbasePlayer(SyncStarbasePlayer),
314 SyncStarbaseUpgradeIngredients(SyncStarbaseUpgradeIngredients),
315 TransferCargoAtStarbase(TransferCargoAtStarbase),
316 TransferCargoWithinFleet(TransferCargoWithinFleet),
317 UnloadFleetCrew(UnloadFleetCrew),
318 UpdateGame(UpdateGame),
319 UpdateGameState(UpdateGameState),
320 UpdateMineItem(UpdateMineItem),
321 UpdatePlanet(UpdatePlanet),
322 UpdateProgressionConfig(UpdateProgressionConfig),
323 UpdateResource(UpdateResource),
324 UpdateShip(UpdateShip),
325 UpdateShipEscrow(UpdateShipEscrow),
326 UpdateShipInFleet(UpdateShipInFleet),
327 UpdateStar(UpdateStar),
328 UpdateStarbase(UpdateStarbase),
329 UpdateSurveyDataUnitTracker(UpdateSurveyDataUnitTracker),
330 WarpLane(WarpLane),
331 WarpToCoordinate(WarpToCoordinate),
332 WithdrawCargoFromFleet(WithdrawCargoFromFleet),
333 WithdrawCargoFromGame(WithdrawCargoFromGame),
334 WithdrawCraftingIngredient(WithdrawCraftingIngredient),
335}
336
337impl carbon_core::instruction::InstructionDecoder<'_> for SageDecoder {
338 type InstructionType = SageInstruction;
339
340 fn decode_instruction(
341 &self,
342 instruction: &solana_instruction::Instruction,
343 ) -> Option<carbon_core::instruction::DecodedInstruction<Self::InstructionType>> {
344 if !instruction.program_id.eq(&PROGRAM_ID) {
345 return None;
346 }
347
348 let data = instruction.data.as_slice();
349
350 {
351 if let Some(decoded) = activate_game_state::ActivateGameState::decode(data) {
352 return Some(carbon_core::instruction::DecodedInstruction {
353 program_id: instruction.program_id,
354 data: SageInstruction::ActivateGameState(decoded),
355 accounts: instruction.accounts.clone(),
356 });
357 }
358 }
359 {
360 if let Some(decoded) = add_connection::AddConnection::decode(data) {
361 return Some(carbon_core::instruction::DecodedInstruction {
362 program_id: instruction.program_id,
363 data: SageInstruction::AddConnection(decoded),
364 accounts: instruction.accounts.clone(),
365 });
366 }
367 }
368 {
369 if let Some(decoded) = add_crew_to_game::AddCrewToGame::decode(data) {
370 return Some(carbon_core::instruction::DecodedInstruction {
371 program_id: instruction.program_id,
372 data: SageInstruction::AddCrewToGame(decoded),
373 accounts: instruction.accounts.clone(),
374 });
375 }
376 }
377 {
378 if let Some(decoded) = add_rental::AddRental::decode(data) {
379 return Some(carbon_core::instruction::DecodedInstruction {
380 program_id: instruction.program_id,
381 data: SageInstruction::AddRental(decoded),
382 accounts: instruction.accounts.clone(),
383 });
384 }
385 }
386 {
387 if let Some(decoded) = add_ship_escrow::AddShipEscrow::decode(data) {
388 return Some(carbon_core::instruction::DecodedInstruction {
389 program_id: instruction.program_id,
390 data: SageInstruction::AddShipEscrow(decoded),
391 accounts: instruction.accounts.clone(),
392 });
393 }
394 }
395 {
396 if let Some(decoded) = add_ship_to_fleet::AddShipToFleet::decode(data) {
397 return Some(carbon_core::instruction::DecodedInstruction {
398 program_id: instruction.program_id,
399 data: SageInstruction::AddShipToFleet(decoded),
400 accounts: instruction.accounts.clone(),
401 });
402 }
403 }
404 {
405 if let Some(decoded) = burn_crafting_consumables::BurnCraftingConsumables::decode(data)
406 {
407 return Some(carbon_core::instruction::DecodedInstruction {
408 program_id: instruction.program_id,
409 data: SageInstruction::BurnCraftingConsumables(decoded),
410 accounts: instruction.accounts.clone(),
411 });
412 }
413 }
414 {
415 if let Some(decoded) = cancel_crafting_process::CancelCraftingProcess::decode(data) {
416 return Some(carbon_core::instruction::DecodedInstruction {
417 program_id: instruction.program_id,
418 data: SageInstruction::CancelCraftingProcess(decoded),
419 accounts: instruction.accounts.clone(),
420 });
421 }
422 }
423 {
424 if let Some(decoded) = change_rental::ChangeRental::decode(data) {
425 return Some(carbon_core::instruction::DecodedInstruction {
426 program_id: instruction.program_id,
427 data: SageInstruction::ChangeRental(decoded),
428 accounts: instruction.accounts.clone(),
429 });
430 }
431 }
432 {
433 if let Some(decoded) =
434 claim_crafting_non_consumables::ClaimCraftingNonConsumables::decode(data)
435 {
436 return Some(carbon_core::instruction::DecodedInstruction {
437 program_id: instruction.program_id,
438 data: SageInstruction::ClaimCraftingNonConsumables(decoded),
439 accounts: instruction.accounts.clone(),
440 });
441 }
442 }
443 {
444 if let Some(decoded) = claim_crafting_outputs::ClaimCraftingOutputs::decode(data) {
445 return Some(carbon_core::instruction::DecodedInstruction {
446 program_id: instruction.program_id,
447 data: SageInstruction::ClaimCraftingOutputs(decoded),
448 accounts: instruction.accounts.clone(),
449 });
450 }
451 }
452 {
453 if let Some(decoded) = close_crafting_process::CloseCraftingProcess::decode(data) {
454 return Some(carbon_core::instruction::DecodedInstruction {
455 program_id: instruction.program_id,
456 data: SageInstruction::CloseCraftingProcess(decoded),
457 accounts: instruction.accounts.clone(),
458 });
459 }
460 }
461 {
462 if let Some(decoded) = close_disbanded_fleet::CloseDisbandedFleet::decode(data) {
463 return Some(carbon_core::instruction::DecodedInstruction {
464 program_id: instruction.program_id,
465 data: SageInstruction::CloseDisbandedFleet(decoded),
466 accounts: instruction.accounts.clone(),
467 });
468 }
469 }
470 {
471 if let Some(decoded) =
472 close_fleet_cargo_pod_token_account::CloseFleetCargoPodTokenAccount::decode(data)
473 {
474 return Some(carbon_core::instruction::DecodedInstruction {
475 program_id: instruction.program_id,
476 data: SageInstruction::CloseFleetCargoPodTokenAccount(decoded),
477 accounts: instruction.accounts.clone(),
478 });
479 }
480 }
481 {
482 if let Some(decoded) = close_player_crew_record::ClosePlayerCrewRecord::decode(data) {
483 return Some(carbon_core::instruction::DecodedInstruction {
484 program_id: instruction.program_id,
485 data: SageInstruction::ClosePlayerCrewRecord(decoded),
486 accounts: instruction.accounts.clone(),
487 });
488 }
489 }
490 {
491 if let Some(decoded) =
492 close_starbase_cargo_token_account::CloseStarbaseCargoTokenAccount::decode(data)
493 {
494 return Some(carbon_core::instruction::DecodedInstruction {
495 program_id: instruction.program_id,
496 data: SageInstruction::CloseStarbaseCargoTokenAccount(decoded),
497 accounts: instruction.accounts.clone(),
498 });
499 }
500 }
501 {
502 if let Some(decoded) = close_upgrade_process::CloseUpgradeProcess::decode(data) {
503 return Some(carbon_core::instruction::DecodedInstruction {
504 program_id: instruction.program_id,
505 data: SageInstruction::CloseUpgradeProcess(decoded),
506 accounts: instruction.accounts.clone(),
507 });
508 }
509 }
510 {
511 if let Some(decoded) = complete_starbase_upgrade::CompleteStarbaseUpgrade::decode(data)
512 {
513 return Some(carbon_core::instruction::DecodedInstruction {
514 program_id: instruction.program_id,
515 data: SageInstruction::CompleteStarbaseUpgrade(decoded),
516 accounts: instruction.accounts.clone(),
517 });
518 }
519 }
520 {
521 if let Some(decoded) = copy_game_state::CopyGameState::decode(data) {
522 return Some(carbon_core::instruction::DecodedInstruction {
523 program_id: instruction.program_id,
524 data: SageInstruction::CopyGameState(decoded),
525 accounts: instruction.accounts.clone(),
526 });
527 }
528 }
529 {
530 if let Some(decoded) = create_cargo_pod::CreateCargoPod::decode(data) {
531 return Some(carbon_core::instruction::DecodedInstruction {
532 program_id: instruction.program_id,
533 data: SageInstruction::CreateCargoPod(decoded),
534 accounts: instruction.accounts.clone(),
535 });
536 }
537 }
538 {
539 if let Some(decoded) = create_certificate_mint::CreateCertificateMint::decode(data) {
540 return Some(carbon_core::instruction::DecodedInstruction {
541 program_id: instruction.program_id,
542 data: SageInstruction::CreateCertificateMint(decoded),
543 accounts: instruction.accounts.clone(),
544 });
545 }
546 }
547 {
548 if let Some(decoded) = create_crafting_process::CreateCraftingProcess::decode(data) {
549 return Some(carbon_core::instruction::DecodedInstruction {
550 program_id: instruction.program_id,
551 data: SageInstruction::CreateCraftingProcess(decoded),
552 accounts: instruction.accounts.clone(),
553 });
554 }
555 }
556 {
557 if let Some(decoded) = create_fleet::CreateFleet::decode(data) {
558 return Some(carbon_core::instruction::DecodedInstruction {
559 program_id: instruction.program_id,
560 data: SageInstruction::CreateFleet(decoded),
561 accounts: instruction.accounts.clone(),
562 });
563 }
564 }
565 {
566 if let Some(decoded) = create_starbase_upgrade_resource_process::CreateStarbaseUpgradeResourceProcess::decode(data) {
567 return Some(carbon_core::instruction::DecodedInstruction {
568 program_id: instruction.program_id,
569 data: SageInstruction::CreateStarbaseUpgradeResourceProcess(decoded),
570 accounts: instruction.accounts.clone(),
571 });
572 }
573 }
574 {
575 if let Some(decoded) = deposit_cargo_to_fleet::DepositCargoToFleet::decode(data) {
576 return Some(carbon_core::instruction::DecodedInstruction {
577 program_id: instruction.program_id,
578 data: SageInstruction::DepositCargoToFleet(decoded),
579 accounts: instruction.accounts.clone(),
580 });
581 }
582 }
583 {
584 if let Some(decoded) = deposit_cargo_to_game::DepositCargoToGame::decode(data) {
585 return Some(carbon_core::instruction::DecodedInstruction {
586 program_id: instruction.program_id,
587 data: SageInstruction::DepositCargoToGame(decoded),
588 accounts: instruction.accounts.clone(),
589 });
590 }
591 }
592 {
593 if let Some(decoded) =
594 deposit_crafting_ingredient::DepositCraftingIngredient::decode(data)
595 {
596 return Some(carbon_core::instruction::DecodedInstruction {
597 program_id: instruction.program_id,
598 data: SageInstruction::DepositCraftingIngredient(decoded),
599 accounts: instruction.accounts.clone(),
600 });
601 }
602 }
603 {
604 if let Some(decoded) =
605 deposit_starbase_upkeep_resource::DepositStarbaseUpkeepResource::decode(data)
606 {
607 return Some(carbon_core::instruction::DecodedInstruction {
608 program_id: instruction.program_id,
609 data: SageInstruction::DepositStarbaseUpkeepResource(decoded),
610 accounts: instruction.accounts.clone(),
611 });
612 }
613 }
614 {
615 if let Some(decoded) = deregister_mine_item::DeregisterMineItem::decode(data) {
616 return Some(carbon_core::instruction::DecodedInstruction {
617 program_id: instruction.program_id,
618 data: SageInstruction::DeregisterMineItem(decoded),
619 accounts: instruction.accounts.clone(),
620 });
621 }
622 }
623 {
624 if let Some(decoded) =
625 deregister_progression_config::DeregisterProgressionConfig::decode(data)
626 {
627 return Some(carbon_core::instruction::DecodedInstruction {
628 program_id: instruction.program_id,
629 data: SageInstruction::DeregisterProgressionConfig(decoded),
630 accounts: instruction.accounts.clone(),
631 });
632 }
633 }
634 {
635 if let Some(decoded) = deregister_resource::DeregisterResource::decode(data) {
636 return Some(carbon_core::instruction::DecodedInstruction {
637 program_id: instruction.program_id,
638 data: SageInstruction::DeregisterResource(decoded),
639 accounts: instruction.accounts.clone(),
640 });
641 }
642 }
643 {
644 if let Some(decoded) = deregister_starbase::DeregisterStarbase::decode(data) {
645 return Some(carbon_core::instruction::DecodedInstruction {
646 program_id: instruction.program_id,
647 data: SageInstruction::DeregisterStarbase(decoded),
648 accounts: instruction.accounts.clone(),
649 });
650 }
651 }
652 {
653 if let Some(decoded) =
654 deregister_survey_data_unit_tracker::DeregisterSurveyDataUnitTracker::decode(data)
655 {
656 return Some(carbon_core::instruction::DecodedInstruction {
657 program_id: instruction.program_id,
658 data: SageInstruction::DeregisterSurveyDataUnitTracker(decoded),
659 accounts: instruction.accounts.clone(),
660 });
661 }
662 }
663 {
664 if let Some(decoded) = dev_add_crew_to_game::DevAddCrewToGame::decode(data) {
665 return Some(carbon_core::instruction::DecodedInstruction {
666 program_id: instruction.program_id,
667 data: SageInstruction::DevAddCrewToGame(decoded),
668 accounts: instruction.accounts.clone(),
669 });
670 }
671 }
672 {
673 if let Some(decoded) = dev_deposit_cargo_to_game::DevDepositCargoToGame::decode(data) {
674 return Some(carbon_core::instruction::DecodedInstruction {
675 program_id: instruction.program_id,
676 data: SageInstruction::DevDepositCargoToGame(decoded),
677 accounts: instruction.accounts.clone(),
678 });
679 }
680 }
681 {
682 if let Some(decoded) = disband_fleet::DisbandFleet::decode(data) {
683 return Some(carbon_core::instruction::DecodedInstruction {
684 program_id: instruction.program_id,
685 data: SageInstruction::DisbandFleet(decoded),
686 accounts: instruction.accounts.clone(),
687 });
688 }
689 }
690 {
691 if let Some(decoded) = disbanded_fleet_to_escrow::DisbandedFleetToEscrow::decode(data) {
692 return Some(carbon_core::instruction::DecodedInstruction {
693 program_id: instruction.program_id,
694 data: SageInstruction::DisbandedFleetToEscrow(decoded),
695 accounts: instruction.accounts.clone(),
696 });
697 }
698 }
699 {
700 if let Some(decoded) = discover_sector::DiscoverSector::decode(data) {
701 return Some(carbon_core::instruction::DecodedInstruction {
702 program_id: instruction.program_id,
703 data: SageInstruction::DiscoverSector(decoded),
704 accounts: instruction.accounts.clone(),
705 });
706 }
707 }
708 {
709 if let Some(decoded) = drain_mine_item_bank::DrainMineItemBank::decode(data) {
710 return Some(carbon_core::instruction::DecodedInstruction {
711 program_id: instruction.program_id,
712 data: SageInstruction::DrainMineItemBank(decoded),
713 accounts: instruction.accounts.clone(),
714 });
715 }
716 }
717 {
718 if let Some(decoded) =
719 drain_survey_data_units_bank::DrainSurveyDataUnitsBank::decode(data)
720 {
721 return Some(carbon_core::instruction::DecodedInstruction {
722 program_id: instruction.program_id,
723 data: SageInstruction::DrainSurveyDataUnitsBank(decoded),
724 accounts: instruction.accounts.clone(),
725 });
726 }
727 }
728 {
729 if let Some(decoded) = fleet_state_handler::FleetStateHandler::decode(data) {
730 return Some(carbon_core::instruction::DecodedInstruction {
731 program_id: instruction.program_id,
732 data: SageInstruction::FleetStateHandler(decoded),
733 accounts: instruction.accounts.clone(),
734 });
735 }
736 }
737 {
738 if let Some(decoded) = force_disband_fleet::ForceDisbandFleet::decode(data) {
739 return Some(carbon_core::instruction::DecodedInstruction {
740 program_id: instruction.program_id,
741 data: SageInstruction::ForceDisbandFleet(decoded),
742 accounts: instruction.accounts.clone(),
743 });
744 }
745 }
746 {
747 if let Some(decoded) = force_drop_fleet_cargo::ForceDropFleetCargo::decode(data) {
748 return Some(carbon_core::instruction::DecodedInstruction {
749 program_id: instruction.program_id,
750 data: SageInstruction::ForceDropFleetCargo(decoded),
751 accounts: instruction.accounts.clone(),
752 });
753 }
754 }
755 {
756 if let Some(decoded) = idle_to_loading_bay::IdleToLoadingBay::decode(data) {
757 return Some(carbon_core::instruction::DecodedInstruction {
758 program_id: instruction.program_id,
759 data: SageInstruction::IdleToLoadingBay(decoded),
760 accounts: instruction.accounts.clone(),
761 });
762 }
763 }
764 {
765 if let Some(decoded) = idle_to_respawn::IdleToRespawn::decode(data) {
766 return Some(carbon_core::instruction::DecodedInstruction {
767 program_id: instruction.program_id,
768 data: SageInstruction::IdleToRespawn(decoded),
769 accounts: instruction.accounts.clone(),
770 });
771 }
772 }
773 {
774 if let Some(decoded) = init_game::InitGame::decode(data) {
775 return Some(carbon_core::instruction::DecodedInstruction {
776 program_id: instruction.program_id,
777 data: SageInstruction::InitGame(decoded),
778 accounts: instruction.accounts.clone(),
779 });
780 }
781 }
782 {
783 if let Some(decoded) = init_game_state::InitGameState::decode(data) {
784 return Some(carbon_core::instruction::DecodedInstruction {
785 program_id: instruction.program_id,
786 data: SageInstruction::InitGameState(decoded),
787 accounts: instruction.accounts.clone(),
788 });
789 }
790 }
791 {
792 if let Some(decoded) = invalidate_rental::InvalidateRental::decode(data) {
793 return Some(carbon_core::instruction::DecodedInstruction {
794 program_id: instruction.program_id,
795 data: SageInstruction::InvalidateRental(decoded),
796 accounts: instruction.accounts.clone(),
797 });
798 }
799 }
800 {
801 if let Some(decoded) = invalidate_ship::InvalidateShip::decode(data) {
802 return Some(carbon_core::instruction::DecodedInstruction {
803 program_id: instruction.program_id,
804 data: SageInstruction::InvalidateShip(decoded),
805 accounts: instruction.accounts.clone(),
806 });
807 }
808 }
809 {
810 if let Some(decoded) = load_fleet_crew::LoadFleetCrew::decode(data) {
811 return Some(carbon_core::instruction::DecodedInstruction {
812 program_id: instruction.program_id,
813 data: SageInstruction::LoadFleetCrew(decoded),
814 accounts: instruction.accounts.clone(),
815 });
816 }
817 }
818 {
819 if let Some(decoded) = loading_bay_to_idle::LoadingBayToIdle::decode(data) {
820 return Some(carbon_core::instruction::DecodedInstruction {
821 program_id: instruction.program_id,
822 data: SageInstruction::LoadingBayToIdle(decoded),
823 accounts: instruction.accounts.clone(),
824 });
825 }
826 }
827 {
828 if let Some(decoded) = loading_bay_to_respawn::LoadingBayToRespawn::decode(data) {
829 return Some(carbon_core::instruction::DecodedInstruction {
830 program_id: instruction.program_id,
831 data: SageInstruction::LoadingBayToRespawn(decoded),
832 accounts: instruction.accounts.clone(),
833 });
834 }
835 }
836 {
837 if let Some(decoded) = mine_asteroid_to_respawn::MineAsteroidToRespawn::decode(data) {
838 return Some(carbon_core::instruction::DecodedInstruction {
839 program_id: instruction.program_id,
840 data: SageInstruction::MineAsteroidToRespawn(decoded),
841 accounts: instruction.accounts.clone(),
842 });
843 }
844 }
845 {
846 if let Some(decoded) = mint_certificate::MintCertificate::decode(data) {
847 return Some(carbon_core::instruction::DecodedInstruction {
848 program_id: instruction.program_id,
849 data: SageInstruction::MintCertificate(decoded),
850 accounts: instruction.accounts.clone(),
851 });
852 }
853 }
854 {
855 if let Some(decoded) = mint_crew_to_game::MintCrewToGame::decode(data) {
856 return Some(carbon_core::instruction::DecodedInstruction {
857 program_id: instruction.program_id,
858 data: SageInstruction::MintCrewToGame(decoded),
859 accounts: instruction.accounts.clone(),
860 });
861 }
862 }
863 {
864 if let Some(decoded) = redeem_certificate::RedeemCertificate::decode(data) {
865 return Some(carbon_core::instruction::DecodedInstruction {
866 program_id: instruction.program_id,
867 data: SageInstruction::RedeemCertificate(decoded),
868 accounts: instruction.accounts.clone(),
869 });
870 }
871 }
872 {
873 if let Some(decoded) = register_mine_item::RegisterMineItem::decode(data) {
874 return Some(carbon_core::instruction::DecodedInstruction {
875 program_id: instruction.program_id,
876 data: SageInstruction::RegisterMineItem(decoded),
877 accounts: instruction.accounts.clone(),
878 });
879 }
880 }
881 {
882 if let Some(decoded) = register_planet::RegisterPlanet::decode(data) {
883 return Some(carbon_core::instruction::DecodedInstruction {
884 program_id: instruction.program_id,
885 data: SageInstruction::RegisterPlanet(decoded),
886 accounts: instruction.accounts.clone(),
887 });
888 }
889 }
890 {
891 if let Some(decoded) =
892 register_progression_config::RegisterProgressionConfig::decode(data)
893 {
894 return Some(carbon_core::instruction::DecodedInstruction {
895 program_id: instruction.program_id,
896 data: SageInstruction::RegisterProgressionConfig(decoded),
897 accounts: instruction.accounts.clone(),
898 });
899 }
900 }
901 {
902 if let Some(decoded) = register_resource::RegisterResource::decode(data) {
903 return Some(carbon_core::instruction::DecodedInstruction {
904 program_id: instruction.program_id,
905 data: SageInstruction::RegisterResource(decoded),
906 accounts: instruction.accounts.clone(),
907 });
908 }
909 }
910 {
911 if let Some(decoded) = register_sage_crew_config::RegisterSageCrewConfig::decode(data) {
912 return Some(carbon_core::instruction::DecodedInstruction {
913 program_id: instruction.program_id,
914 data: SageInstruction::RegisterSageCrewConfig(decoded),
915 accounts: instruction.accounts.clone(),
916 });
917 }
918 }
919 {
920 if let Some(decoded) =
921 register_sage_player_profile::RegisterSagePlayerProfile::decode(data)
922 {
923 return Some(carbon_core::instruction::DecodedInstruction {
924 program_id: instruction.program_id,
925 data: SageInstruction::RegisterSagePlayerProfile(decoded),
926 accounts: instruction.accounts.clone(),
927 });
928 }
929 }
930 {
931 if let Some(decoded) =
932 register_sage_point_modifier::RegisterSagePointModifier::decode(data)
933 {
934 return Some(carbon_core::instruction::DecodedInstruction {
935 program_id: instruction.program_id,
936 data: SageInstruction::RegisterSagePointModifier(decoded),
937 accounts: instruction.accounts.clone(),
938 });
939 }
940 }
941 {
942 if let Some(decoded) = register_sector::RegisterSector::decode(data) {
943 return Some(carbon_core::instruction::DecodedInstruction {
944 program_id: instruction.program_id,
945 data: SageInstruction::RegisterSector(decoded),
946 accounts: instruction.accounts.clone(),
947 });
948 }
949 }
950 {
951 if let Some(decoded) = register_ship::RegisterShip::decode(data) {
952 return Some(carbon_core::instruction::DecodedInstruction {
953 program_id: instruction.program_id,
954 data: SageInstruction::RegisterShip(decoded),
955 accounts: instruction.accounts.clone(),
956 });
957 }
958 }
959 {
960 if let Some(decoded) = register_star::RegisterStar::decode(data) {
961 return Some(carbon_core::instruction::DecodedInstruction {
962 program_id: instruction.program_id,
963 data: SageInstruction::RegisterStar(decoded),
964 accounts: instruction.accounts.clone(),
965 });
966 }
967 }
968 {
969 if let Some(decoded) = register_starbase::RegisterStarbase::decode(data) {
970 return Some(carbon_core::instruction::DecodedInstruction {
971 program_id: instruction.program_id,
972 data: SageInstruction::RegisterStarbase(decoded),
973 accounts: instruction.accounts.clone(),
974 });
975 }
976 }
977 {
978 if let Some(decoded) = register_starbase_player::RegisterStarbasePlayer::decode(data) {
979 return Some(carbon_core::instruction::DecodedInstruction {
980 program_id: instruction.program_id,
981 data: SageInstruction::RegisterStarbasePlayer(decoded),
982 accounts: instruction.accounts.clone(),
983 });
984 }
985 }
986 {
987 if let Some(decoded) =
988 register_survey_data_unit_tracker::RegisterSurveyDataUnitTracker::decode(data)
989 {
990 return Some(carbon_core::instruction::DecodedInstruction {
991 program_id: instruction.program_id,
992 data: SageInstruction::RegisterSurveyDataUnitTracker(decoded),
993 accounts: instruction.accounts.clone(),
994 });
995 }
996 }
997 {
998 if let Some(decoded) = remove_cargo_pod::RemoveCargoPod::decode(data) {
999 return Some(carbon_core::instruction::DecodedInstruction {
1000 program_id: instruction.program_id,
1001 data: SageInstruction::RemoveCargoPod(decoded),
1002 accounts: instruction.accounts.clone(),
1003 });
1004 }
1005 }
1006 {
1007 if let Some(decoded) = remove_connection::RemoveConnection::decode(data) {
1008 return Some(carbon_core::instruction::DecodedInstruction {
1009 program_id: instruction.program_id,
1010 data: SageInstruction::RemoveConnection(decoded),
1011 accounts: instruction.accounts.clone(),
1012 });
1013 }
1014 }
1015 {
1016 if let Some(decoded) = remove_crew_from_game::RemoveCrewFromGame::decode(data) {
1017 return Some(carbon_core::instruction::DecodedInstruction {
1018 program_id: instruction.program_id,
1019 data: SageInstruction::RemoveCrewFromGame(decoded),
1020 accounts: instruction.accounts.clone(),
1021 });
1022 }
1023 }
1024 {
1025 if let Some(decoded) = remove_invalid_ship_escrow::RemoveInvalidShipEscrow::decode(data)
1026 {
1027 return Some(carbon_core::instruction::DecodedInstruction {
1028 program_id: instruction.program_id,
1029 data: SageInstruction::RemoveInvalidShipEscrow(decoded),
1030 accounts: instruction.accounts.clone(),
1031 });
1032 }
1033 }
1034 {
1035 if let Some(decoded) = remove_ship_escrow::RemoveShipEscrow::decode(data) {
1036 return Some(carbon_core::instruction::DecodedInstruction {
1037 program_id: instruction.program_id,
1038 data: SageInstruction::RemoveShipEscrow(decoded),
1039 accounts: instruction.accounts.clone(),
1040 });
1041 }
1042 }
1043 {
1044 if let Some(decoded) = respawn_to_loading_bay::RespawnToLoadingBay::decode(data) {
1045 return Some(carbon_core::instruction::DecodedInstruction {
1046 program_id: instruction.program_id,
1047 data: SageInstruction::RespawnToLoadingBay(decoded),
1048 accounts: instruction.accounts.clone(),
1049 });
1050 }
1051 }
1052 {
1053 if let Some(decoded) = scan_for_survey_data_units::ScanForSurveyDataUnits::decode(data)
1054 {
1055 return Some(carbon_core::instruction::DecodedInstruction {
1056 program_id: instruction.program_id,
1057 data: SageInstruction::ScanForSurveyDataUnits(decoded),
1058 accounts: instruction.accounts.clone(),
1059 });
1060 }
1061 }
1062 {
1063 if let Some(decoded) = set_next_ship::SetNextShip::decode(data) {
1064 return Some(carbon_core::instruction::DecodedInstruction {
1065 program_id: instruction.program_id,
1066 data: SageInstruction::SetNextShip(decoded),
1067 accounts: instruction.accounts.clone(),
1068 });
1069 }
1070 }
1071 {
1072 if let Some(decoded) = start_crafting_process::StartCraftingProcess::decode(data) {
1073 return Some(carbon_core::instruction::DecodedInstruction {
1074 program_id: instruction.program_id,
1075 data: SageInstruction::StartCraftingProcess(decoded),
1076 accounts: instruction.accounts.clone(),
1077 });
1078 }
1079 }
1080 {
1081 if let Some(decoded) = start_mining_asteroid::StartMiningAsteroid::decode(data) {
1082 return Some(carbon_core::instruction::DecodedInstruction {
1083 program_id: instruction.program_id,
1084 data: SageInstruction::StartMiningAsteroid(decoded),
1085 accounts: instruction.accounts.clone(),
1086 });
1087 }
1088 }
1089 {
1090 if let Some(decoded) = start_starbase_upgrade::StartStarbaseUpgrade::decode(data) {
1091 return Some(carbon_core::instruction::DecodedInstruction {
1092 program_id: instruction.program_id,
1093 data: SageInstruction::StartStarbaseUpgrade(decoded),
1094 accounts: instruction.accounts.clone(),
1095 });
1096 }
1097 }
1098 {
1099 if let Some(decoded) = start_subwarp::StartSubwarp::decode(data) {
1100 return Some(carbon_core::instruction::DecodedInstruction {
1101 program_id: instruction.program_id,
1102 data: SageInstruction::StartSubwarp(decoded),
1103 accounts: instruction.accounts.clone(),
1104 });
1105 }
1106 }
1107 {
1108 if let Some(decoded) = stop_crafting_process::StopCraftingProcess::decode(data) {
1109 return Some(carbon_core::instruction::DecodedInstruction {
1110 program_id: instruction.program_id,
1111 data: SageInstruction::StopCraftingProcess(decoded),
1112 accounts: instruction.accounts.clone(),
1113 });
1114 }
1115 }
1116 {
1117 if let Some(decoded) = stop_mining_asteroid::StopMiningAsteroid::decode(data) {
1118 return Some(carbon_core::instruction::DecodedInstruction {
1119 program_id: instruction.program_id,
1120 data: SageInstruction::StopMiningAsteroid(decoded),
1121 accounts: instruction.accounts.clone(),
1122 });
1123 }
1124 }
1125 {
1126 if let Some(decoded) = stop_subwarp::StopSubwarp::decode(data) {
1127 return Some(carbon_core::instruction::DecodedInstruction {
1128 program_id: instruction.program_id,
1129 data: SageInstruction::StopSubwarp(decoded),
1130 accounts: instruction.accounts.clone(),
1131 });
1132 }
1133 }
1134 {
1135 if let Some(decoded) =
1136 submit_starbase_upgrade_resource::SubmitStarbaseUpgradeResource::decode(data)
1137 {
1138 return Some(carbon_core::instruction::DecodedInstruction {
1139 program_id: instruction.program_id,
1140 data: SageInstruction::SubmitStarbaseUpgradeResource(decoded),
1141 accounts: instruction.accounts.clone(),
1142 });
1143 }
1144 }
1145 {
1146 if let Some(decoded) = sync_starbase_player::SyncStarbasePlayer::decode(data) {
1147 return Some(carbon_core::instruction::DecodedInstruction {
1148 program_id: instruction.program_id,
1149 data: SageInstruction::SyncStarbasePlayer(decoded),
1150 accounts: instruction.accounts.clone(),
1151 });
1152 }
1153 }
1154 {
1155 if let Some(decoded) =
1156 sync_starbase_upgrade_ingredients::SyncStarbaseUpgradeIngredients::decode(data)
1157 {
1158 return Some(carbon_core::instruction::DecodedInstruction {
1159 program_id: instruction.program_id,
1160 data: SageInstruction::SyncStarbaseUpgradeIngredients(decoded),
1161 accounts: instruction.accounts.clone(),
1162 });
1163 }
1164 }
1165 {
1166 if let Some(decoded) = transfer_cargo_at_starbase::TransferCargoAtStarbase::decode(data)
1167 {
1168 return Some(carbon_core::instruction::DecodedInstruction {
1169 program_id: instruction.program_id,
1170 data: SageInstruction::TransferCargoAtStarbase(decoded),
1171 accounts: instruction.accounts.clone(),
1172 });
1173 }
1174 }
1175 {
1176 if let Some(decoded) =
1177 transfer_cargo_within_fleet::TransferCargoWithinFleet::decode(data)
1178 {
1179 return Some(carbon_core::instruction::DecodedInstruction {
1180 program_id: instruction.program_id,
1181 data: SageInstruction::TransferCargoWithinFleet(decoded),
1182 accounts: instruction.accounts.clone(),
1183 });
1184 }
1185 }
1186 {
1187 if let Some(decoded) = unload_fleet_crew::UnloadFleetCrew::decode(data) {
1188 return Some(carbon_core::instruction::DecodedInstruction {
1189 program_id: instruction.program_id,
1190 data: SageInstruction::UnloadFleetCrew(decoded),
1191 accounts: instruction.accounts.clone(),
1192 });
1193 }
1194 }
1195 {
1196 if let Some(decoded) = update_game::UpdateGame::decode(data) {
1197 return Some(carbon_core::instruction::DecodedInstruction {
1198 program_id: instruction.program_id,
1199 data: SageInstruction::UpdateGame(decoded),
1200 accounts: instruction.accounts.clone(),
1201 });
1202 }
1203 }
1204 {
1205 if let Some(decoded) = update_game_state::UpdateGameState::decode(data) {
1206 return Some(carbon_core::instruction::DecodedInstruction {
1207 program_id: instruction.program_id,
1208 data: SageInstruction::UpdateGameState(decoded),
1209 accounts: instruction.accounts.clone(),
1210 });
1211 }
1212 }
1213 {
1214 if let Some(decoded) = update_mine_item::UpdateMineItem::decode(data) {
1215 return Some(carbon_core::instruction::DecodedInstruction {
1216 program_id: instruction.program_id,
1217 data: SageInstruction::UpdateMineItem(decoded),
1218 accounts: instruction.accounts.clone(),
1219 });
1220 }
1221 }
1222 {
1223 if let Some(decoded) = update_planet::UpdatePlanet::decode(data) {
1224 return Some(carbon_core::instruction::DecodedInstruction {
1225 program_id: instruction.program_id,
1226 data: SageInstruction::UpdatePlanet(decoded),
1227 accounts: instruction.accounts.clone(),
1228 });
1229 }
1230 }
1231 {
1232 if let Some(decoded) = update_progression_config::UpdateProgressionConfig::decode(data)
1233 {
1234 return Some(carbon_core::instruction::DecodedInstruction {
1235 program_id: instruction.program_id,
1236 data: SageInstruction::UpdateProgressionConfig(decoded),
1237 accounts: instruction.accounts.clone(),
1238 });
1239 }
1240 }
1241 {
1242 if let Some(decoded) = update_resource::UpdateResource::decode(data) {
1243 return Some(carbon_core::instruction::DecodedInstruction {
1244 program_id: instruction.program_id,
1245 data: SageInstruction::UpdateResource(decoded),
1246 accounts: instruction.accounts.clone(),
1247 });
1248 }
1249 }
1250 {
1251 if let Some(decoded) = update_ship::UpdateShip::decode(data) {
1252 return Some(carbon_core::instruction::DecodedInstruction {
1253 program_id: instruction.program_id,
1254 data: SageInstruction::UpdateShip(decoded),
1255 accounts: instruction.accounts.clone(),
1256 });
1257 }
1258 }
1259 {
1260 if let Some(decoded) = update_ship_escrow::UpdateShipEscrow::decode(data) {
1261 return Some(carbon_core::instruction::DecodedInstruction {
1262 program_id: instruction.program_id,
1263 data: SageInstruction::UpdateShipEscrow(decoded),
1264 accounts: instruction.accounts.clone(),
1265 });
1266 }
1267 }
1268 {
1269 if let Some(decoded) = update_ship_in_fleet::UpdateShipInFleet::decode(data) {
1270 return Some(carbon_core::instruction::DecodedInstruction {
1271 program_id: instruction.program_id,
1272 data: SageInstruction::UpdateShipInFleet(decoded),
1273 accounts: instruction.accounts.clone(),
1274 });
1275 }
1276 }
1277 {
1278 if let Some(decoded) = update_star::UpdateStar::decode(data) {
1279 return Some(carbon_core::instruction::DecodedInstruction {
1280 program_id: instruction.program_id,
1281 data: SageInstruction::UpdateStar(decoded),
1282 accounts: instruction.accounts.clone(),
1283 });
1284 }
1285 }
1286 {
1287 if let Some(decoded) = update_starbase::UpdateStarbase::decode(data) {
1288 return Some(carbon_core::instruction::DecodedInstruction {
1289 program_id: instruction.program_id,
1290 data: SageInstruction::UpdateStarbase(decoded),
1291 accounts: instruction.accounts.clone(),
1292 });
1293 }
1294 }
1295 {
1296 if let Some(decoded) =
1297 update_survey_data_unit_tracker::UpdateSurveyDataUnitTracker::decode(data)
1298 {
1299 return Some(carbon_core::instruction::DecodedInstruction {
1300 program_id: instruction.program_id,
1301 data: SageInstruction::UpdateSurveyDataUnitTracker(decoded),
1302 accounts: instruction.accounts.clone(),
1303 });
1304 }
1305 }
1306 {
1307 if let Some(decoded) = warp_lane::WarpLane::decode(data) {
1308 return Some(carbon_core::instruction::DecodedInstruction {
1309 program_id: instruction.program_id,
1310 data: SageInstruction::WarpLane(decoded),
1311 accounts: instruction.accounts.clone(),
1312 });
1313 }
1314 }
1315 {
1316 if let Some(decoded) = warp_to_coordinate::WarpToCoordinate::decode(data) {
1317 return Some(carbon_core::instruction::DecodedInstruction {
1318 program_id: instruction.program_id,
1319 data: SageInstruction::WarpToCoordinate(decoded),
1320 accounts: instruction.accounts.clone(),
1321 });
1322 }
1323 }
1324 {
1325 if let Some(decoded) = withdraw_cargo_from_fleet::WithdrawCargoFromFleet::decode(data) {
1326 return Some(carbon_core::instruction::DecodedInstruction {
1327 program_id: instruction.program_id,
1328 data: SageInstruction::WithdrawCargoFromFleet(decoded),
1329 accounts: instruction.accounts.clone(),
1330 });
1331 }
1332 }
1333 {
1334 if let Some(decoded) = withdraw_cargo_from_game::WithdrawCargoFromGame::decode(data) {
1335 return Some(carbon_core::instruction::DecodedInstruction {
1336 program_id: instruction.program_id,
1337 data: SageInstruction::WithdrawCargoFromGame(decoded),
1338 accounts: instruction.accounts.clone(),
1339 });
1340 }
1341 }
1342 {
1343 if let Some(decoded) =
1344 withdraw_crafting_ingredient::WithdrawCraftingIngredient::decode(data)
1345 {
1346 return Some(carbon_core::instruction::DecodedInstruction {
1347 program_id: instruction.program_id,
1348 data: SageInstruction::WithdrawCraftingIngredient(decoded),
1349 accounts: instruction.accounts.clone(),
1350 });
1351 }
1352 }
1353
1354 None
1355 }
1356}