@aephia/atlas-kit 0.6.0-next.144 → 0.6.0-next.146

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 (47) hide show
  1. package/dist/claim-stakes/actions/index.d.ts +24 -0
  2. package/dist/claim-stakes/actions/index.d.ts.map +1 -1
  3. package/dist/claim-stakes/actions/index.js +108 -53
  4. package/dist/claim-stakes/actions/index.js.map +1 -1
  5. package/dist/fleets/actions/index.d.ts +6 -2
  6. package/dist/fleets/actions/index.d.ts.map +1 -1
  7. package/dist/fleets/actions/index.js +20 -4
  8. package/dist/fleets/actions/index.js.map +1 -1
  9. package/dist/internal/c4/claim-stake-storage.d.ts +45 -0
  10. package/dist/internal/c4/claim-stake-storage.d.ts.map +1 -0
  11. package/dist/internal/c4/claim-stake-storage.js +207 -0
  12. package/dist/internal/c4/claim-stake-storage.js.map +1 -0
  13. package/dist/internal/planning/claim-stake-storage-actions.d.ts +12 -0
  14. package/dist/internal/planning/claim-stake-storage-actions.d.ts.map +1 -0
  15. package/dist/internal/planning/claim-stake-storage-actions.js +63 -0
  16. package/dist/internal/planning/claim-stake-storage-actions.js.map +1 -0
  17. package/dist/internal/planning/currency-cache-guard.d.ts +3 -2
  18. package/dist/internal/planning/currency-cache-guard.d.ts.map +1 -1
  19. package/dist/internal/planning/currency-cache-guard.js +28 -3
  20. package/dist/internal/planning/currency-cache-guard.js.map +1 -1
  21. package/dist/internal/planning/plan-guards.d.ts.map +1 -1
  22. package/dist/internal/planning/plan-guards.js +6 -0
  23. package/dist/internal/planning/plan-guards.js.map +1 -1
  24. package/dist/internal/planning/profile-storage-funding-guard.d.ts +3 -2
  25. package/dist/internal/planning/profile-storage-funding-guard.d.ts.map +1 -1
  26. package/dist/internal/planning/profile-storage-funding-guard.js +61 -23
  27. package/dist/internal/planning/profile-storage-funding-guard.js.map +1 -1
  28. package/dist/internal/planning/region-access.d.ts +17 -0
  29. package/dist/internal/planning/region-access.d.ts.map +1 -1
  30. package/dist/internal/planning/region-access.js +69 -11
  31. package/dist/internal/planning/region-access.js.map +1 -1
  32. package/dist/internal/planning/storage-action-readers.d.ts.map +1 -1
  33. package/dist/internal/planning/storage-action-readers.js +13 -0
  34. package/dist/internal/planning/storage-action-readers.js.map +1 -1
  35. package/dist/internal/planning/storage-actions.d.ts +4 -0
  36. package/dist/internal/planning/storage-actions.d.ts.map +1 -1
  37. package/dist/internal/planning/storage-actions.js +2 -2
  38. package/dist/internal/planning/storage-actions.js.map +1 -1
  39. package/dist/planning/execution.d.ts.map +1 -1
  40. package/dist/planning/execution.js +13 -2
  41. package/dist/planning/execution.js.map +1 -1
  42. package/dist/planning/index.d.ts +16 -1
  43. package/dist/planning/index.d.ts.map +1 -1
  44. package/dist/planning/index.js +2 -2
  45. package/dist/planning/index.js.map +1 -1
  46. package/dist/planning/plan-construction.js +1 -1
  47. package/package.json +1 -1
@@ -0,0 +1,45 @@
1
+ import type { Address, ReadonlyUint8Array } from '@solana/kit';
2
+ import type { RawAccount } from '../../client/contracts.js';
3
+ import { type FleetStateChange } from './fleet-storage.js';
4
+ /** A Claim Stake placement's key index and bundled hub. */
5
+ export declare function decodePlaceClaimStakeData(data: ReadonlyUint8Array): {
6
+ keyIndex: number;
7
+ hubBuildingId: number;
8
+ };
9
+ /** A building change's key index and the building ids it changes. */
10
+ export declare function decodeBuildingChangesData(data: ReadonlyUint8Array): {
11
+ keyIndex: number;
12
+ buildingIds: number[];
13
+ };
14
+ /** A Claim Stake Fleet transfer start's key index. */
15
+ export declare function decodeStartTransferData(data: ReadonlyUint8Array): {
16
+ keyIndex: number;
17
+ };
18
+ /** The Fleet's state change when it starts a Claim Stake transfer: an Idle
19
+ * Fleet, after any completed movement settles, enters ClaimStakeTransfer with
20
+ * the requested load and unload lines. */
21
+ export declare function startTransferState(fleet: RawAccount, data: ReadonlyUint8Array): FleetStateChange;
22
+ /** The bytes a new Claim Stake holds and those its rent floor reserves: an
23
+ * Active stake with its bundled hub and a production entry per resource the
24
+ * hub produces or, on this Planet, extracts. A resource whose rate is positive
25
+ * reserves a cargo line. */
26
+ export declare function placedStakeBytes(game: RawAccount, body: RawAccount, hubBuildingId: number): {
27
+ readonly bytes: number;
28
+ readonly reservedBytes: number;
29
+ };
30
+ /** The level of a Star System's active Starbase. */
31
+ export declare function starbaseLevel(system: RawAccount): number;
32
+ /** The bytes a Planet grows by when a stake claims a plot: the stake's entry
33
+ * in its level's claim list, plus an empty claim list for each level up to the
34
+ * Starbase level that has none yet. */
35
+ export declare function claimedPlotGrowth(body: RawAccount, stake: Address, level: number): number;
36
+ /** How a building change resizes a stake and the bytes its rent floor reserves:
37
+ * an Active stake enters Design, and every building id the design does not yet
38
+ * hold gains an entry. */
39
+ export declare function buildingChangeStake(raw: RawAccount, buildingIds: readonly number[]): {
40
+ readonly growthBytes: number;
41
+ readonly reservedBytes: number;
42
+ };
43
+ /** The bytes a stake's rent floor reserves beyond its size. */
44
+ export declare function stakeReservedBytes(raw: RawAccount): number;
45
+ //# sourceMappingURL=claim-stake-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claim-stake-storage.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/claim-stake-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAe/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAG5B,2DAA2D;AAC3D,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,kBAAkB;;;EAIjE;AAED,qEAAqE;AACrE,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,kBAAkB;;;EAIjE;AAED,sDAAsD;AACtD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,kBAAkB;;EAM/D;AAED;;0CAE0C;AAC1C,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,kBAAkB,GACvB,gBAAgB,CAmBlB;AA8CD;;;4BAG4B;AAC5B,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,UAAU,EAChB,aAAa,EAAE,MAAM,GACpB;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAqD5D;AA0BD,oDAAoD;AACpD,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAIxD;AAED;;uCAEuC;AACvC,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,GACZ,MAAM,CAmCR;AAED;;0BAE0B;AAC1B,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,UAAU,EACf,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B;IAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAmBlE;AAED,+DAA+D;AAC/D,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAG1D"}
@@ -0,0 +1,207 @@
1
+ import { getCelestialBodyDecoder, getCelestialBodyEncoder, getClaimStakeInstanceDecoder, getClaimStakeInstanceEncoder, getFleetStateEncoder, getPlaceClaimStakeBuildingsInstructionDataDecoder, getPlaceClaimStakeInstanceWithHubInstructionDataDecoder, getStarSystemDecoder, getStartClaimStakesFleetTransferInstructionDataDecoder, } from '@staratlas/dev-sage';
2
+ import { AccountDecodeError } from '../../client/errors.js';
3
+ import { decodeCanonicalFleet, } from './fleet-storage.js';
4
+ import { decodeRegistryGame } from './game.js';
5
+ /** A Claim Stake placement's key index and bundled hub. */
6
+ export function decodePlaceClaimStakeData(data) {
7
+ const { keyIndex, hubBuildingId } = getPlaceClaimStakeInstanceWithHubInstructionDataDecoder().decode(data);
8
+ return { keyIndex, hubBuildingId };
9
+ }
10
+ /** A building change's key index and the building ids it changes. */
11
+ export function decodeBuildingChangesData(data) {
12
+ const { keyIndex, buildingChanges } = getPlaceClaimStakeBuildingsInstructionDataDecoder().decode(data);
13
+ return { keyIndex, buildingIds: buildingChanges.map(([id]) => id) };
14
+ }
15
+ /** A Claim Stake Fleet transfer start's key index. */
16
+ export function decodeStartTransferData(data) {
17
+ return {
18
+ keyIndex: getStartClaimStakesFleetTransferInstructionDataDecoder().decode(data)
19
+ .keyIndex,
20
+ };
21
+ }
22
+ /** The Fleet's state change when it starts a Claim Stake transfer: an Idle
23
+ * Fleet, after any completed movement settles, enters ClaimStakeTransfer with
24
+ * the requested load and unload lines. */
25
+ export function startTransferState(fleet, data) {
26
+ const { toLoad, toUnload } = getStartClaimStakesFleetTransferInstructionDataDecoder().decode(data);
27
+ const encoder = getFleetStateEncoder();
28
+ return {
29
+ fresh: encoder.encode(decodeCanonicalFleet(fleet).state).length,
30
+ after: encoder.encode({
31
+ __kind: 'ClaimStakeTransfer',
32
+ fields: [
33
+ {
34
+ planet: fleet.address,
35
+ claimStake: fleet.address,
36
+ end: 0,
37
+ load: new Map(toLoad),
38
+ unload: new Map(toUnload),
39
+ },
40
+ ],
41
+ }).length,
42
+ };
43
+ }
44
+ function decodeCanonicalStake(raw) {
45
+ const stake = getClaimStakeInstanceDecoder().decode(raw.data);
46
+ if (getClaimStakeInstanceEncoder().encode(stake).length !== raw.data.length)
47
+ throw new AccountDecodeError('claimStakeInstance', raw.address, new RangeError('Claim Stake decoding lost variable collection entries.'), 'The Claim Stake contains noncanonical variable collections. Refresh a valid Claim Stake before estimating its storage.');
48
+ return stake;
49
+ }
50
+ /** The bytes the program funds a stake for beyond its size: it keeps the
51
+ * stake funded to the size it can reach once Deactivated, with a cargo line for
52
+ * every resource it produces at a positive rate that has none yet. */
53
+ function reservedBytes(stake, producing) {
54
+ const amounts = new Map(stake.productionCore.cargoPod.amounts);
55
+ for (const cargoId of producing)
56
+ if (!amounts.has(cargoId))
57
+ amounts.set(cargoId, 0);
58
+ const encoder = getClaimStakeInstanceEncoder();
59
+ const bytes = encoder.encode(stake).length;
60
+ return Math.max(0, encoder.encode({
61
+ ...stake,
62
+ state: { __kind: 'Deactivated', fields: [{ deactivationTime: 0 }] },
63
+ productionCore: {
64
+ ...stake.productionCore,
65
+ cargoPod: { ...stake.productionCore.cargoPod, amounts },
66
+ },
67
+ }).length - bytes);
68
+ }
69
+ /** The resources a stored stake produces at a positive rate. */
70
+ function producing(stake) {
71
+ return [...stake.productionCore.netResourceProduction]
72
+ .filter(([, rate]) => rate.raw > 0n)
73
+ .map(([cargoId]) => cargoId);
74
+ }
75
+ /** The bytes a new Claim Stake holds and those its rent floor reserves: an
76
+ * Active stake with its bundled hub and a production entry per resource the
77
+ * hub produces or, on this Planet, extracts. A resource whose rate is positive
78
+ * reserves a cargo line. */
79
+ export function placedStakeBytes(game, body, hubBuildingId) {
80
+ // The planner checks the hub exists in the configured Game.
81
+ const hub = decodeRegistryGame(game).buildingDefinitions.buildings.unsizedList.find(({ buildingId }) => buildingId === hubBuildingId);
82
+ const resources = planetResources(body);
83
+ // Extraction is the hub's U54F10 rate times the Planet's U16F48 richness,
84
+ // truncated to I54F10 as the program does.
85
+ const rates = new Map();
86
+ for (const [cargoId, rate] of hub.netResourceProduction)
87
+ rates.set(cargoId, rate.raw);
88
+ for (const [cargoId, rate] of hub.resourceExtraction) {
89
+ const richness = resources.get(cargoId);
90
+ if (richness !== undefined)
91
+ rates.set(cargoId, (rates.get(cargoId) ?? 0n) + ((rate.raw * richness) >> 48n));
92
+ }
93
+ const stake = {
94
+ version: 0,
95
+ owner: game.address,
96
+ gameId: game.address,
97
+ celestialBodyId: body.address,
98
+ claimStakeDefinitionId: 0,
99
+ claimStakeDefinitionSeqId: 0,
100
+ buildingDefinitionSeqId: 0,
101
+ systemSeqId: 0,
102
+ lastRentClockTimestamp: 0,
103
+ constructionRemaining: 0,
104
+ constructionProgressTimestamp: 0,
105
+ rentBalance: 0,
106
+ neededCrew: 0,
107
+ buildings: new Map([[hubBuildingId, 1]]),
108
+ state: { __kind: 'Active' },
109
+ productionCore: {
110
+ lastTickTimestamp: 0,
111
+ resourceStorage: 0,
112
+ netResourceProduction: new Map([...rates].map(([cargoId, raw]) => [cargoId, raw])),
113
+ cargoPod: { seqId: 0, storageCost: 0, amounts: new Map() },
114
+ },
115
+ };
116
+ return {
117
+ bytes: getClaimStakeInstanceEncoder().encode(stake).length,
118
+ reservedBytes: reservedBytes(stake, [...rates].filter(([, raw]) => raw > 0n).map(([cargoId]) => cargoId)),
119
+ };
120
+ }
121
+ // Placement requires a Planet and a System with an active Starbase, and the
122
+ // planner guards both unchanged until signing.
123
+ function planet(body) {
124
+ const decoded = getCelestialBodyDecoder().decode(body.data);
125
+ return {
126
+ decoded,
127
+ planet: decoded.celestialBodyType.fields[0],
128
+ };
129
+ }
130
+ function planetResources(body) {
131
+ return new Map([...planet(body).planet.resources].map(([id, richness]) => [
132
+ id,
133
+ richness.raw,
134
+ ]));
135
+ }
136
+ /** The level of a Star System's active Starbase. */
137
+ export function starbaseLevel(system) {
138
+ const { starbase } = getStarSystemDecoder().decode(system.data);
139
+ return starbase.value
140
+ .level;
141
+ }
142
+ /** The bytes a Planet grows by when a stake claims a plot: the stake's entry
143
+ * in its level's claim list, plus an empty claim list for each level up to the
144
+ * Starbase level that has none yet. */
145
+ export function claimedPlotGrowth(body, stake, level) {
146
+ const { decoded, planet: current } = planet(body);
147
+ const plots = current.claimedPlots;
148
+ const present = new Set(plots.offsetList.map(({ key }) => key));
149
+ const offsetList = [...plots.offsetList];
150
+ const unsizedList = [...plots.unsizedList];
151
+ for (let key = 0; key <= level; key += 1)
152
+ if (!present.has(key)) {
153
+ offsetList.push({ offset: 0, key });
154
+ unsizedList.push({ chronoList: [], stakeMap: new Map() });
155
+ }
156
+ const [first, ...rest] = unsizedList;
157
+ const claimed = {
158
+ chronoList: [...first.chronoList, stake],
159
+ stakeMap: new Map([...first.stakeMap, [stake, { deactivationTime: 0n }]]),
160
+ };
161
+ const encoder = getCelestialBodyEncoder();
162
+ return (encoder.encode({
163
+ ...decoded,
164
+ celestialBodyType: {
165
+ __kind: 'Planet',
166
+ fields: [
167
+ {
168
+ ...current,
169
+ claimedPlots: {
170
+ ...plots,
171
+ offsetList,
172
+ unsizedList: [claimed, ...rest],
173
+ },
174
+ },
175
+ ],
176
+ },
177
+ }).length - body.data.length);
178
+ }
179
+ /** How a building change resizes a stake and the bytes its rent floor reserves:
180
+ * an Active stake enters Design, and every building id the design does not yet
181
+ * hold gains an entry. */
182
+ export function buildingChangeStake(raw, buildingIds) {
183
+ const stake = decodeCanonicalStake(raw);
184
+ const design = stake.state.__kind === 'Design'
185
+ ? new Map(stake.state.fields[0].buildings)
186
+ : new Map();
187
+ for (const id of buildingIds)
188
+ if (!design.has(id))
189
+ design.set(id, 0);
190
+ const changed = {
191
+ ...stake,
192
+ state: {
193
+ __kind: 'Design',
194
+ fields: [{ sequenceId: 0, buildings: design }],
195
+ },
196
+ };
197
+ return {
198
+ growthBytes: getClaimStakeInstanceEncoder().encode(changed).length - raw.data.length,
199
+ reservedBytes: reservedBytes(changed, producing(stake)),
200
+ };
201
+ }
202
+ /** The bytes a stake's rent floor reserves beyond its size. */
203
+ export function stakeReservedBytes(raw) {
204
+ const stake = decodeCanonicalStake(raw);
205
+ return reservedBytes(stake, producing(stake));
206
+ }
207
+ //# sourceMappingURL=claim-stake-storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claim-stake-storage.js","sourceRoot":"","sources":["../../../src/internal/c4/claim-stake-storage.ts"],"names":[],"mappings":"AACA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,4BAA4B,EAC5B,oBAAoB,EACpB,iDAAiD,EACjD,uDAAuD,EACvD,oBAAoB,EACpB,sDAAsD,GAGvD,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EACL,oBAAoB,GAErB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,2DAA2D;AAC3D,MAAM,UAAU,yBAAyB,CAAC,IAAwB;IAChE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAC/B,uDAAuD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;AACrC,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,yBAAyB,CAAC,IAAwB;IAChE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GACjC,iDAAiD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACtE,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,uBAAuB,CAAC,IAAwB;IAC9D,OAAO;QACL,QAAQ,EACN,sDAAsD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;aAClE,QAAQ;KACd,CAAC;AACJ,CAAC;AAED;;0CAE0C;AAC1C,MAAM,UAAU,kBAAkB,CAChC,KAAiB,EACjB,IAAwB;IAExB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GACxB,sDAAsD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM;QAC/D,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC;YACpB,MAAM,EAAE,oBAAoB;YAC5B,MAAM,EAAE;gBACN;oBACE,MAAM,EAAE,KAAK,CAAC,OAAO;oBACrB,UAAU,EAAE,KAAK,CAAC,OAAO;oBACzB,GAAG,EAAE,CAAC;oBACN,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC;oBACrB,MAAM,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC;iBAC1B;aACF;SACF,CAAC,CAAC,MAAM;KACV,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAe;IAC3C,MAAM,KAAK,GAAG,4BAA4B,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,4BAA4B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM;QACzE,MAAM,IAAI,kBAAkB,CAC1B,oBAAoB,EACpB,GAAG,CAAC,OAAO,EACX,IAAI,UAAU,CAAC,wDAAwD,CAAC,EACxE,wHAAwH,CACzH,CAAC;IACJ,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;sEAEsE;AACtE,SAAS,aAAa,CACpB,KAA6B,EAC7B,SAA2B;IAE3B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/D,KAAK,MAAM,OAAO,IAAI,SAAS;QAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,4BAA4B,EAAE,CAAC;IAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IAC3C,OAAO,IAAI,CAAC,GAAG,CACb,CAAC,EACD,OAAO,CAAC,MAAM,CAAC;QACb,GAAG,KAAK;QACR,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC,EAAE;QACnE,cAAc,EAAE;YACd,GAAG,KAAK,CAAC,cAAc;YACvB,QAAQ,EAAE,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE;SACxD;KACF,CAAC,CAAC,MAAM,GAAG,KAAK,CAClB,CAAC;AACJ,CAAC;AAED,gEAAgE;AAChE,SAAS,SAAS,CAAC,KAAyB;IAC1C,OAAO,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,qBAAqB,CAAC;SACnD,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;SACnC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;;4BAG4B;AAC5B,MAAM,UAAU,gBAAgB,CAC9B,IAAgB,EAChB,IAAgB,EAChB,aAAqB;IAErB,4DAA4D;IAC5D,MAAM,GAAG,GAAG,kBAAkB,CAC5B,IAAI,CACL,CAAC,mBAAmB,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAC9C,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,UAAU,KAAK,aAAa,CAChD,CAAC;IACH,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACxC,0EAA0E;IAC1E,2CAA2C;IAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,qBAAqB;QACrD,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,QAAQ,KAAK,SAAS;YACxB,KAAK,CAAC,GAAG,CACP,OAAO,EACP,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,IAAI,GAAG,CAAC,CAC5D,CAAC;IACN,CAAC;IACD,MAAM,KAAK,GAA2B;QACpC,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,IAAI,CAAC,OAAO;QACnB,MAAM,EAAE,IAAI,CAAC,OAAO;QACpB,eAAe,EAAE,IAAI,CAAC,OAAO;QAC7B,sBAAsB,EAAE,CAAC;QACzB,yBAAyB,EAAE,CAAC;QAC5B,uBAAuB,EAAE,CAAC;QAC1B,WAAW,EAAE,CAAC;QACd,sBAAsB,EAAE,CAAC;QACzB,qBAAqB,EAAE,CAAC;QACxB,6BAA6B,EAAE,CAAC;QAChC,WAAW,EAAE,CAAC;QACd,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC3B,cAAc,EAAE;YACd,iBAAiB,EAAE,CAAC;YACpB,eAAe,EAAE,CAAC;YAClB,qBAAqB,EAAE,IAAI,GAAG,CAC5B,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CACnD;YACD,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE;SAC3D;KACF,CAAC;IACF,OAAO;QACL,KAAK,EAAE,4BAA4B,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM;QAC1D,aAAa,EAAE,aAAa,CAC1B,KAAK,EACL,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CACrE;KACF,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,+CAA+C;AAC/C,SAAS,MAAM,CAAC,IAAgB;IAC9B,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,OAAO;QACL,OAAO;QACP,MAAM,EACJ,OAAO,CAAC,iBAIT,CAAC,MAAM,CAAC,CAAC,CAAC;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,IAAgB;IACvC,OAAO,IAAI,GAAG,CACZ,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;QACzD,EAAE;QACF,QAAQ,CAAC,GAAG;KACb,CAAC,CACH,CAAC;AACJ,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,aAAa,CAAC,MAAkB;IAC9C,MAAM,EAAE,QAAQ,EAAE,GAAG,oBAAoB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChE,OAAQ,QAA2D,CAAC,KAAK;SACtE,KAAK,CAAC;AACX,CAAC;AAED;;uCAEuC;AACvC,MAAM,UAAU,iBAAiB,CAC/B,IAAgB,EAChB,KAAc,EACd,KAAa;IAEb,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;IAC3C,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,KAAK,EAAE,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YACpC,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,WAAW,CAAC;IACrC,MAAM,OAAO,GAAG;QACd,UAAU,EAAE,CAAC,GAAG,KAAM,CAAC,UAAU,EAAE,KAAK,CAAC;QACzC,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,KAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;KAC3E,CAAC;IACF,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;IAC1C,OAAO,CACL,OAAO,CAAC,MAAM,CAAC;QACb,GAAG,OAAO;QACV,iBAAiB,EAAE;YACjB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE;gBACN;oBACE,GAAG,OAAO;oBACV,YAAY,EAAE;wBACZ,GAAG,KAAK;wBACR,UAAU;wBACV,WAAW,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;qBAChC;iBACF;aACF;SACF;KACF,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAC7B,CAAC;AACJ,CAAC;AAED;;0BAE0B;AAC1B,MAAM,UAAU,mBAAmB,CACjC,GAAe,EACf,WAA8B;IAE9B,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,MAAM,GACV,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ;QAC7B,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1C,CAAC,CAAC,IAAI,GAAG,EAAkB,CAAC;IAChC,KAAK,MAAM,EAAE,IAAI,WAAW;QAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrE,MAAM,OAAO,GAA2B;QACtC,GAAG,KAAK;QACR,KAAK,EAAE;YACL,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;SAC/C;KACF,CAAC;IACF,OAAO;QACL,WAAW,EACT,4BAA4B,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM;QACzE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;KACxD,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,kBAAkB,CAAC,GAAe;IAChD,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACxC,OAAO,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAChD,CAAC"}
@@ -0,0 +1,12 @@
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 Claim Stake placement's, building change's or Fleet transfer
5
+ * start's storage effect from its bytes and the fresh accounts. The program
6
+ * funds a stake to its rent floor, which reserves the growth it can reach once
7
+ * Deactivated. A placement creates the stake and claims a Planet plot, each
8
+ * funded on its own; a building change grows only the stake, since the Planet
9
+ * can only shrink. A transfer start settles the stake and the Fleet entering
10
+ * the transfer together, so the stake's surplus funds the Fleet first. */
11
+ export declare function readClaimStakeStorageAction(instruction: Instruction, accounts: ReadonlyMap<Address, RawAccount | undefined>): StorageAction;
12
+ //# sourceMappingURL=claim-stake-storage-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claim-stake-storage-actions.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/claim-stake-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;AAa5D,OAAO,EAAW,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEnE;;;;;;0EAM0E;AAC1E,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,GACrD,aAAa,CA2Df"}
@@ -0,0 +1,63 @@
1
+ import { buildingChangeStake, claimedPlotGrowth, decodeBuildingChangesData, decodePlaceClaimStakeData, decodeStartTransferData, placedStakeBytes, stakeReservedBytes, starbaseLevel, startTransferState, } from '../c4/claim-stake-storage.js';
2
+ import { storageInstruction } from './profile-storage-funding-guard.js';
3
+ import { present } from './storage-actions.js';
4
+ /** Reads a Claim Stake placement's, building change's or Fleet transfer
5
+ * start's storage effect from its bytes and the fresh accounts. The program
6
+ * funds a stake to its rent floor, which reserves the growth it can reach once
7
+ * Deactivated. A placement creates the stake and claims a Planet plot, each
8
+ * funded on its own; a building change grows only the stake, since the Planet
9
+ * can only shrink. A transfer start settles the stake and the Fleet entering
10
+ * the transfer together, so the stake's surplus funds the Fleet first. */
11
+ export function readClaimStakeStorageAction(instruction, accounts) {
12
+ const { kind } = storageInstruction(instruction);
13
+ const metas = instruction.accounts;
14
+ const data = instruction.data;
15
+ if (kind === 'start-claim-stake-transfer') {
16
+ const fleet = present(accounts, metas[4].address);
17
+ const stake = present(accounts, metas[5].address);
18
+ return {
19
+ profile: metas[1].address,
20
+ authority: metas[0].address,
21
+ keyIndex: decodeStartTransferData(data).keyIndex,
22
+ settlement: 'net',
23
+ accounts: [
24
+ { address: fleet.address, state: startTransferState(fleet, data) },
25
+ { address: stake.address, reservedBytes: stakeReservedBytes(stake) },
26
+ ],
27
+ };
28
+ }
29
+ const signer = {
30
+ profile: metas[2].address,
31
+ authority: metas[1].address,
32
+ settlement: 'each',
33
+ };
34
+ const stake = metas[6].address;
35
+ if (kind === 'claim-stake-building-changes') {
36
+ const { keyIndex, buildingIds } = decodeBuildingChangesData(data);
37
+ return {
38
+ ...signer,
39
+ keyIndex,
40
+ accounts: [
41
+ {
42
+ address: stake,
43
+ ...buildingChangeStake(present(accounts, stake), buildingIds),
44
+ },
45
+ ],
46
+ };
47
+ }
48
+ const { keyIndex, hubBuildingId } = decodePlaceClaimStakeData(data);
49
+ const body = present(accounts, metas[9].address);
50
+ const { bytes, reservedBytes } = placedStakeBytes(present(accounts, metas[0].address), body, hubBuildingId);
51
+ return {
52
+ ...signer,
53
+ keyIndex,
54
+ accounts: [
55
+ { address: stake, created: true, growthBytes: bytes, reservedBytes },
56
+ {
57
+ address: body.address,
58
+ growthBytes: claimedPlotGrowth(body, stake, starbaseLevel(present(accounts, metas[7].address))),
59
+ },
60
+ ],
61
+ };
62
+ }
63
+ //# sourceMappingURL=claim-stake-storage-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claim-stake-storage-actions.js","sourceRoot":"","sources":["../../../src/internal/planning/claim-stake-storage-actions.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { PlanPrecondition, PlanStep } from '../../planning/index.js';
2
- /** Bind the cache guard, and a warp lane's destination region-access guard,
3
- * to generated instruction metas, independently of Plan kind. */
2
+ /** Bind the cache guard, a warp lane's destination region-access guard and a
3
+ * coordinate movement's region-path guard to generated instruction metas,
4
+ * independently of Plan kind. */
4
5
  export declare function validateCurrencyInstructions(steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
5
6
  //# sourceMappingURL=currency-cache-guard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"currency-cache-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/currency-cache-guard.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAU1E;iEACiE;AACjE,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CAmDN"}
1
+ {"version":3,"file":"currency-cache-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/currency-cache-guard.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAY1E;;iCAEiC;AACjC,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CA0FN"}
@@ -1,9 +1,10 @@
1
1
  import { AccountRole } from '@solana/kit';
2
2
  import { SageSdkError } from '../../client/errors.js';
3
3
  import { SAGE_PROGRAM_ADDRESS } from '../c4/runtime-bindings.js';
4
- import { CANCEL_CLAIM_STAKE_BUILDING_DESIGN_DISCRIMINATOR, DECONSTRUCT_CLAIM_STAKE_INSTANCE_DISCRIMINATOR, FINALIZE_BUILDING_CHANGES_DISCRIMINATOR, START_CLAIM_STAKES_FLEET_TRANSFER_DISCRIMINATOR, WARP_LANE_DISCRIMINATOR, } from '../c4/discriminators.js';
5
- /** Bind the cache guard, and a warp lane's destination region-access guard,
6
- * to generated instruction metas, independently of Plan kind. */
4
+ import { CANCEL_CLAIM_STAKE_BUILDING_DESIGN_DISCRIMINATOR, DECONSTRUCT_CLAIM_STAKE_INSTANCE_DISCRIMINATOR, FINALIZE_BUILDING_CHANGES_DISCRIMINATOR, START_CLAIM_STAKES_FLEET_TRANSFER_DISCRIMINATOR, START_SUBWARP_DISCRIMINATOR, WARP_LANE_DISCRIMINATOR, WARP_TO_COORDINATE_DISCRIMINATOR, } from '../c4/discriminators.js';
5
+ /** Bind the cache guard, a warp lane's destination region-access guard and a
6
+ * coordinate movement's region-path guard to generated instruction metas,
7
+ * independently of Plan kind. */
7
8
  export function validateCurrencyInstructions(steps, guards) {
8
9
  // Discriminator, Game index, cache index. Full layout validation stays in
9
10
  // the existing runtime validators. Keep generated
@@ -18,6 +19,30 @@ export function validateCurrencyInstructions(steps, guards) {
18
19
  for (const [index, { instruction }] of steps.entries()) {
19
20
  if (instruction.programAddress !== SAGE_PROGRAM_ADDRESS)
20
21
  continue;
22
+ // Discriminator and raw I8F56 destination offset; Fleet, Game and
23
+ // RegionTracker are accounts 5, 6 and 7.
24
+ const movement = [
25
+ [START_SUBWARP_DISCRIMINATOR, 8],
26
+ [WARP_TO_COORDINATE_DISCRIMINATOR, 10],
27
+ ].find(([discriminator]) => discriminator.every((byte, i) => instruction.data?.[i] === byte));
28
+ if (movement) {
29
+ const [fleet, game, tracker] = [5, 6, 7].map((i) => instruction.accounts?.[i]);
30
+ const data = new Uint8Array(instruction.data);
31
+ const offset = movement[1];
32
+ const view = data.length >= offset + 16
33
+ ? new DataView(data.buffer, data.byteOffset, data.length)
34
+ : undefined;
35
+ const to = [offset, offset + 8].map((at) => view?.getBigInt64(at, true));
36
+ if (!guards.some((g) => g.address === tracker?.address &&
37
+ ((g.kind === 'region-path' &&
38
+ g.game === game?.address &&
39
+ g.fleet === fleet?.address &&
40
+ g.toX === to[0] &&
41
+ g.toY === to[1]) ||
42
+ g.kind === 'account-state')))
43
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', `Step ${index}: RegionTracker ${tracker?.address} needs a region-path guard for this coordinate movement's Fleet and destination. Recreate via its planner.`);
44
+ continue;
45
+ }
21
46
  const layout = layouts.find(([discriminator]) => discriminator.every((byte, index) => instruction.data?.[index] === byte));
22
47
  if (!layout)
23
48
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"currency-cache-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/currency-cache-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"currency-cache-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/currency-cache-guard.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;AA4VhE,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;AA4WhE,mEAAmE;AACnE,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,UAAQ,GACX,gBAAgB,CAkBlB"}
@@ -31,6 +31,11 @@ const U64 = {
31
31
  max: MAX_U64,
32
32
  accepted: 'an unsigned u64 bigint',
33
33
  };
34
+ const I64_COORDINATE = {
35
+ min: -(2n ** 63n),
36
+ max: 2n ** 63n - 1n,
37
+ accepted: 'a signed raw I8F56 coordinate',
38
+ };
34
39
  const SEQUENCE = { ...U64, accepted: 'an unsigned u64 sequence' };
35
40
  const STARBASE_SEQUENCE = {
36
41
  ...U64,
@@ -82,6 +87,7 @@ const GUARD_SCHEMAS = {
82
87
  'fleet-attack': schema(address('address'), address('defender'), address('game'), address('profile'), address('defenderProfile'), ['instructionKey', 'string'], DESCRIBES),
83
88
  'currency-cache': schema(address('address'), address('game'), DESCRIBES),
84
89
  'region-access': schema(address('address'), address('game'), address('system'), ['accessHash', 'hash'], DESCRIBES),
90
+ 'region-path': schema(address('address'), address('game'), address('fleet'), ['fromX', I64_COORDINATE], ['fromY', I64_COORDINATE], ['toX', I64_COORDINATE], ['toY', I64_COORDINATE], ['pathHash', 'hash'], DESCRIBES),
85
91
  'movement-character': schema(address('address'), address('game'), address('profile'), ['stateHash', 'hash'], DESCRIBES),
86
92
  'fleet-docking-policy': schema(address('address'), address('game'), address('system'), address('ownership'), address('starbasePlayer'), DESCRIBES),
87
93
  'starbase-system': schema(address('address'), address('game'), ['starbaseSequenceId', STARBASE_SEQUENCE], [
@@ -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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"}
@@ -5,13 +5,14 @@ import { type GuardSchema } from './plan-fields.js';
5
5
  export declare const CARGO_LINE_BYTES = 10;
6
6
  /** Instructions whose account storage the Profile funds. Each is evaluated in
7
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' | 'cancel-market-orders' | 'faction-trade' | 'start-subwarp' | 'warp-to-coordinate' | 'warp-lane' | 'start-crafting' | 'cancel-crafting' | 'apply-stimulant' | 'retrieve-loot' | 'recover-signal';
8
+ export type StorageInstruction = 'deposit' | 'starbase-transfer' | 'within-fleet-transfer' | 'start-mining' | 'stop-mining' | 'stop-subwarp' | 'cancel-market-orders' | 'faction-trade' | 'start-subwarp' | 'warp-to-coordinate' | 'warp-lane' | 'start-crafting' | 'cancel-crafting' | 'apply-stimulant' | 'retrieve-loot' | 'recover-signal' | 'place-claim-stake' | 'claim-stake-building-changes' | 'start-claim-stake-transfer';
9
9
  /** Which Profile-funded instruction this is, if any, the index of the account
10
- * its guard names, and whether it carries a guard. */
10
+ * its guard names, whether it carries a guard, and its signing key's index. */
11
11
  export declare function storageInstruction(instruction: Instruction): {
12
12
  readonly kind: StorageInstruction;
13
13
  readonly primary: number;
14
14
  readonly guarded: boolean;
15
+ readonly signer: number;
15
16
  } | undefined;
16
17
  /** Persisted Profile storage funding of one action: the Profile, signer and
17
18
  * first resized account that bind it to its instruction, and the planned
@@ -1 +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;AAoB1E,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,GACd,sBAAsB,GACtB,eAAe,GACf,eAAe,GACf,oBAAoB,GACpB,WAAW,GACX,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,gBAAgB,CAAC;AA2BrB;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"}
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;AAuB1E,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,GACd,sBAAsB,GACtB,eAAe,GACf,eAAe,GACf,oBAAoB,GACpB,WAAW,GACX,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,8BAA8B,GAC9B,4BAA4B,CAAC;AA4DjC;+EAC+E;AAC/E,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;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,GACD,SAAS,CAaZ;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"}