@aephia/atlas-kit 0.6.0-next.133 → 0.6.0-next.135

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/cargo/actions/deposit.d.ts +3 -0
  2. package/dist/cargo/actions/deposit.d.ts.map +1 -1
  3. package/dist/cargo/actions/deposit.js +39 -14
  4. package/dist/cargo/actions/deposit.js.map +1 -1
  5. package/dist/cargo/actions/index.d.ts +11 -5
  6. package/dist/cargo/actions/index.d.ts.map +1 -1
  7. package/dist/cargo/actions/index.js +73 -14
  8. package/dist/cargo/actions/index.js.map +1 -1
  9. package/dist/fleets/actions/add-ship.d.ts +12 -4
  10. package/dist/fleets/actions/add-ship.d.ts.map +1 -1
  11. package/dist/fleets/actions/add-ship.js +15 -7
  12. package/dist/fleets/actions/add-ship.js.map +1 -1
  13. package/dist/internal/c4/cargo-instructions.d.ts +24 -0
  14. package/dist/internal/c4/cargo-instructions.d.ts.map +1 -0
  15. package/dist/internal/c4/cargo-instructions.js +30 -0
  16. package/dist/internal/c4/cargo-instructions.js.map +1 -0
  17. package/dist/internal/c4/discriminators.d.ts +3 -0
  18. package/dist/internal/c4/discriminators.d.ts.map +1 -1
  19. package/dist/internal/c4/discriminators.js +7 -1
  20. package/dist/internal/c4/discriminators.js.map +1 -1
  21. package/dist/internal/c4/fleet-ship-assembly.d.ts +19 -3
  22. package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -1
  23. package/dist/internal/c4/fleet-ship-assembly.js +57 -7
  24. package/dist/internal/c4/fleet-ship-assembly.js.map +1 -1
  25. package/dist/internal/c4/fleet-storage.d.ts +36 -0
  26. package/dist/internal/c4/fleet-storage.d.ts.map +1 -0
  27. package/dist/internal/c4/fleet-storage.js +72 -0
  28. package/dist/internal/c4/fleet-storage.js.map +1 -0
  29. package/dist/internal/planning/cargo-storage-actions.d.ts +8 -0
  30. package/dist/internal/planning/cargo-storage-actions.d.ts.map +1 -0
  31. package/dist/internal/planning/cargo-storage-actions.js +97 -0
  32. package/dist/internal/planning/cargo-storage-actions.js.map +1 -0
  33. package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -1
  34. package/dist/internal/planning/fleet-ship-assembly.js +58 -29
  35. package/dist/internal/planning/fleet-ship-assembly.js.map +1 -1
  36. package/dist/internal/planning/mining-storage-actions.d.ts +11 -0
  37. package/dist/internal/planning/mining-storage-actions.d.ts.map +1 -0
  38. package/dist/internal/planning/mining-storage-actions.js +66 -0
  39. package/dist/internal/planning/mining-storage-actions.js.map +1 -0
  40. package/dist/internal/planning/own-starbase-facts.d.ts +7 -3
  41. package/dist/internal/planning/own-starbase-facts.d.ts.map +1 -1
  42. package/dist/internal/planning/own-starbase-facts.js +8 -5
  43. package/dist/internal/planning/own-starbase-facts.js.map +1 -1
  44. package/dist/internal/planning/plan-guards.d.ts.map +1 -1
  45. package/dist/internal/planning/plan-guards.js +2 -0
  46. package/dist/internal/planning/plan-guards.js.map +1 -1
  47. package/dist/internal/planning/profile-storage-funding-guard.d.ts +28 -0
  48. package/dist/internal/planning/profile-storage-funding-guard.d.ts.map +1 -0
  49. package/dist/internal/planning/profile-storage-funding-guard.js +66 -0
  50. package/dist/internal/planning/profile-storage-funding-guard.js.map +1 -0
  51. package/dist/internal/planning/profile-storage-funding.d.ts +34 -0
  52. package/dist/internal/planning/profile-storage-funding.d.ts.map +1 -0
  53. package/dist/internal/planning/profile-storage-funding.js +50 -0
  54. package/dist/internal/planning/profile-storage-funding.js.map +1 -0
  55. package/dist/internal/planning/storage-action-readers.d.ts +10 -0
  56. package/dist/internal/planning/storage-action-readers.d.ts.map +1 -0
  57. package/dist/internal/planning/storage-action-readers.js +25 -0
  58. package/dist/internal/planning/storage-action-readers.js.map +1 -0
  59. package/dist/internal/planning/storage-actions.d.ts +81 -0
  60. package/dist/internal/planning/storage-actions.d.ts.map +1 -0
  61. package/dist/internal/planning/storage-actions.js +177 -0
  62. package/dist/internal/planning/storage-actions.js.map +1 -0
  63. package/dist/mining/actions/index.d.ts.map +1 -1
  64. package/dist/mining/actions/index.js +71 -25
  65. package/dist/mining/actions/index.js.map +1 -1
  66. package/dist/planning/execution.d.ts.map +1 -1
  67. package/dist/planning/execution.js +59 -6
  68. package/dist/planning/execution.js.map +1 -1
  69. package/dist/planning/index.d.ts +12 -1
  70. package/dist/planning/index.d.ts.map +1 -1
  71. package/dist/planning/index.js +2 -2
  72. package/dist/planning/index.js.map +1 -1
  73. package/dist/planning/plan-construction.js +1 -1
  74. package/dist/planning/plan-validation.d.ts.map +1 -1
  75. package/dist/planning/plan-validation.js +4 -0
  76. package/dist/planning/plan-validation.js.map +1 -1
  77. package/dist/registry/cargo.d.ts +2 -2
  78. package/dist/registry/cargo.d.ts.map +1 -1
  79. package/dist/registry/cargo.js +1 -2
  80. package/dist/registry/cargo.js.map +1 -1
  81. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import { SYSTEM_PROGRAM } from '../system-program.js';
2
2
  import { fleetAccountDefinition, deriveFleetAddress } from '../c4/fleet.js';
3
- import { fleetShipAssemblySize, isBasicFleetAssemblyShip, } from '../c4/fleet-ship-assembly.js';
3
+ import { MAX_COMMANDERS_AND_TITANS_PER_FLEET, MAX_TITANS_PER_FLEET, fleetCapacityPoints, fleetShipAssemblySize, prospectiveShipCounts, shipSizeName, shipSizeRank, starbasePlayerEscrowGrowth, } from '../c4/fleet-ship-assembly.js';
4
4
  import { decodeGameShipAssemblyCatalog, hashShipAssemblyConfiguration, } from '../../registry/ships.js';
5
5
  import { isOffCurveAddress } from '@solana/kit';
6
6
  import { SageSdkError } from '../../client/errors.js';
@@ -46,12 +46,14 @@ export async function validateFleetShipAssembly(input, resolved, accounts, expec
46
46
  fail(address, `${name} ${address} is executable. Refresh valid account state before assembling ships.`);
47
47
  return raw;
48
48
  };
49
- const { profileRaw, profile, character, faction, starbase, player } = await readOwnStarbaseFacts(intent, resolved, required, {
49
+ // The program assembles at any Starbase where the Character has a current
50
+ // StarbasePlayer of the Fleet's faction, whoever owns the Starbase.
51
+ const { profileRaw, profile, character, faction, system, player } = await readOwnStarbaseFacts(intent, resolved, required, {
50
52
  replan: 'replan ship assembly',
51
53
  before: 'before assembling ships',
52
- });
53
- if (starbase.level !== 'css')
54
- fail(resolved.system, 'Ship assembly currently supports own-faction CSS Starbases only. Dock at an own-faction CSS Starbase and replan; other access routes need separate support.');
54
+ }, { anyStarbase: true });
55
+ if (player.sequenceId !== system.sequenceId)
56
+ fail(resolved.starbasePlayer, `The StarbasePlayer belongs to Starbase generation ${String(player.sequenceId)}, but the Starbase is at generation ${String(system.sequenceId)}; the program treats it as destroyed. Register a current StarbasePlayer at this Starbase and replan ship assembly.`);
55
57
  const fleetRaw = required(resolved.fleet, 'Fleet');
56
58
  const fleet = fleetAccountDefinition.decode(fleetRaw);
57
59
  if ((await deriveFleetAddress(fleet)) !== intent.address ||
@@ -61,7 +63,7 @@ export async function validateFleetShipAssembly(input, resolved, accounts, expec
61
63
  fleet.npcFactionId !== 0)
62
64
  fail(resolved.fleet, 'The Fleet has a noncanonical address or different Game, Profile, faction or NPC affiliation. Select a canonical owned player Fleet and replan ship assembly.');
63
65
  if (fleet.state.kind !== 'docked' || fleet.state.system !== intent.system)
64
- fail(resolved.fleet, 'Ship assembly requires the Fleet to remain Docked at the selected System. Dock at an own-faction CSS Starbase and replan.');
66
+ fail(resolved.fleet, 'Ship assembly requires the Fleet to remain Docked at the selected System. Dock at a Starbase where the Character has a current StarbasePlayer and replan.');
65
67
  // A Fleet with a sub-profile is rented (or a rental was invalidated), and
66
68
  // the program never adds ships to it.
67
69
  if (fleet.subProfile !== SYSTEM_PROGRAM)
@@ -75,39 +77,65 @@ export async function validateFleetShipAssembly(input, resolved, accounts, expec
75
77
  const gameRaw = required(resolved.game, 'Game');
76
78
  const definitions = catalog ?? decodeGameShipAssemblyCatalog(gameRaw);
77
79
  if (fleet.shipDefinitionsSeqId !== definitions.sequenceId)
78
- fail(resolved.fleet, 'This SDK route supports current ship-definition sequences only. Refresh the Fleet definitions through a supported game client, then replan; stale-sequence refresh behavior remains chain-authoritative.');
80
+ fail(resolved.fleet, 'The Fleet was built under older ship definitions. The program resynchronizes it inside the assembly, which can change its stats, and this SDK plans current Fleets only. Run any action that updates the Fleet, or the permissionless Fleet sync, then replan.');
79
81
  const selected = definitions.rows.find((row) => row.id === intent.shipId);
80
- if (!isBasicFleetAssemblyShip(selected))
81
- fail(resolved.game, 'The selected ship ID is unresolved or is not a requirements-free XXS configuration. Select a defined requirements-free XXS configuration; research, component and other size routes need separate support.');
82
- // Every validated stored maxShipSize enum permits XXS, the smallest pinned size.
83
- let quantity = 0n;
84
- for (const entry of fleet.fleetShips) {
85
- if (entry.quantity === 0n)
86
- continue;
87
- if (!isBasicFleetAssemblyShip(definitions.rows.find((row) => row.id === entry.shipId)))
88
- fail(resolved.fleet, 'The Fleet already contains a positive unresolved or unsupported ship configuration. Use a Fleet containing only resolved requirements-free XXS ships; mixed-size capacity needs separate support.');
89
- quantity += entry.quantity;
90
- }
82
+ if (!selected)
83
+ fail(resolved.game, `Ship configuration ${String(intent.shipId)} is not in the current Game ship definitions. Select a defined configuration and replan.`);
84
+ // Components move from the StarbasePlayer into the Fleet's components pod;
85
+ // that route and its storage are not planned yet.
86
+ if (selected.componentRequirements.size > 0)
87
+ fail(resolved.game, `Ship configuration ${String(intent.shipId)} needs ship components, which this SDK does not plan yet. Select a configuration without component requirements, or use the game client.`);
88
+ const size = shipSizeName(selected.sizeClass);
89
+ const maxSize = character.modifiers.values.maxShipSize;
90
+ if (selected.sizeClass > shipSizeRank(maxSize))
91
+ fail(resolved.character, `Ship configuration ${String(intent.shipId)} is ${size}, above the Character's maximum ship size ${maxSize}. Unlock research that raises the maximum ship size, then replan.`);
92
+ const tags = character.modifiers.values.researchTags;
93
+ const missing = selected.researchRequirements.filter((tag) => !tags.includes(tag));
94
+ if (missing.length > 0)
95
+ fail(resolved.character, `Ship configuration ${String(intent.shipId)} requires every research tag in [${selected.researchRequirements.join(', ')}]; the Character lacks [${missing.join(', ')}]. Unlock the research nodes that grant them, then replan.`);
91
96
  const current = fleet.fleetShips.find((entry) => entry.shipId === intent.shipId)
92
97
  ?.quantity ?? 0n;
93
98
  if (current + intent.amount > 18446744073709551615n)
94
99
  fail(resolved.fleet, 'The resulting Fleet ship quantity exceeds the stored u64 limit. Select a smaller valid quantity and replan.');
95
- if (quantity + intent.amount > BigInt(character.modifiers.values.fleetSize))
96
- fail(resolved.character, 'The requested ships exceed the Character stored Fleet-size capacity. Reduce the amount or refresh changed Character modifiers, then replan.');
97
- if (quantity + intent.amount > BigInt(definitions.maxFleetSize))
98
- fail(resolved.game, 'The requested ships exceed the Game ship-assembly capacity. Reduce the resulting Fleet composition to fit the current Game limit, then replan; a larger Character allowance does not override it.');
99
- const entitlement = player.shipsInEscrow.find((entry) => entry.shipId === intent.shipId)
100
- ?.quantityRaw ?? 0n;
100
+ // The program checks the Fleet's stored ship counts plus the added ships,
101
+ // never the requirements of ships already aboard.
102
+ const classes = prospectiveShipCounts(fleet.shipCounts, selected.sizeClass, Number(intent.amount));
103
+ const points = fleetCapacityPoints(classes);
104
+ if (points > character.modifiers.values.fleetSize)
105
+ fail(resolved.character, `The resulting Fleet uses ${String(points)} Fleet points, above the Character's Fleet size ${String(character.modifiers.values.fleetSize)}. Reduce the amount or unlock Fleet-size research, then replan.`);
106
+ if (points > definitions.maxFleetSize)
107
+ fail(resolved.game, `The resulting Fleet uses ${String(points)} Fleet points, above the Game's ${String(definitions.maxFleetSize)}-point Fleet limit. Reduce the resulting Fleet composition, then replan; a larger Character allowance does not override it.`);
108
+ const [commanders, titans] = [classes[6], classes[7]];
109
+ if (titans > MAX_TITANS_PER_FLEET)
110
+ fail(resolved.fleet, `The resulting Fleet would hold ${String(titans)} Titans; a Fleet holds at most ${String(MAX_TITANS_PER_FLEET)}. Add the Titan to another Fleet and replan.`);
111
+ if (commanders + titans > MAX_COMMANDERS_AND_TITANS_PER_FLEET)
112
+ fail(resolved.fleet, `The resulting Fleet would hold ${String(commanders + titans)} Commander and Titan ships; a Fleet holds at most ${String(MAX_COMMANDERS_AND_TITANS_PER_FLEET)} together. Add the ship to another Fleet and replan.`);
113
+ // Escrowed hulls of any configuration of the same ship count: the program
114
+ // re-tags them to the selected configuration.
115
+ const siblings = new Set(definitions.rows
116
+ .filter((row) => row.mint === selected.mint)
117
+ .map((row) => row.id));
118
+ const entitlement = player.shipsInEscrow
119
+ .filter((entry) => siblings.has(entry.shipId))
120
+ .reduce((total, entry) => total + entry.quantityRaw, 0n);
101
121
  if (entitlement < intent.amount)
102
- fail(resolved.starbasePlayer, 'The StarbasePlayer has insufficient entitlement for this exact ship configuration. Explicitly import that configuration or reduce the amount, then replan.');
122
+ fail(resolved.starbasePlayer, `The StarbasePlayer holds ${String(entitlement)} escrowed hulls of this ship across its configurations, fewer than the ${String(intent.amount)} requested. Explicitly import more of this ship or reduce the amount, then replan.`);
103
123
  const configHash = await hashShipAssemblyConfiguration(definitions, selected);
104
124
  if (expected && expected.configHash !== configHash)
105
125
  fail(resolved.game, 'The selected ship configuration has changed. Replan and inspect its current configuration before signing.');
106
126
  const rent = readRent(required(resolved.rent, 'Rent sysvar'));
107
127
  const now = readClock(required(resolved.clock, 'Clock sysvar'));
108
128
  const fleetRent = rent(fleetShipAssemblySize(fleetRaw, intent.shipId, intent.amount));
109
- const balance = fleetRaw.lamports;
110
- const profileDebit = balance < fleetRent ? fleetRent - balance : 0n;
129
+ const shortfall = (raw, minimum) => raw.lamports < minimum ? minimum - raw.lamports : 0n;
130
+ // The program funds the Fleet, StarbasePlayer and Character as one group.
131
+ // Re-tagging adds an escrow entry when the configuration has none, and its
132
+ // cost is counted in full. A StarbasePlayer already below its rent minimum
133
+ // is left out, as a combined ship import funds that shortfall first.
134
+ const playerRaw = required(resolved.starbasePlayer, 'StarbasePlayer');
135
+ const profileDebit = shortfall(fleetRaw, fleetRent) +
136
+ rent(playerRaw.data.length +
137
+ starbasePlayerEscrowGrowth(playerRaw, intent.shipId)) -
138
+ rent(playerRaw.data.length);
111
139
  if (expected !== undefined && profileDebit > expected.maximumProfileDebit)
112
140
  fail(resolved.profile, 'Ship assembly now requires a larger Profile debit than this Plan approved. Replan and inspect the updated rent shortfall before signing.');
113
141
  const profileReserve = rent(profileRaw.data.length);
@@ -119,9 +147,10 @@ export async function validateFleetShipAssembly(input, resolved, accounts, expec
119
147
  if (profileKeyExpired(key, now))
120
148
  fail(resolved.profile, 'The selected Profile key has expired. Renew it or select a current direct key and replan ship assembly.');
121
149
  const auth = grantsPermission(key, PROFILE_SCOPE, 0n);
122
- const manages = grantsPermission(key, SAGE_SCOPE, 18n);
150
+ const manages = grantsPermission(key, SAGE_SCOPE, 18n) ||
151
+ grantsPermission(key, intent.address, 18n);
123
152
  if (!auth && !manages)
124
- fail(resolved.profile, 'The selected key cannot manage Fleets. Use a direct Profile AUTH key or a SAGE manageFleet key and replan.');
153
+ fail(resolved.profile, 'The selected key cannot manage Fleets. Use a direct Profile AUTH key or a manageFleet key scoped to SAGE or this Fleet, and replan.');
125
154
  if (profileDebit > 0n && !auth && !hasPermissionBit(key, 63n))
126
155
  fail(resolved.profile, 'The selected manageFleet key cannot fund the Fleet from the Profile vault. Explicitly prefund the target or choose an authorized vault-funding key, then replan; drainSolVault grants vault withdrawal authority.');
127
156
  return { profileDebit, profileReserve, fleetRent, configHash };
@@ -1 +1 @@
1
- {"version":3,"file":"fleet-ship-assembly.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-ship-assembly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,GAE9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAgB,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAuB/D,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAA8B;IAE9B,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAC5B,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpD,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC;QAC7C,2BAA2B,CAAC,MAAM,CAAC,OAAO,CAAC;KAC5C,CAAC,CAAC;IACH,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,SAAS;QACT,cAAc;QACd,KAAK,EAAE,MAAM,CAAC,OAAO;QACrB,cAAc,EAAE,MAAM,2BAA2B,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC;QAC3E,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,aAAa;KACrB,CAAC;AACJ,CAAC;AACD,SAAS,IAAI,CAAC,OAAgB,EAAE,OAAe;IAC7C,MAAM,IAAI,YAAY,CAAC,4BAA4B,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7E,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,KAA8B,EAC9B,QAAmC,EACnC,QAAsD,EACtD,QAGC,EACD,OAA6B;IAO7B,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAC5B,IAAI,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC;QACrC,IAAI,CACF,MAAM,CAAC,OAAO,EACd,sGAAsG,CACvG,CAAC;IACJ,MAAM,QAAQ,GAAG,CAAC,OAAgB,EAAE,IAAY,EAAc,EAAE;QAC9D,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG;YACN,IAAI,CACF,OAAO,EACP,GAAG,IAAI,IAAI,OAAO,gFAAgF,CACnG,CAAC;QACJ,IAAI,GAAG,CAAC,UAAU;YAChB,IAAI,CACF,OAAO,EACP,GAAG,IAAI,IAAI,OAAO,sEAAsE,CACzF,CAAC;QACJ,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GACjE,MAAM,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE;QACrD,MAAM,EAAE,sBAAsB;QAC9B,MAAM,EAAE,yBAAyB;KAClC,CAAC,CAAC;IACL,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK;QAC1B,IAAI,CACF,QAAQ,CAAC,MAAM,EACf,6JAA6J,CAC9J,CAAC;IACJ,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtD,IACE,CAAC,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO;QACpD,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;QAC1B,KAAK,CAAC,YAAY,KAAK,MAAM,CAAC,OAAO;QACrC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO;QACjC,KAAK,CAAC,YAAY,KAAK,CAAC;QAExB,IAAI,CACF,QAAQ,CAAC,KAAK,EACd,8JAA8J,CAC/J,CAAC;IACJ,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;QACvE,IAAI,CACF,QAAQ,CAAC,KAAK,EACd,2HAA2H,CAC5H,CAAC;IACJ,0EAA0E;IAC1E,sCAAsC;IACtC,IAAI,KAAK,CAAC,UAAU,KAAK,cAAc;QACrC,IAAI,CACF,QAAQ,CAAC,KAAK,EACd,0CAA0C,KAAK,CAAC,UAAU,6GAA6G,CACxK,CAAC;IACJ,qEAAqE;IACrE,4EAA4E;IAC5E,kEAAkE;IAClE,uBAAuB;IACvB,IAAI,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACpD,IAAI,CACF,QAAQ,CAAC,KAAK,EACd,iBAAiB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,8BAA8B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,0HAA0H,CACzP,CAAC;IACJ,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,OAAO,IAAI,6BAA6B,CAAC,OAAO,CAAC,CAAC;IACtE,IAAI,KAAK,CAAC,oBAAoB,KAAK,WAAW,CAAC,UAAU;QACvD,IAAI,CACF,QAAQ,CAAC,KAAK,EACd,0MAA0M,CAC3M,CAAC;IACJ,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1E,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC;QACrC,IAAI,CACF,QAAQ,CAAC,IAAI,EACb,4MAA4M,CAC7M,CAAC;IACJ,iFAAiF;IACjF,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,QAAQ,KAAK,EAAE;YAAE,SAAS;QACpC,IACE,CAAC,wBAAwB,CACvB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,CAAC,MAAM,CAAC,CACxD;YAED,IAAI,CACF,QAAQ,CAAC,KAAK,EACd,mMAAmM,CACpM,CAAC;QACJ,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IACD,MAAM,OAAO,GACX,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;QAC9D,EAAE,QAAQ,IAAI,EAAE,CAAC;IACrB,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,qBAAqB;QACjD,IAAI,CACF,QAAQ,CAAC,KAAK,EACd,6GAA6G,CAC9G,CAAC;IACJ,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;QACzE,IAAI,CACF,QAAQ,CAAC,SAAS,EAClB,6IAA6I,CAC9I,CAAC;IACJ,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC;QAC7D,IAAI,CACF,QAAQ,CAAC,IAAI,EACb,mMAAmM,CACpM,CAAC;IACJ,MAAM,WAAW,GACf,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;QAClE,EAAE,WAAW,IAAI,EAAE,CAAC;IACxB,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM;QAC7B,IAAI,CACF,QAAQ,CAAC,cAAc,EACvB,4JAA4J,CAC7J,CAAC;IACJ,MAAM,UAAU,GAAG,MAAM,6BAA6B,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC9E,IAAI,QAAQ,IAAI,QAAQ,CAAC,UAAU,KAAK,UAAU;QAChD,IAAI,CACF,QAAQ,CAAC,IAAI,EACb,2GAA2G,CAC5G,CAAC;IACJ,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,IAAI,CACpB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAC9D,CAAC;IACF,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAClC,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,IAAI,QAAQ,KAAK,SAAS,IAAI,YAAY,GAAG,QAAQ,CAAC,mBAAmB;QACvE,IAAI,CACF,QAAQ,CAAC,OAAO,EAChB,0IAA0I,CAC3I,CAAC;IACJ,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,UAAU,CAAC,QAAQ,GAAG,cAAc,GAAG,YAAY;QACrD,IAAI,CACF,QAAQ,CAAC,OAAO,EAChB,6IAA6I,CAC9I,CAAC;IACJ,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9E,IAAI,CAAC,GAAG;QACN,IAAI,CACF,QAAQ,CAAC,OAAO,EAChB,wIAAwI,CACzI,CAAC;IACJ,IAAI,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC;QAC7B,IAAI,CACF,QAAQ,CAAC,OAAO,EAChB,yGAAyG,CAC1G,CAAC;IACJ,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IACvD,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO;QACnB,IAAI,CACF,QAAQ,CAAC,OAAO,EAChB,4GAA4G,CAC7G,CAAC;IACJ,IAAI,YAAY,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC;QAC3D,IAAI,CACF,QAAQ,CAAC,OAAO,EAChB,mNAAmN,CACpN,CAAC;IACJ,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACjE,CAAC"}
1
+ {"version":3,"file":"fleet-ship-assembly.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-ship-assembly.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { Address, Instruction } from '@solana/kit';
2
+ import type { RawAccount } from '../../client/contracts.js';
3
+ import { type StorageAction } from './storage-actions.js';
4
+ /** Reads a mining start's or stop's, or a subwarp stop's, storage effect from
5
+ * its bytes and the fresh Fleet. */
6
+ export declare function readMiningStorageAction(instruction: Instruction, accounts: ReadonlyMap<Address, RawAccount | undefined>): StorageAction;
7
+ /** The storage effect of settling a subwarp-arrived Fleet before it starts
8
+ * mining, as `combinePlans(settlement, mining)` runs: the Fleet first returns
9
+ * to Idle at its rent minimum, then grows by the mining state. */
10
+ export declare function subwarpSettlementAction(start: StorageAction, fleet: RawAccount): StorageAction;
11
+ //# sourceMappingURL=mining-storage-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mining-storage-actions.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/mining-storage-actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAW5D,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE3E;oCACoC;AACpC,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,GACrD,aAAa,CAkDf;AAED;;kEAEkE;AAClE,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,UAAU,GAChB,aAAa,CAKf"}
@@ -0,0 +1,66 @@
1
+ import { decodeStartMiningData, decodeStopMiningData, decodeStopSubwarpData, fleetHoldLines, settleSubwarpState, startMiningState, stopMiningChange, } from '../c4/fleet-storage.js';
2
+ import { storageInstruction } from './profile-storage-funding-guard.js';
3
+ import { present, totals } from './storage-actions.js';
4
+ /** Reads a mining start's or stop's, or a subwarp stop's, storage effect from
5
+ * its bytes and the fresh Fleet. */
6
+ export function readMiningStorageAction(instruction, accounts) {
7
+ const { kind } = storageInstruction(instruction);
8
+ const metas = instruction.accounts;
9
+ const data = instruction.data;
10
+ const signer = {
11
+ profile: metas[1].address,
12
+ authority: metas[0].address,
13
+ };
14
+ if (kind === 'stop-subwarp') {
15
+ const fleet = present(accounts, metas[5].address);
16
+ return {
17
+ ...signer,
18
+ keyIndex: decodeStopSubwarpData(data).keyIndex,
19
+ settlement: 'each',
20
+ accounts: [{ address: fleet.address, state: settleSubwarpState(fleet) }],
21
+ };
22
+ }
23
+ if (kind === 'start-mining') {
24
+ const { keyIndex, resources } = decodeStartMiningData(data);
25
+ const fleet = present(accounts, metas[4].address);
26
+ return {
27
+ ...signer,
28
+ keyIndex,
29
+ settlement: 'each',
30
+ accounts: [
31
+ {
32
+ address: fleet.address,
33
+ state: startMiningState(fleet, resources),
34
+ },
35
+ ],
36
+ };
37
+ }
38
+ const { keyIndex } = decodeStopMiningData(data);
39
+ const fleet = present(accounts, metas[5].address);
40
+ const { state, resources } = stopMiningChange(fleet);
41
+ // Each mined resource may land a line in the hold. Consumption that empties
42
+ // a line is not credited, so this bounds the growth from above.
43
+ return {
44
+ ...signer,
45
+ keyIndex,
46
+ settlement: 'each',
47
+ accounts: [
48
+ {
49
+ address: fleet.address,
50
+ state,
51
+ held: fleetHoldLines(fleet),
52
+ added: totals(resources.map((cargoId) => [cargoId, 1n])),
53
+ },
54
+ ],
55
+ };
56
+ }
57
+ /** The storage effect of settling a subwarp-arrived Fleet before it starts
58
+ * mining, as `combinePlans(settlement, mining)` runs: the Fleet first returns
59
+ * to Idle at its rent minimum, then grows by the mining state. */
60
+ export function subwarpSettlementAction(start, fleet) {
61
+ return {
62
+ ...start,
63
+ accounts: [{ address: fleet.address, state: settleSubwarpState(fleet) }],
64
+ };
65
+ }
66
+ //# sourceMappingURL=mining-storage-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mining-storage-actions.js","sourceRoot":"","sources":["../../../src/internal/planning/mining-storage-actions.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAsB,MAAM,sBAAsB,CAAC;AAE3E;oCACoC;AACpC,MAAM,UAAU,uBAAuB,CACrC,WAAwB,EACxB,QAAsD;IAEtD,MAAM,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,WAAW,CAAE,CAAC;IAClD,MAAM,KAAK,GAAG,WAAW,CAAC,QAAS,CAAC;IACpC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAK,CAAC;IAC/B,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO;QAC1B,SAAS,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO;KAC7B,CAAC;IACF,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC;QACnD,OAAO;YACL,GAAG,MAAM;YACT,QAAQ,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC,QAAQ;YAC9C,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;SACzE,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QAC5B,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC;QACnD,OAAO;YACL,GAAG,MAAM;YACT,QAAQ;YACR,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE;gBACR;oBACE,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC;iBAC1C;aACF;SACF,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACrD,4EAA4E;IAC5E,gEAAgE;IAChE,OAAO;QACL,GAAG,MAAM;QACT,QAAQ;QACR,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE;YACR;gBACE,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK;gBACL,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;gBAC3B,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;aACzD;SACF;KACF,CAAC;AACJ,CAAC;AAED;;kEAEkE;AAClE,MAAM,UAAU,uBAAuB,CACrC,KAAoB,EACpB,KAAiB;IAEjB,OAAO;QACL,GAAG,KAAK;QACR,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;KACzE,CAAC;AACJ,CAAC"}
@@ -10,8 +10,9 @@ export interface OwnStarbaseAction {
10
10
  /** Decodes and relates the Profile, Character, faction membership, Star System
11
11
  * and StarbasePlayer that Fleet creation and ship assembly both require: one
12
12
  * canonical Character and membership for the Profile, a canonical Starbase
13
- * System owned by that faction, and the StarbasePlayer joining them.
14
- * `required` reads each account with the planner's own wording. */
13
+ * System, and the StarbasePlayer joining them. Unless `anyStarbase` is set, the
14
+ * Starbase must belong to the Profile's faction. `required` reads each account
15
+ * with the planner's own wording. */
15
16
  export declare function readOwnStarbaseFacts(intent: {
16
17
  readonly game: Address;
17
18
  readonly profile: Address;
@@ -22,11 +23,14 @@ export declare function readOwnStarbaseFacts(intent: {
22
23
  readonly profileFaction: Address;
23
24
  readonly system: Address;
24
25
  readonly starbasePlayer: Address;
25
- }, required: (address: Address, name: string) => RawAccount, action: OwnStarbaseAction): Promise<{
26
+ }, required: (address: Address, name: string) => RawAccount, action: OwnStarbaseAction, options?: {
27
+ readonly anyStarbase?: true;
28
+ }): Promise<{
26
29
  profileRaw: RawAccount;
27
30
  profile: Readonly<import("../c4/identity.js").ProfileAccountData>;
28
31
  character: Readonly<import("../c4/character.js").CharacterAccountData>;
29
32
  faction: Readonly<import("../c4/profile-faction.js").ProfileFactionAccountData>;
33
+ system: Readonly<import("../c4/world.js").StarSystemAccountData>;
30
34
  starbase: import("../c4/world.js").WorldStarbaseData;
31
35
  player: Readonly<import("../c4/starbase.js").StarbasePlayerAccountData>;
32
36
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"own-starbase-facts.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/own-starbase-facts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAW5D,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,uFAAuF;IACvF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,sFAAsF;IACtF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAMD;;;;mEAImE;AACnE,wBAAsB,oBAAoB,CACxC,MAAM,EAAE;IACN,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,EACD,QAAQ,EAAE;IACR,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC,EACD,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,UAAU,EACxD,MAAM,EAAE,iBAAiB;;;;;;;GAiE1B"}
1
+ {"version":3,"file":"own-starbase-facts.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/own-starbase-facts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAW5D,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,uFAAuF;IACvF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,sFAAsF;IACtF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAMD;;;;;qCAKqC;AACrC,wBAAsB,oBAAoB,CACxC,MAAM,EAAE;IACN,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,EACD,QAAQ,EAAE;IACR,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC,EACD,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,UAAU,EACxD,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,CAAA;CAAO;;;;;;;;GAmE9C"}
@@ -10,9 +10,10 @@ function fail(address, message) {
10
10
  /** Decodes and relates the Profile, Character, faction membership, Star System
11
11
  * and StarbasePlayer that Fleet creation and ship assembly both require: one
12
12
  * canonical Character and membership for the Profile, a canonical Starbase
13
- * System owned by that faction, and the StarbasePlayer joining them.
14
- * `required` reads each account with the planner's own wording. */
15
- export async function readOwnStarbaseFacts(intent, resolved, required, action) {
13
+ * System, and the StarbasePlayer joining them. Unless `anyStarbase` is set, the
14
+ * Starbase must belong to the Profile's faction. `required` reads each account
15
+ * with the planner's own wording. */
16
+ export async function readOwnStarbaseFacts(intent, resolved, required, action, options = {}) {
16
17
  const profileRaw = required(resolved.profile, 'Profile');
17
18
  const profile = profileAccountDefinition.decode(profileRaw);
18
19
  const character = characterAccountDefinition.decode(required(resolved.character, 'Character'));
@@ -34,14 +35,16 @@ export async function readOwnStarbaseFacts(intent, resolved, required, action) {
34
35
  player.system !== intent.system ||
35
36
  player.faction !== faction.faction)
36
37
  fail(resolved.starbasePlayer, 'The StarbasePlayer has a different Profile, Character, System or faction relationship. Refresh the canonical StarbasePlayer and replan.');
37
- if (faction.faction === 'unaligned' ||
38
- system.starbase.owner !== faction.faction)
38
+ if (!options.anyStarbase &&
39
+ (faction.faction === 'unaligned' ||
40
+ system.starbase.owner !== faction.faction))
39
41
  fail(resolved.system, 'This planner supports an existing own-faction StarbasePlayer only. Select an own-faction Starbase; other diplomacy or access routes require separate supported planning.');
40
42
  return {
41
43
  profileRaw,
42
44
  profile,
43
45
  character,
44
46
  faction,
47
+ system,
45
48
  starbase: system.starbase,
46
49
  player,
47
50
  };
@@ -1 +1 @@
1
- {"version":3,"file":"own-starbase-facts.js","sourceRoot":"","sources":["../../../src/internal/planning/own-starbase-facts.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EACL,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,gBAAgB,CAAC;AAUxB,SAAS,IAAI,CAAC,OAAgB,EAAE,OAAe;IAC7C,MAAM,IAAI,YAAY,CAAC,4BAA4B,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED;;;;mEAImE;AACnE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAIC,EACD,QAMC,EACD,QAAwD,EACxD,MAAyB;IAEzB,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,0BAA0B,CAAC,MAAM,CACjD,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,CAC1C,CAAC;IACF,MAAM,OAAO,GAAG,+BAA+B,CAAC,MAAM,CACpD,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,gBAAgB,CAAC,CACpD,CAAC;IACF,MAAM,MAAM,GAAG,2BAA2B,CAAC,MAAM,CAC/C,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CACzC,CAAC;IACF,MAAM,MAAM,GAAG,+BAA+B,CAAC,MAAM,CACnD,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,gBAAgB,CAAC,CACpD,CAAC;IACF,IACE,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;QAC9B,SAAS,CAAC,aAAa,KAAK,MAAM,CAAC,OAAO;QAE1C,IAAI,CACF,QAAQ,CAAC,SAAS,EAClB,6FAA6F,MAAM,CAAC,MAAM,GAAG,CAC9G,CAAC;IACJ,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO;QACpC,IAAI,CACF,QAAQ,CAAC,cAAc,EACvB,2FAA2F,MAAM,CAAC,MAAM,GAAG,CAC5G,CAAC;IACJ,IACE,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;QAC3B,CAAC,MAAM,uBAAuB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3D,MAAM,CAAC,MAAM;QACf,CAAC,MAAM,CAAC,QAAQ;QAEhB,IAAI,CACF,QAAQ,CAAC,MAAM,EACf,mHAAmH,CACpH,CAAC;IACJ,IACE,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,OAAO;QACvC,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS;QACvC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;QAC/B,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO;QAElC,IAAI,CACF,QAAQ,CAAC,cAAc,EACvB,yIAAyI,CAC1I,CAAC;IACJ,IACE,OAAO,CAAC,OAAO,KAAK,WAAW;QAC/B,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,OAAO,CAAC,OAAO;QAEzC,IAAI,CACF,QAAQ,CAAC,MAAM,EACf,0KAA0K,CAC3K,CAAC;IACJ,OAAO;QACL,UAAU;QACV,OAAO;QACP,SAAS;QACT,OAAO;QACP,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM;KACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"own-starbase-facts.js","sourceRoot":"","sources":["../../../src/internal/planning/own-starbase-facts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plan-guards.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/plan-guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAmVhE,mEAAmE;AACnE,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,UAAQ,GACX,gBAAgB,CAkBlB"}
1
+ {"version":3,"file":"plan-guards.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/plan-guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAqVhE,mEAAmE;AACnE,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,UAAQ,GACX,gBAAgB,CAkBlB"}
@@ -1,6 +1,7 @@
1
1
  import { normalizeArrivalGuard } from './arrival-guards.js';
2
2
  import { FLEET_DOCK_FUNDING_SCHEMA } from './fleet-dock-funding-guard.js';
3
3
  import { LOCAL_MARKET_ORDER_SCHEMA } from './local-market-order.js';
4
+ import { PROFILE_STORAGE_FUNDING_SCHEMA } from './profile-storage-funding-guard.js';
4
5
  import { MAX_U64, invalid, normalizeSchemaGuard, readRecord, } from './plan-fields.js';
5
6
  import { isRuntimeGuard, normalizeRuntimeGuard } from './runtime-guards.js';
6
7
  import { scanCompletionDiscriminators } from './scan-completion-guard.js';
@@ -159,6 +160,7 @@ const GUARD_SCHEMAS = {
159
160
  'account-state': schema(address('address'), ['dataHash', 'hash'], DESCRIBES),
160
161
  'fleet-dock-funding': FLEET_DOCK_FUNDING_SCHEMA,
161
162
  'local-market-order': LOCAL_MARKET_ORDER_SCHEMA,
163
+ 'profile-storage-funding': PROFILE_STORAGE_FUNDING_SCHEMA,
162
164
  };
163
165
  /** Validates one Plan guard; `wire` decodes its Plan JSON form. */
164
166
  export function normalizePrecondition(value, field, wire = false) {
@@ -1 +1 @@
1
- {"version":3,"file":"plan-guards.js","sourceRoot":"","sources":["../../../src/internal/planning/plan-guards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-guards.js","sourceRoot":"","sources":["../../../src/internal/planning/plan-guards.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { Instruction } from '@solana/kit';
2
+ import type { PlanPrecondition, PlanStep } from '../../planning/index.js';
3
+ import { type GuardSchema } from './plan-fields.js';
4
+ /** Bytes one new cargo line (u16 cargo id, u64 amount) adds to a cargo pod. */
5
+ export declare const CARGO_LINE_BYTES = 10;
6
+ /** Instructions whose account storage the Profile funds. Each is evaluated in
7
+ * Plan order; all but a subwarp stop also carry a funding guard. */
8
+ export type StorageInstruction = 'deposit' | 'starbase-transfer' | 'within-fleet-transfer' | 'start-mining' | 'stop-mining' | 'stop-subwarp';
9
+ /** Which Profile-funded instruction this is, if any, the index of the account
10
+ * its guard names, and whether it carries a guard. */
11
+ export declare function storageInstruction(instruction: Instruction): {
12
+ readonly kind: StorageInstruction;
13
+ readonly primary: number;
14
+ readonly guarded: boolean;
15
+ } | undefined;
16
+ /** Persisted Profile storage funding of one action: the Profile, signer and
17
+ * first resized account that bind it to its instruction, and the planned
18
+ * debit ceiling. Everything else is rederived from the instruction. */
19
+ export type ProfileStorageFundingGuard = Extract<PlanPrecondition, {
20
+ readonly kind: 'profile-storage-funding';
21
+ }>;
22
+ export declare const PROFILE_STORAGE_FUNDING_SCHEMA: GuardSchema;
23
+ /** Binds every guarded Profile-funded instruction to exactly one storage funding guard
24
+ * for its Profile, signer and first resized account, so a saved Plan cannot
25
+ * drop or retarget its funding check; a guard without its instruction is
26
+ * refused too. */
27
+ export declare function validateProfileStorageFundingGuards(steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
28
+ //# sourceMappingURL=profile-storage-funding-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-storage-funding-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/profile-storage-funding-guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAU1E,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAE1B,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC;oEACoE;AACpE,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,mBAAmB,GACnB,uBAAuB,GACvB,cAAc,GACd,aAAa,GACb,cAAc,CAAC;AAiBnB;sDACsD;AACtD,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,WAAW,GACvD;IACE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,GACD,SAAS,CAMZ;AAED;;uEAEuE;AACvE,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAC9C,gBAAgB,EAChB;IAAE,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAA;CAAE,CAC7C,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,WAe5C,CAAC;AAEF;;;kBAGkB;AAClB,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CA2BN"}
@@ -0,0 +1,66 @@
1
+ import { SageSdkError } from '../../client/errors.js';
2
+ import { DEPOSIT_CARGO_TO_GAME_DISCRIMINATOR, START_MINING_ASTEROID_DISCRIMINATOR, STOP_MINING_ASTEROID_DISCRIMINATOR, STOP_SUBWARP_DISCRIMINATOR, TRANSFER_CARGO_TO_FLEET_DISCRIMINATOR, TRANSFER_CARGO_WITHIN_FLEET_DISCRIMINATOR, } from '../c4/discriminators.js';
3
+ import { SAGE_PROGRAM_ADDRESS } from '../c4/runtime-bindings.js';
4
+ import { MAX_U64, } from './plan-fields.js';
5
+ /** Bytes one new cargo line (u16 cargo id, u64 amount) adds to a cargo pod. */
6
+ export const CARGO_LINE_BYTES = 10;
7
+ /** Each kind's discriminator, the instruction account index of the first
8
+ * account it resizes, which names the guard, and whether it carries one. Every
9
+ * one signs with account 0 and validates the Profile at account 1. A subwarp
10
+ * stop only returns the Fleet to Idle, which releases storage and refunds the
11
+ * Profile, so it has no guard; it is evaluated so later actions see the
12
+ * settled Fleet. */
13
+ const STORAGE_INSTRUCTIONS = [
14
+ ['deposit', DEPOSIT_CARGO_TO_GAME_DISCRIMINATOR, 5, true],
15
+ ['starbase-transfer', TRANSFER_CARGO_TO_FLEET_DISCRIMINATOR, 4, true],
16
+ ['within-fleet-transfer', TRANSFER_CARGO_WITHIN_FLEET_DISCRIMINATOR, 4, true],
17
+ ['start-mining', START_MINING_ASTEROID_DISCRIMINATOR, 4, true],
18
+ ['stop-mining', STOP_MINING_ASTEROID_DISCRIMINATOR, 5, true],
19
+ ['stop-subwarp', STOP_SUBWARP_DISCRIMINATOR, 5, false],
20
+ ];
21
+ /** Which Profile-funded instruction this is, if any, the index of the account
22
+ * its guard names, and whether it carries a guard. */
23
+ export function storageInstruction(instruction) {
24
+ if (instruction.programAddress !== SAGE_PROGRAM_ADDRESS)
25
+ return undefined;
26
+ const entry = STORAGE_INSTRUCTIONS.find(([, discriminator]) => discriminator.every((byte, index) => instruction.data?.[index] === byte));
27
+ return entry && { kind: entry[0], primary: entry[2], guarded: entry[3] };
28
+ }
29
+ export const PROFILE_STORAGE_FUNDING_SCHEMA = {
30
+ fields: [
31
+ ['address', 'address'],
32
+ ['profile', 'address'],
33
+ ['authority', 'address'],
34
+ [
35
+ 'maximumProfileDebit',
36
+ {
37
+ min: 0n,
38
+ max: MAX_U64,
39
+ accepted: 'a nonnegative u64 funding ceiling',
40
+ },
41
+ ],
42
+ ['describes', 'string'],
43
+ ],
44
+ };
45
+ /** Binds every guarded Profile-funded instruction to exactly one storage funding guard
46
+ * for its Profile, signer and first resized account, so a saved Plan cannot
47
+ * drop or retarget its funding check; a guard without its instruction is
48
+ * refused too. */
49
+ export function validateProfileStorageFundingGuards(steps, guards) {
50
+ const remaining = guards.filter((guard) => guard.kind === 'profile-storage-funding');
51
+ for (const { instruction } of steps) {
52
+ const known = storageInstruction(instruction);
53
+ if (!known?.guarded)
54
+ continue;
55
+ const metas = instruction.accounts;
56
+ const index = remaining.findIndex((guard) => guard.authority === metas?.[0]?.address &&
57
+ guard.profile === metas[1]?.address &&
58
+ guard.address === metas[known.primary]?.address);
59
+ if (index < 0)
60
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'An instruction that resizes Profile-funded storage has no matching Profile storage funding guard for its Profile, signer and account. Recreate the Plan with its planner.');
61
+ remaining.splice(index, 1);
62
+ }
63
+ if (remaining.length > 0)
64
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'A Profile storage funding guard has no matching instruction. Recreate the Plan with its planner.');
65
+ }
66
+ //# sourceMappingURL=profile-storage-funding-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-storage-funding-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/profile-storage-funding-guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import type { Address } from '@solana/kit';
2
+ import type { RawAccount } from '../../client/contracts.js';
3
+ import type { ProfileStorageFundingGuard } from './profile-storage-funding-guard.js';
4
+ export interface ProfileStorageFunding {
5
+ readonly profileDebit: bigint;
6
+ readonly profileReserve: bigint;
7
+ }
8
+ /** Checks that the signing key and the Profile can fund one action's storage
9
+ * debit. A zero debit withdraws nothing, so it needs neither `drainSolVault`
10
+ * nor Profile excess lamports. */
11
+ export declare function checkProfileStorageFunding(input: {
12
+ readonly profileRaw: RawAccount;
13
+ readonly rentRaw: RawAccount;
14
+ readonly authority: Address;
15
+ readonly keyIndex: number;
16
+ readonly profileDebit: bigint;
17
+ readonly action: string;
18
+ readonly maximumProfileDebit?: bigint;
19
+ }): ProfileStorageFunding & {
20
+ readonly direct: boolean;
21
+ };
22
+ /** Builds the guard and the summary sentence for one action's storage funding. */
23
+ export declare function profileStorageFundingGuard(input: {
24
+ readonly address: Address;
25
+ readonly profile: Address;
26
+ readonly authority: Address;
27
+ readonly funding: ProfileStorageFunding & {
28
+ readonly direct: boolean;
29
+ };
30
+ }): {
31
+ readonly guard: ProfileStorageFundingGuard;
32
+ readonly disclosure: string;
33
+ };
34
+ //# sourceMappingURL=profile-storage-funding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-storage-funding.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/profile-storage-funding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAS5D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAMrF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAMD;;kCAEkC;AAClC,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC,GAAG,qBAAqB,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAkCvD;AAED,kFAAkF;AAClF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;CACxE,GAAG;IACF,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,CAiBA"}