@aephia/atlas-kit 0.6.0-next.90 → 0.6.0-next.92
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.
- package/dist/crafting/actions/index.d.ts.map +1 -1
- package/dist/crafting/actions/index.js +12 -2
- package/dist/crafting/actions/index.js.map +1 -1
- package/dist/fleets/index.d.ts +1 -0
- package/dist/fleets/index.d.ts.map +1 -1
- package/dist/fleets/index.js +1 -0
- package/dist/fleets/index.js.map +1 -1
- package/dist/fleets/travel-profile.d.ts +102 -0
- package/dist/fleets/travel-profile.d.ts.map +1 -0
- package/dist/fleets/travel-profile.js +120 -0
- package/dist/fleets/travel-profile.js.map +1 -0
- package/dist/internal/c4/claim-stake-definitions.d.ts +4 -4
- package/dist/internal/c4/claim-stake-definitions.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake-definitions.js.map +1 -1
- package/dist/internal/c4/game-definition-layout.d.ts +2 -0
- package/dist/internal/c4/game-definition-layout.d.ts.map +1 -1
- package/dist/internal/c4/game-definition-layout.js +4 -0
- package/dist/internal/c4/game-definition-layout.js.map +1 -1
- package/dist/internal/c4/game.d.ts +19 -11
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +31 -76
- package/dist/internal/c4/game.js.map +1 -1
- package/dist/internal/planning/fleet-dock-funding-guard.d.ts.map +1 -1
- package/dist/internal/planning/fleet-dock-funding-guard.js +50 -50
- package/dist/internal/planning/fleet-dock-funding-guard.js.map +1 -1
- package/dist/internal/planning/fleet-dock-funding.d.ts.map +1 -1
- package/dist/internal/planning/fleet-dock-funding.js +13 -12
- package/dist/internal/planning/fleet-dock-funding.js.map +1 -1
- package/dist/mining/index.d.ts +1 -0
- package/dist/mining/index.d.ts.map +1 -1
- package/dist/mining/index.js +1 -0
- package/dist/mining/index.js.map +1 -1
- package/dist/mining/profile.d.ts +82 -0
- package/dist/mining/profile.d.ts.map +1 -0
- package/dist/mining/profile.js +109 -0
- package/dist/mining/profile.js.map +1 -0
- package/dist/planning/execution.d.ts.map +1 -1
- package/dist/planning/execution.js +26 -25
- package/dist/planning/execution.js.map +1 -1
- package/dist/registry/cargo.d.ts +2 -2
- package/dist/registry/cargo.d.ts.map +1 -1
- package/dist/registry/cargo.js +2 -2
- package/dist/registry/cargo.js.map +1 -1
- package/dist/registry/docking.d.ts +9 -12
- package/dist/registry/docking.d.ts.map +1 -1
- package/dist/registry/docking.js +8 -15
- package/dist/registry/docking.js.map +1 -1
- package/dist/registry/onboarding.d.ts +2 -1
- package/dist/registry/onboarding.d.ts.map +1 -1
- package/dist/registry/onboarding.js +2 -2
- package/dist/registry/onboarding.js.map +1 -1
- package/dist/registry/ships.d.ts +3 -3
- package/dist/registry/ships.d.ts.map +1 -1
- package/dist/registry/ships.js +7 -4
- package/dist/registry/ships.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type GameClaimStakeBuildingDefinitionData } from './claim-stake-building-definitions.js';
|
|
2
2
|
import { type GameClaimStakeDefinitionData } from './claim-stake-definitions.js';
|
|
3
|
-
import { type CargoType, type Ship } from '@staratlas/dev-sage';
|
|
3
|
+
import { type CargoType, type Game, type Ship } from '@staratlas/dev-sage';
|
|
4
4
|
import type { Address, RawAccount } from '../../client/contracts.js';
|
|
5
5
|
import type { C4AccountAdapter } from './adapter.js';
|
|
6
6
|
import type { FleetStatsData } from './fleet.js';
|
|
@@ -198,8 +198,14 @@ export interface GameCombatConfigurationData {
|
|
|
198
198
|
readonly definitions: readonly GameStimulantDefinitionData[];
|
|
199
199
|
};
|
|
200
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* Exact Game decodes shared by registry projections within one validation
|
|
203
|
+
* batch, keyed by the batch's own raw account rows. Callers create one per
|
|
204
|
+
* batch and discard it; it is never retained by a context or module.
|
|
205
|
+
*/
|
|
206
|
+
export type GameDecodeScope = Map<RawAccount, Game>;
|
|
201
207
|
/** Validates the complete pinned Game layout without retaining or translating definition sections. */
|
|
202
|
-
export declare function validateGameAccountLayout(account: RawAccount): void;
|
|
208
|
+
export declare function validateGameAccountLayout(account: RawAccount, scope?: GameDecodeScope): void;
|
|
203
209
|
/** Registry-owned runtime version read after complete, exact Game validation. */
|
|
204
210
|
export declare function decodeGameRuntimeVersion(account: RawAccount): number;
|
|
205
211
|
/** Qualified #621 initialization projection; unrelated Game economics are excluded. */
|
|
@@ -209,7 +215,7 @@ export declare function decodeCharacterInitialization(account: RawAccount): {
|
|
|
209
215
|
bytes: Uint8Array;
|
|
210
216
|
};
|
|
211
217
|
/** Full decoded cargo rows after one registry-owned Game validation and exact decode. */
|
|
212
|
-
export declare function decodeGameCargoConfigurationRows(account: RawAccount): {
|
|
218
|
+
export declare function decodeGameCargoConfigurationRows(account: RawAccount, scope?: GameDecodeScope): {
|
|
213
219
|
readonly cache: Address;
|
|
214
220
|
readonly rows: readonly CargoType[];
|
|
215
221
|
readonly sequenceId: number;
|
|
@@ -221,13 +227,13 @@ export type GameShipConfigurationRow = Ship;
|
|
|
221
227
|
/** Canonical full pinned Ship bytes for registry-owned configuration freshness. */
|
|
222
228
|
export declare function encodeGameShipConfiguration(ship: Ship): Uint8Array;
|
|
223
229
|
/** Full pinned Game validation with raw Ship rows, without public section translation. */
|
|
224
|
-
export declare function decodeGameShipConfigurationRows(account: RawAccount): {
|
|
230
|
+
export declare function decodeGameShipConfigurationRows(account: RawAccount, scope?: GameDecodeScope): {
|
|
225
231
|
readonly sequenceId: number;
|
|
226
232
|
readonly maxFleetSize: number;
|
|
227
233
|
readonly rows: readonly Ship[];
|
|
228
234
|
};
|
|
229
235
|
/** Full pinned Ship rows for existing configuration readers. */
|
|
230
|
-
export declare function decodeGameShipConfigurations(account: RawAccount): readonly Ship[];
|
|
236
|
+
export declare function decodeGameShipConfigurations(account: RawAccount, scope?: GameDecodeScope): readonly Ship[];
|
|
231
237
|
/** Typed Game definition translating only combat configuration and stimulants. */
|
|
232
238
|
export declare const gameCombatAccountDefinition: C4AccountAdapter<GameCombatConfigurationData>;
|
|
233
239
|
/** Validates one Game account and translates only the requested sections. */
|
|
@@ -238,12 +244,14 @@ export declare function decodeGameScanningConfiguration(account: RawAccount): {
|
|
|
238
244
|
cargo: GameCargoDefinitionsSectionData;
|
|
239
245
|
};
|
|
240
246
|
/**
|
|
241
|
-
*
|
|
242
|
-
*
|
|
243
|
-
*
|
|
247
|
+
* Docking definition generations from the complete, exact pinned Game decode.
|
|
248
|
+
* Like every other Game reader, an unknown tail or any layout drift is rejected
|
|
249
|
+
* rather than skipped; only the pinned version-2 runtime is supported. The
|
|
250
|
+
* generated decoder does not check index metadata, so the Ship and mint-to-id
|
|
251
|
+
* indexes are validated here before their generation is trusted.
|
|
244
252
|
*/
|
|
245
|
-
export declare function decodeGameDockingSequences(account: RawAccount): {
|
|
246
|
-
shipSequenceId: number;
|
|
247
|
-
cargoSequenceId: number;
|
|
253
|
+
export declare function decodeGameDockingSequences(account: RawAccount, scope?: GameDecodeScope): {
|
|
254
|
+
readonly shipSequenceId: number;
|
|
255
|
+
readonly cargoSequenceId: number;
|
|
248
256
|
};
|
|
249
257
|
//# sourceMappingURL=game.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/game.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oCAAoC,EAC1C,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/game.ts"],"names":[],"mappings":"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"}
|
package/dist/internal/c4/game.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { translateClaimStakeBuildingDefinitionsSection, } from './claim-stake-building-definitions.js';
|
|
2
|
-
import { shipDefinitionByteLength, habBuildingDefinitionByteLength, researchNodeByteLength, } from './game-definition-layout.js';
|
|
2
|
+
import { shipDefinitionByteLength, shipMintIdsByteLength, habBuildingDefinitionByteLength, researchNodeByteLength, } from './game-definition-layout.js';
|
|
3
3
|
import { translateClaimStakeDefinitionsSection, containerDefinitionByteLength, validateDefinitionIndex, } from './claim-stake-definitions.js';
|
|
4
4
|
import { GAME_DISCRIMINATOR, SAGE_PROGRAM_ADDRESS, SizeClass, Tier, XpCategory, getGameDecoder, getCharacterModifiersEncoder, getResearchNodeEncoder, getShipEncoder, } from '@staratlas/dev-sage';
|
|
5
5
|
import { AccountDecodeError, SageSdkError, InvalidAccountOwnerError, InvalidDiscriminatorError, } from '../../client/errors.js';
|
|
@@ -20,12 +20,16 @@ function validateGameAccount(account) {
|
|
|
20
20
|
throw new InvalidDiscriminatorError('game', account.address);
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
function decodeExactly(account) {
|
|
23
|
+
function decodeExactly(account, scope) {
|
|
24
|
+
const shared = scope?.get(account);
|
|
25
|
+
if (shared)
|
|
26
|
+
return shared;
|
|
24
27
|
try {
|
|
25
28
|
const [decoded, offset] = getGameDecoder().read(account.data, 0);
|
|
26
29
|
if (offset !== account.data.length) {
|
|
27
30
|
throw new RangeError(`Decoded ${offset} of ${account.data.length} Game account bytes; trailing bytes are not accepted.`);
|
|
28
31
|
}
|
|
32
|
+
scope?.set(account, decoded);
|
|
29
33
|
return decoded;
|
|
30
34
|
}
|
|
31
35
|
catch (cause) {
|
|
@@ -33,9 +37,9 @@ function decodeExactly(account) {
|
|
|
33
37
|
}
|
|
34
38
|
}
|
|
35
39
|
/** Validates the complete pinned Game layout without retaining or translating definition sections. */
|
|
36
|
-
export function validateGameAccountLayout(account) {
|
|
40
|
+
export function validateGameAccountLayout(account, scope) {
|
|
37
41
|
validateGameAccount(account);
|
|
38
|
-
decodeExactly(account);
|
|
42
|
+
decodeExactly(account, scope);
|
|
39
43
|
}
|
|
40
44
|
/** Registry-owned runtime version read after complete, exact Game validation. */
|
|
41
45
|
export function decodeGameRuntimeVersion(account) {
|
|
@@ -128,11 +132,11 @@ function translateCargoSection(game) {
|
|
|
128
132
|
};
|
|
129
133
|
}
|
|
130
134
|
/** Full decoded cargo rows after one registry-owned Game validation and exact decode. */
|
|
131
|
-
export function decodeGameCargoConfigurationRows(account) {
|
|
135
|
+
export function decodeGameCargoConfigurationRows(account, scope) {
|
|
132
136
|
if (account.executable)
|
|
133
137
|
throw new AccountDecodeError('game', account.address, new RangeError('Game cargo configuration must not be executable.'));
|
|
134
138
|
validateGameAccount(account);
|
|
135
|
-
const game = decodeExactly(account);
|
|
139
|
+
const game = decodeExactly(account, scope);
|
|
136
140
|
assertCargoDefinitionKeys(account, game);
|
|
137
141
|
return {
|
|
138
142
|
sequenceId: game.cargoDefinitions.seqId,
|
|
@@ -150,11 +154,11 @@ export function encodeGameShipConfiguration(ship) {
|
|
|
150
154
|
return new Uint8Array(getShipEncoder().encode(ship));
|
|
151
155
|
}
|
|
152
156
|
/** Full pinned Game validation with raw Ship rows, without public section translation. */
|
|
153
|
-
export function decodeGameShipConfigurationRows(account) {
|
|
157
|
+
export function decodeGameShipConfigurationRows(account, scope) {
|
|
154
158
|
if (account.executable)
|
|
155
159
|
throw new AccountDecodeError('game', account.address, new RangeError('Game ship configuration must not be executable.'));
|
|
156
160
|
validateGameAccount(account);
|
|
157
|
-
const game = decodeExactly(account);
|
|
161
|
+
const game = decodeExactly(account, scope);
|
|
158
162
|
validateDefinitionIndex(account, 'Ship', game.shipDefinitions.ships, shipDefinitionByteLength, (row) => row.id);
|
|
159
163
|
return {
|
|
160
164
|
sequenceId: game.shipDefinitions.seqId,
|
|
@@ -163,8 +167,8 @@ export function decodeGameShipConfigurationRows(account) {
|
|
|
163
167
|
};
|
|
164
168
|
}
|
|
165
169
|
/** Full pinned Ship rows for existing configuration readers. */
|
|
166
|
-
export function decodeGameShipConfigurations(account) {
|
|
167
|
-
return decodeGameShipConfigurationRows(account).rows;
|
|
170
|
+
export function decodeGameShipConfigurations(account, scope) {
|
|
171
|
+
return decodeGameShipConfigurationRows(account, scope).rows;
|
|
168
172
|
}
|
|
169
173
|
function translateShipsSection(game) {
|
|
170
174
|
return {
|
|
@@ -476,73 +480,24 @@ export function decodeGameScanningConfiguration(account) {
|
|
|
476
480
|
};
|
|
477
481
|
}
|
|
478
482
|
/**
|
|
479
|
-
*
|
|
480
|
-
*
|
|
481
|
-
*
|
|
483
|
+
* Docking definition generations from the complete, exact pinned Game decode.
|
|
484
|
+
* Like every other Game reader, an unknown tail or any layout drift is rejected
|
|
485
|
+
* rather than skipped; only the pinned version-2 runtime is supported. The
|
|
486
|
+
* generated decoder does not check index metadata, so the Ship and mint-to-id
|
|
487
|
+
* indexes are validated here before their generation is trusted.
|
|
482
488
|
*/
|
|
483
|
-
export function decodeGameDockingSequences(account) {
|
|
489
|
+
export function decodeGameDockingSequences(account, scope) {
|
|
490
|
+
if (account.executable)
|
|
491
|
+
throw new AccountDecodeError('game', account.address, new RangeError('Docking requires Game state, not an executable account.'));
|
|
484
492
|
validateGameAccount(account);
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
offset += length;
|
|
495
|
-
if (offset > data.length)
|
|
496
|
-
throw new RangeError('Truncated Game prefix.');
|
|
497
|
-
};
|
|
498
|
-
const u32 = () => {
|
|
499
|
-
const value = view.getUint32(offset, true);
|
|
500
|
-
advance(4);
|
|
501
|
-
return value;
|
|
502
|
-
};
|
|
503
|
-
const shipSequenceId = u32();
|
|
504
|
-
advance(4); // maxFleetSize
|
|
505
|
-
// Both generated indexed lists encode byte length, index count/entries,
|
|
506
|
-
// row count, then row bytes. Never trust unsizedLen as an unchecked jump.
|
|
507
|
-
const indexed = (keyLength, shipRows) => {
|
|
508
|
-
const byteLength = u32();
|
|
509
|
-
const count = u32();
|
|
510
|
-
const indexStart = offset;
|
|
511
|
-
advance(count * (4 + keyLength));
|
|
512
|
-
if (u32() !== count)
|
|
513
|
-
throw new RangeError('Game index count mismatch.');
|
|
514
|
-
const start = offset;
|
|
515
|
-
for (let i = 0; i < count; i++) {
|
|
516
|
-
const entry = indexStart + i * (4 + keyLength);
|
|
517
|
-
if (view.getUint32(entry, true) !== offset - start)
|
|
518
|
-
throw new RangeError('Game index offset mismatch.');
|
|
519
|
-
if (shipRows) {
|
|
520
|
-
if (view.getUint16(entry + 4, true) !== view.getUint16(offset, true))
|
|
521
|
-
throw new RangeError('Game Ship index identity mismatch.');
|
|
522
|
-
// Generated Ship: id2 + name64 + mint32 + size1 + stats300,
|
|
523
|
-
// followed by research tags (u16[]) and components (u16/u64 map).
|
|
524
|
-
if (view.getUint8(offset + 98) > 7)
|
|
525
|
-
throw new RangeError('Unsupported Ship size class.');
|
|
526
|
-
advance(399);
|
|
527
|
-
advance(u32() * 2);
|
|
528
|
-
advance(u32() * 10);
|
|
529
|
-
}
|
|
530
|
-
else {
|
|
531
|
-
advance(u32() * 2); // mint-to-id row: Set<ShipId(u16)>
|
|
532
|
-
}
|
|
533
|
-
}
|
|
534
|
-
if (offset - start !== byteLength)
|
|
535
|
-
throw new RangeError('Game index byte length mismatch.');
|
|
536
|
-
};
|
|
537
|
-
indexed(32, false);
|
|
538
|
-
indexed(2, true);
|
|
539
|
-
return {
|
|
540
|
-
shipSequenceId,
|
|
541
|
-
cargoSequenceId: view.getUint16(offset, true),
|
|
542
|
-
};
|
|
543
|
-
}
|
|
544
|
-
catch (cause) {
|
|
545
|
-
throw new AccountDecodeError('game', account.address, cause);
|
|
546
|
-
}
|
|
493
|
+
const game = decodeExactly(account, scope);
|
|
494
|
+
if (game.version !== 2)
|
|
495
|
+
throw new AccountDecodeError('game', account.address, new RangeError(`Docking supports the pinned version-2 Game; found version ${String(game.version)}.`));
|
|
496
|
+
validateDefinitionIndex(account, 'Ship mint', game.shipDefinitions.mintToId, shipMintIdsByteLength);
|
|
497
|
+
validateDefinitionIndex(account, 'Ship', game.shipDefinitions.ships, shipDefinitionByteLength, (row) => row.id);
|
|
498
|
+
return {
|
|
499
|
+
shipSequenceId: game.shipDefinitions.seqId,
|
|
500
|
+
cargoSequenceId: game.cargoDefinitions.seqId,
|
|
501
|
+
};
|
|
547
502
|
}
|
|
548
503
|
//# sourceMappingURL=game.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"game.js","sourceRoot":"","sources":["../../../src/internal/c4/game.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"game.js","sourceRoot":"","sources":["../../../src/internal/c4/game.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-dock-funding-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-dock-funding-guard.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"fleet-dock-funding-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-dock-funding-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,OAAO,EACb,MAAM,aAAa,CAAC;AAMrB,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,QAAA,MAAM,OAAO,oSAWH,CAAC;AACX,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AACnE,MAAM,MAAM,kBAAkB,GAC1B;IACE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;CAC9C,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC,CAAC;AACN,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AACD,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GACnD,kBAAkB,GAAG;IACnB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;CAC3B,CAAC;AACJ,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,MAAM,CAKR;AACD,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,IAAI,UAAQ,GACX,qBAAqB,CA4GvB;AACD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,qBAAqB,GAC3B,WAAW,CAAC,qBAAqB,CAAC,CAOpC;AAqBD,iFAAiF;AACjF,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CAgFN"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isAddress, isWritableRole } from '@solana/kit';
|
|
1
|
+
import { isAddress, isSignerRole, isWritableRole, } from '@solana/kit';
|
|
2
2
|
import { InvalidActionInputError, SageSdkError } from '../../client/errors.js';
|
|
3
3
|
import { IDLE_TO_DOCKED_DISCRIMINATOR, SAGE_PROGRAM_ADDRESS, } from '../c4/runtime-bindings.js';
|
|
4
4
|
import { rentMinimumBalance } from './rent.js';
|
|
@@ -114,17 +114,37 @@ export function dockFundingGuardToJSON(guard) {
|
|
|
114
114
|
typeof value === 'bigint' ? String(value) : value,
|
|
115
115
|
]));
|
|
116
116
|
}
|
|
117
|
+
/** Pinned IdleToDocked account order (qualification #825), for diagnostics. */
|
|
118
|
+
const DOCK_ACCOUNT_LABELS = [
|
|
119
|
+
'authority',
|
|
120
|
+
'Profile',
|
|
121
|
+
'key certificate',
|
|
122
|
+
'Profile program',
|
|
123
|
+
'Fleet',
|
|
124
|
+
'Star System',
|
|
125
|
+
'StarbasePlayer',
|
|
126
|
+
'Game',
|
|
127
|
+
'faction relation tracker',
|
|
128
|
+
'faction standing slot',
|
|
129
|
+
'faction config slot',
|
|
130
|
+
'System ownership',
|
|
131
|
+
'owner faction slot',
|
|
132
|
+
];
|
|
133
|
+
const SEQUENCE_REMEDY = 'Run the steps as separate confirmed transactions, for example with createPlanSequence and executePlanSequence, and refresh the docking Plan after the other step confirms.';
|
|
134
|
+
const PROFILE_REMEDY = 'Refresh funding and recreate a qualified docking Plan, or run the steps as separate confirmed transactions with createPlanSequence and executePlanSequence.';
|
|
117
135
|
/** Requires one exact funding assertion for each current docking instruction. */
|
|
118
136
|
export function validateFleetDockFundingGuards(steps, guards) {
|
|
119
137
|
const selected = guards.filter((g) => g.kind === 'fleet-dock-funding');
|
|
120
|
-
const docks = steps.
|
|
121
|
-
IDLE_TO_DOCKED_DISCRIMINATOR.every((v, n) =>
|
|
138
|
+
const docks = steps.flatMap((step, index) => step.instruction.programAddress === SAGE_PROGRAM_ADDRESS &&
|
|
139
|
+
IDLE_TO_DOCKED_DISCRIMINATOR.every((v, n) => step.instruction.data?.[n] === v)
|
|
140
|
+
? [{ step, index }]
|
|
141
|
+
: []);
|
|
122
142
|
const fail = () => {
|
|
123
143
|
throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Docking requires its exact instruction-bound Profile storage safeguard. Refresh the Fleet and recreate the docking Plan before signing.');
|
|
124
144
|
};
|
|
125
145
|
if (selected.length !== docks.length)
|
|
126
146
|
fail();
|
|
127
|
-
for (const step of docks) {
|
|
147
|
+
for (const { step, index: requiringStepIndex } of docks) {
|
|
128
148
|
const a = step.instruction.accounts;
|
|
129
149
|
const matches = selected.filter((g) => g.address === a[4].address);
|
|
130
150
|
if (matches.length !== 1)
|
|
@@ -144,60 +164,40 @@ export function validateFleetDockFundingGuards(steps, guards) {
|
|
|
144
164
|
for (const address of [g.address, g.character, g.system, g.starbasePlayer])
|
|
145
165
|
if (!guards.some((v) => v.kind === 'account-state' && v.address === address))
|
|
146
166
|
fail();
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
writableOnly: false,
|
|
162
|
-
verb: 'referencing',
|
|
163
|
-
condition: '',
|
|
164
|
-
remedy: separate,
|
|
165
|
-
},
|
|
166
|
-
{
|
|
167
|
-
resource: g.system,
|
|
168
|
-
accountLabel: 'Star System',
|
|
169
|
-
writableOnly: true,
|
|
170
|
-
verb: 'writing',
|
|
171
|
-
condition: '',
|
|
172
|
-
remedy: separate,
|
|
173
|
-
},
|
|
174
|
-
...(g.status === 'unavailable'
|
|
175
|
-
? [
|
|
176
|
-
{
|
|
177
|
-
resource: g.profile,
|
|
178
|
-
accountLabel: 'Profile',
|
|
179
|
-
writableOnly: false,
|
|
180
|
-
verb: 'referencing',
|
|
181
|
-
condition: ' while docking storage bounds are unavailable',
|
|
182
|
-
remedy: 'Refresh funding and recreate a qualified docking Plan, or use separate confirmed transactions.',
|
|
183
|
-
},
|
|
184
|
-
]
|
|
185
|
-
: []),
|
|
186
|
-
]) {
|
|
187
|
-
const { resource, writableOnly } = protectedAccount;
|
|
167
|
+
// Transaction compilation merges privileges across instructions, so the
|
|
168
|
+
// qualified quote holds only if no other step can change what docking
|
|
169
|
+
// reads or writes. Protection follows the dock's own account roles: its
|
|
170
|
+
// writable accounts admit no other reference, and its readonly inputs admit
|
|
171
|
+
// no other writer. The signing authority is not a qualification input, and
|
|
172
|
+
// an available quote shares its Profile through the per-Profile funding
|
|
173
|
+
// check, so only an unavailable quote isolates the Profile.
|
|
174
|
+
a.forEach((meta, position) => {
|
|
175
|
+
if (isSignerRole(meta.role))
|
|
176
|
+
return;
|
|
177
|
+
const profile = position === 1;
|
|
178
|
+
if (profile && g.status === 'available')
|
|
179
|
+
return;
|
|
180
|
+
const exclusive = isWritableRole(meta.role);
|
|
188
181
|
const conflictingStepIndex = steps.findIndex((other, index) => index !== requiringStepIndex &&
|
|
189
|
-
other.instruction.accounts?.some((
|
|
190
|
-
(
|
|
182
|
+
other.instruction.accounts?.some((candidate) => candidate.address === meta.address &&
|
|
183
|
+
(exclusive || isWritableRole(candidate.role))));
|
|
191
184
|
if (conflictingStepIndex < 0)
|
|
192
|
-
|
|
185
|
+
return;
|
|
193
186
|
throw new DockAccountReferenceConflictError({
|
|
194
|
-
|
|
187
|
+
resource: meta.address,
|
|
188
|
+
// validateFleetDockingGuards pins the 13-account layout.
|
|
189
|
+
accountLabel: DOCK_ACCOUNT_LABELS[position],
|
|
190
|
+
verb: exclusive ? 'referencing' : 'writing',
|
|
191
|
+
condition: profile
|
|
192
|
+
? ' while docking storage bounds are unavailable'
|
|
193
|
+
: '',
|
|
194
|
+
remedy: profile ? PROFILE_REMEDY : SEQUENCE_REMEDY,
|
|
195
195
|
requiringStepIndex,
|
|
196
196
|
conflictingStepIndex,
|
|
197
197
|
requiringStepDescription: step.describes,
|
|
198
198
|
conflictingStepDescription: steps[conflictingStepIndex].describes,
|
|
199
199
|
});
|
|
200
|
-
}
|
|
200
|
+
});
|
|
201
201
|
}
|
|
202
202
|
}
|
|
203
203
|
/** Account-reference conflicts do not assert a declared semantic invalidation. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-dock-funding-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-dock-funding-guard.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"fleet-dock-funding-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-dock-funding-guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-dock-funding.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-dock-funding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,WAAW,EACZ,MAAM,2BAA2B,CAAC;AAQnC,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC3B,MAAM,+BAA+B,CAAC;AA+IvC,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,iBAAiB,EACzB,GAAG,EAAE,SAAS,UAAU,EAAE,GACzB,OAAO,CAAC,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"fleet-dock-funding.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-dock-funding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,WAAW,EACZ,MAAM,2BAA2B,CAAC;AAQnC,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC3B,MAAM,+BAA+B,CAAC;AA+IvC,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,iBAAiB,EACzB,GAAG,EAAE,SAAS,UAAU,EAAE,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAqC7B;AACD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,qBAAqB,EAC5B,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,EACtD,SAAS,EAAE,gBAAgB,GAAG,SAAS,GACtC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAoB9D"}
|
|
@@ -5,7 +5,7 @@ import { starbasePlayerAccountDefinition } from '../c4/starbase.js';
|
|
|
5
5
|
import { starSystemAccountDefinition } from '../c4/world.js';
|
|
6
6
|
import { validateProfileAccountShape } from '../c4/identity.js';
|
|
7
7
|
import { hasCanonicalDockingEncoding } from '../c4/docking-funding.js';
|
|
8
|
-
import {
|
|
8
|
+
import { decodeDockingSequences, } from '../../registry/docking.js';
|
|
9
9
|
import { RENT_ADDRESS, readRent, RentCalculationError } from './rent.js';
|
|
10
10
|
import { dockGrowthDebit, } from './fleet-dock-funding-guard.js';
|
|
11
11
|
function unavailable(reason) {
|
|
@@ -113,18 +113,19 @@ export async function resolveDockFunding(ctx, intent, raw) {
|
|
|
113
113
|
const qualified = qualifyDockAccounts(intent, accounts);
|
|
114
114
|
if (qualified.status === 'unavailable')
|
|
115
115
|
return qualified;
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
]
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
return sequences;
|
|
116
|
+
// One fresh batch, as at execution. Transport, lifecycle and programming
|
|
117
|
+
// errors reject, and so does any missing required estimate account.
|
|
118
|
+
const inputs = [
|
|
119
|
+
[intent.game, 'Game'],
|
|
120
|
+
[intent.profile, 'Profile'],
|
|
121
|
+
[RENT_ADDRESS, 'Rent sysvar'],
|
|
122
|
+
];
|
|
123
|
+
const rows = await readContextRawAccounts(ctx, inputs.map(([address]) => address));
|
|
124
|
+
inputs.forEach(([address, label], index) => accounts.set(address, requiredFundingAccount(rows[index], address, label)));
|
|
126
125
|
try {
|
|
127
|
-
|
|
126
|
+
// The Game is decoded behind the registry boundary; only typed
|
|
127
|
+
// account-format and Rent-value failures become an unavailable quote.
|
|
128
|
+
const current = calculateDockFunding(intent, accounts, decodeDockingSequences(accounts.get(intent.game)), qualified);
|
|
128
129
|
if (current.status === 'unavailable')
|
|
129
130
|
return current;
|
|
130
131
|
const { profileReserve: _profileReserve, ...amounts } = current;
|