@aephia/atlas-kit 0.6.0-next.105 → 0.6.0-next.107
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/claim-stakes/actions/index.d.ts.map +1 -1
- package/dist/claim-stakes/actions/index.js +2 -11
- package/dist/claim-stakes/actions/index.js.map +1 -1
- package/dist/crafting/actions/index.d.ts.map +1 -1
- package/dist/crafting/actions/index.js +94 -195
- package/dist/crafting/actions/index.js.map +1 -1
- package/dist/internal/planning/starbase-player-owner.d.ts +21 -0
- package/dist/internal/planning/starbase-player-owner.d.ts.map +1 -0
- package/dist/internal/planning/starbase-player-owner.js +25 -0
- package/dist/internal/planning/starbase-player-owner.js.map +1 -0
- package/dist/markets/actions/index.d.ts.map +1 -1
- package/dist/markets/actions/index.js +91 -130
- package/dist/markets/actions/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,6 +3,7 @@ import { validateStarbaseSystem } from '../../internal/planning/starbase-system.
|
|
|
3
3
|
import { SYSTEM_PROGRAM } from '../../internal/system-program.js';
|
|
4
4
|
import { getAddressEncoder, isAddress } from '@solana/kit';
|
|
5
5
|
import { resolveActionRuntime } from '../../internal/planning/action-runtime.js';
|
|
6
|
+
import { requireProfileStarbasePlayer } from '../../internal/planning/starbase-player-owner.js';
|
|
6
7
|
import { InvalidActionInputError, SageSdkError } from '../../client/errors.js';
|
|
7
8
|
import { readContextRawAccounts } from '../../client/reconciliation.js';
|
|
8
9
|
import { GAME_DISCRIMINATOR, SAGE_PROGRAM_ADDRESS, } from '../../internal/c4/runtime-bindings.js';
|
|
@@ -12,7 +13,7 @@ import { deriveStarbasePlayerAddress, starbasePlayerAccountDefinition, } from '.
|
|
|
12
13
|
import { deriveInternalCraftingProcessState } from '../../internal/crafting-process-state.js';
|
|
13
14
|
import { requireGameAddress } from '../../internal/game-context.js';
|
|
14
15
|
import { adaptCancelCraftingProcessInstruction, adaptStartCraftingProcessInstruction, adaptCompleteCraftingProcessInstruction, readPlanAuthorization, } from '../../internal/planning/authorization-adapter.js';
|
|
15
|
-
import {
|
|
16
|
+
import { starSystemAccountDefinition } from '../../internal/c4/world.js';
|
|
16
17
|
import { createPlan, } from '../../planning/index.js';
|
|
17
18
|
import { hashRecipeConfiguration, validateRecipeUsage, } from '../../internal/planning/recipe-state.js';
|
|
18
19
|
const U64_MAX = (1n << 64n) - 1n;
|
|
@@ -65,16 +66,8 @@ function validateStartOptions(value) {
|
|
|
65
66
|
: { craftingHab: options.craftingHab }),
|
|
66
67
|
};
|
|
67
68
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
assertKeys(options, 'options', ['authorization', 'atUnixSeconds']);
|
|
71
|
-
const authorization = readPlanAuthorization(options.authorization);
|
|
72
|
-
if (typeof options.atUnixSeconds !== 'bigint' || options.atUnixSeconds < 0n) {
|
|
73
|
-
invalid('atUnixSeconds', options.atUnixSeconds, 'a non-negative bigint Unix timestamp', 'Set atUnixSeconds to the explicit current Unix timestamp before retrying.');
|
|
74
|
-
}
|
|
75
|
-
return { atUnixSeconds: options.atUnixSeconds, authorization };
|
|
76
|
-
}
|
|
77
|
-
function validateCancelOptions(value) {
|
|
69
|
+
/** Validates completion or cancellation options, which share one shape. */
|
|
70
|
+
function validateProcessOptions(value) {
|
|
78
71
|
const options = readRecord(value, 'options');
|
|
79
72
|
assertKeys(options, 'options', ['authorization', 'atUnixSeconds']);
|
|
80
73
|
const authorization = readPlanAuthorization(options.authorization);
|
|
@@ -140,8 +133,7 @@ async function recipePrecondition(account, describes, requiredUses = 0n) {
|
|
|
140
133
|
describes,
|
|
141
134
|
};
|
|
142
135
|
}
|
|
143
|
-
async function resolveAccounts(ctx, recipe, player, options, game) {
|
|
144
|
-
const character = await findCharacterPda(options.authorization.profile, game);
|
|
136
|
+
async function resolveAccounts(ctx, recipe, player, options, game, character) {
|
|
145
137
|
const currencyCache = options.craftingHab === undefined
|
|
146
138
|
? undefined
|
|
147
139
|
: await deriveCurrencyCache(game).then(([address]) => address);
|
|
@@ -255,13 +247,7 @@ export async function planStartCraftingProcess(ctx, recipe, player, input) {
|
|
|
255
247
|
if (recipe.game.address !== game || canonicalRecipe !== recipe.address) {
|
|
256
248
|
fail(`Recipe ${recipe.address} does not match the configured Game ${game} or its canonical recipe-id PDA. Refresh the Recipe through this context and retry.`, recipe.address);
|
|
257
249
|
}
|
|
258
|
-
|
|
259
|
-
fail(`Starbase Player ${player.address} does not belong to authorization Profile ${options.authorization.profile}. Refresh the Starbase Player for that Profile and retry.`, player.address);
|
|
260
|
-
}
|
|
261
|
-
const canonicalPlayer = await deriveStarbasePlayerAddress(player.system.address, player.character.address);
|
|
262
|
-
if (canonicalPlayer !== player.address) {
|
|
263
|
-
fail(`Starbase Player ${player.address} is not canonical for its Character and System. Refresh the Starbase Player through this context and retry.`, player.address);
|
|
264
|
-
}
|
|
250
|
+
const character = await requireProfileStarbasePlayer(player, options.authorization.profile, game);
|
|
265
251
|
if (recipe.status !== 'active') {
|
|
266
252
|
fail(`Recipe ${recipe.name} is ${recipe.status}, so it cannot start a Crafting Process. Choose an active Recipe, refresh it, and retry.`, recipe.address);
|
|
267
253
|
}
|
|
@@ -295,7 +281,7 @@ export async function planStartCraftingProcess(ctx, recipe, player, input) {
|
|
|
295
281
|
else {
|
|
296
282
|
validateKnownInputs(recipe, player.cargo.items, options.quantity, 'Starbase Player', player.address);
|
|
297
283
|
}
|
|
298
|
-
const resolved = await resolveAccounts(ctx, recipe, player, options, game);
|
|
284
|
+
const resolved = await resolveAccounts(ctx, recipe, player, options, game, character);
|
|
299
285
|
const [runtimeSystem] = await readContextRawAccounts(ctx, [
|
|
300
286
|
player.system.address,
|
|
301
287
|
]);
|
|
@@ -386,35 +372,40 @@ function validateGameRead(account, game) {
|
|
|
386
372
|
fail(`Game ${account.address} does not match the configured address, owner, or pinned account layout. Refresh the configured Game and retry.`, account.address);
|
|
387
373
|
}
|
|
388
374
|
}
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
375
|
+
/** Reads and validates the Crafting Process graph shared by completion and
|
|
376
|
+
* cancellation, with `extra` in the same read: the unchanged Process, its
|
|
377
|
+
* canonical System and Starbase, the unchanged Recipe and its Hab policy, the
|
|
378
|
+
* Profile's canonical Starbase Player and Character, and the Process Hab,
|
|
379
|
+
* active and owned, when present. `action` completes the remedies, and
|
|
380
|
+
* `staleStarbaseGuidance` adds advice for a replaced Starbase. */
|
|
381
|
+
async function resolveProcessAccounts(ctx, process, profile, game, action, extra, staleStarbaseGuidance) {
|
|
382
|
+
const character = await findCharacterPda(profile, game);
|
|
392
383
|
const habAddress = processHabAddress(process);
|
|
393
|
-
const
|
|
384
|
+
const [processCandidate, recipeCandidate, playerCandidate, systemCandidate, characterCandidate, extraAccount, habCandidate,] = await readContextRawAccounts(ctx, [
|
|
394
385
|
process.address,
|
|
395
386
|
process.recipe.address,
|
|
396
387
|
process.starbasePlayer.address,
|
|
397
388
|
process.system.address,
|
|
398
|
-
...(habAddress === undefined ? [] : [habAddress]),
|
|
399
389
|
character,
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
const
|
|
404
|
-
const processAccount = requireAccount(byAddress.get(process.address), process.address, `Crafting Process ${process.address} is missing, so it may already be cancelled or closed. Refresh the Crafting Process and retry only if it still exists.`);
|
|
405
|
-
const recipeAccount = requireAccount(byAddress.get(process.recipe.address), process.recipe.address, `Recipe ${process.recipe.address} is missing. Refresh the Crafting Process and its Recipe before retrying completion.`);
|
|
406
|
-
const playerAccount = requireAccount(byAddress.get(process.starbasePlayer.address), process.starbasePlayer.address, `Starbase Player ${process.starbasePlayer.address} is missing. Refresh the Crafting Process and Starbase Player before retrying completion.`);
|
|
407
|
-
const systemAccount = requireAccount(byAddress.get(process.system.address), process.system.address, `Star System ${process.system.address} is missing. Refresh the Crafting Process and Star System before retrying completion.`);
|
|
408
|
-
const characterAccount = requireAccount(byAddress.get(character), character, `Canonical Character ${character} is missing for Profile ${options.authorization.profile}. Create or repair the Character in the configured Game before retrying completion.`);
|
|
409
|
-
const currencyCacheAccount = requireAccount(byAddress.get(currencyCache), currencyCache, `Canonical CurrencyCache ${currencyCache} is missing for the configured Game. Refresh the Game currency configuration before retrying completion.`);
|
|
410
|
-
const habAccount = habAddress === undefined
|
|
411
|
-
? undefined
|
|
412
|
-
: requireAccount(byAddress.get(habAddress), habAddress, `Crafting Hab ${habAddress} is missing. Refresh the Crafting Process and Hab before retrying completion.`);
|
|
413
|
-
const processData = craftingProcessAccountDefinition.decode(processAccount);
|
|
390
|
+
extra,
|
|
391
|
+
...(habAddress === undefined ? [] : [habAddress]),
|
|
392
|
+
]);
|
|
393
|
+
const processAccount = requireAccount(processCandidate, process.address, `Crafting Process ${process.address} is missing, so it may already be completed, cancelled, or closed. Refresh the Crafting Process and retry only if it still exists.`);
|
|
414
394
|
if (processAccount.address !== process.address ||
|
|
415
|
-
!sameProcessSnapshot(process,
|
|
395
|
+
!sameProcessSnapshot(process, craftingProcessAccountDefinition.decode(processAccount))) {
|
|
416
396
|
fail(`Crafting Process ${process.address} changed or no longer matches its relationships, timing, crew, quantity, fee, or inputs. Refresh the Crafting Process and retry.`, process.address);
|
|
417
397
|
}
|
|
398
|
+
await validateStarbaseSystem(requireAccount(systemCandidate, process.system.address, `Star System ${process.system.address} is missing. Refresh the Crafting Process and Star System before retrying ${action}.`), {
|
|
399
|
+
address: process.system.address,
|
|
400
|
+
game,
|
|
401
|
+
starbaseSequenceId: process.starbaseSequenceId,
|
|
402
|
+
}, staleStarbaseGuidance);
|
|
403
|
+
const recipeAccount = requireAccount(recipeCandidate, process.recipe.address, `Recipe ${process.recipe.address} is missing. Refresh the Crafting Process and its Recipe before retrying ${action}.`);
|
|
404
|
+
const playerAccount = requireAccount(playerCandidate, process.starbasePlayer.address, `Starbase Player ${process.starbasePlayer.address} is missing. Refresh the Crafting Process and Starbase Player before retrying ${action}.`);
|
|
405
|
+
const characterAccount = requireAccount(characterCandidate, character, `Canonical Character ${character} is missing for Profile ${profile}. Create or repair the Character in the configured Game before retrying ${action}.`);
|
|
406
|
+
const habAccount = habAddress === undefined
|
|
407
|
+
? undefined
|
|
408
|
+
: requireAccount(habCandidate, habAddress, `Crafting Hab ${habAddress} is missing. Refresh the Crafting Process and Hab before retrying ${action}.`);
|
|
418
409
|
const recipeData = recipeAccountDefinition.decode(recipeAccount);
|
|
419
410
|
const canonicalRecipe = await deriveRecipeAddress(game, recipeData.id);
|
|
420
411
|
if (recipeAccount.address !== process.recipe.address ||
|
|
@@ -427,59 +418,69 @@ async function resolveCompleteAccounts(ctx, process, options, game) {
|
|
|
427
418
|
recipeData.usageLimitRaw !== process.recipe.usageLimitRaw ||
|
|
428
419
|
!sameBalances(process.recipe.ingredients, recipeData.inputs) ||
|
|
429
420
|
!sameBalances(process.recipe.outputs, recipeData.outputs)) {
|
|
430
|
-
fail(`Recipe ${process.recipe.address} changed or does not match the configured Game, canonical recipe-id PDA, status, Hab policy, limits, ingredients, or outputs. Refresh the Crafting Process and Recipe before retrying
|
|
421
|
+
fail(`Recipe ${process.recipe.address} changed or does not match the configured Game, canonical recipe-id PDA, status, Hab policy, limits, ingredients, or outputs. Refresh the Crafting Process and Recipe before retrying ${action}.`, process.recipe.address);
|
|
431
422
|
}
|
|
432
423
|
if (recipeData.habRequired && habAddress === undefined) {
|
|
433
|
-
fail(`Recipe ${recipeData.name} requires a Crafting Hab, but Crafting Process ${process.address} omits one. Refresh or repair the Process relationship before retrying
|
|
424
|
+
fail(`Recipe ${recipeData.name} requires a Crafting Hab, but Crafting Process ${process.address} omits one. Refresh or repair the Process relationship before retrying ${action}.`, process.address);
|
|
434
425
|
}
|
|
435
426
|
const playerData = starbasePlayerAccountDefinition.decode(playerAccount);
|
|
436
427
|
const canonicalPlayer = await deriveStarbasePlayerAddress(process.system.address, character);
|
|
437
428
|
if (playerAccount.address !== process.starbasePlayer.address ||
|
|
438
429
|
canonicalPlayer !== process.starbasePlayer.address ||
|
|
439
|
-
playerData.playerProfile !==
|
|
430
|
+
playerData.playerProfile !== profile ||
|
|
440
431
|
playerData.character !== character ||
|
|
441
432
|
playerData.system !== process.system.address) {
|
|
442
|
-
fail(`Starbase Player ${process.starbasePlayer.address} does not match the authorization Profile, canonical Character, or Crafting Process System. Refresh the Crafting Process and Starbase Player before retrying
|
|
443
|
-
}
|
|
444
|
-
const systemData = starSystemAccountDefinition.decode(systemAccount);
|
|
445
|
-
const canonicalSystem = await deriveStarSystemAddress(game, systemData.systemId);
|
|
446
|
-
if (systemAccount.address !== process.system.address ||
|
|
447
|
-
canonicalSystem !== process.system.address ||
|
|
448
|
-
systemData.game !== game ||
|
|
449
|
-
systemData.sequenceId !== process.starbaseSequenceId ||
|
|
450
|
-
systemData.starbase === undefined) {
|
|
451
|
-
fail(`Star System ${process.system.address} does not match the configured Game, canonical system-id PDA, active Starbase, or Crafting Process Starbase sequence. Refresh the Crafting Process and Star System before retrying completion.`, process.system.address);
|
|
433
|
+
fail(`Starbase Player ${process.starbasePlayer.address} does not match the authorization Profile, canonical Character, or Crafting Process System. Refresh the Crafting Process and Starbase Player before retrying ${action}.`, process.starbasePlayer.address);
|
|
452
434
|
}
|
|
453
435
|
if (habAccount !== undefined) {
|
|
454
436
|
const habData = craftingHabAccountDefinition.decode(habAccount);
|
|
455
437
|
if (habAccount.address !== habAddress ||
|
|
456
438
|
habData.game !== game ||
|
|
457
|
-
habData.ownerProfile !==
|
|
439
|
+
habData.ownerProfile !== profile ||
|
|
458
440
|
habData.system !== process.system.address ||
|
|
459
441
|
habData.systemSequenceId !== process.starbaseSequenceId ||
|
|
460
442
|
habData.state.kind !== 'active') {
|
|
461
|
-
fail(`Crafting Hab ${habAddress} is not active or does not match the configured Game, authorization Profile, Crafting Process System, or Starbase sequence. Refresh the Crafting Process and Hab before retrying
|
|
443
|
+
fail(`Crafting Hab ${habAddress} is not active or does not match the configured Game, authorization Profile, Crafting Process System, or Starbase sequence. Refresh the Crafting Process and Hab before retrying ${action}.`, habAccount.address);
|
|
462
444
|
}
|
|
463
445
|
}
|
|
464
446
|
const characterData = characterAccountDefinition.decode(characterAccount);
|
|
465
447
|
if (characterAccount.address !== character ||
|
|
466
|
-
characterData.playerProfile !==
|
|
448
|
+
characterData.playerProfile !== profile ||
|
|
467
449
|
characterData.game !== game) {
|
|
468
|
-
fail(`The canonical Character does not match Profile ${
|
|
450
|
+
fail(`The canonical Character does not match Profile ${profile} and the configured Game ${game}. Refresh or repair the Character relationship before retrying ${action}.`, characterAccount.address);
|
|
469
451
|
}
|
|
470
|
-
await validateCurrencyCache(currencyCacheAccount, game, 'crafting');
|
|
471
452
|
return {
|
|
472
453
|
character,
|
|
473
454
|
characterAccount,
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
...(habAccount === undefined ? {} : { habAccount }),
|
|
455
|
+
extraAccount,
|
|
456
|
+
habAccount,
|
|
477
457
|
playerAccount,
|
|
478
458
|
processAccount,
|
|
479
459
|
recipeAccount,
|
|
480
|
-
systemAccount,
|
|
481
460
|
};
|
|
482
461
|
}
|
|
462
|
+
/** The validated Process graph preconditions, with `systemGuard` after the
|
|
463
|
+
* Starbase Player when the action guards the Starbase separately. */
|
|
464
|
+
function processPreconditions(process, resolved, profile, systemGuard = []) {
|
|
465
|
+
return [
|
|
466
|
+
precondition(resolved.processAccount, `Crafting Process ${process.address} retains its validated relationships, timing, crew, quantity, fee, and inputs.`),
|
|
467
|
+
recipePrecondition(resolved.recipeAccount, `Recipe ${process.recipe.name} retains its validated Game, Hab policy, ingredients, and outputs.`),
|
|
468
|
+
precondition(resolved.playerAccount, `Starbase Player ${process.starbasePlayer.address} retains its Profile, Character, and System relationships.`),
|
|
469
|
+
...systemGuard.map((guard) => Promise.resolve(guard)),
|
|
470
|
+
...(resolved.habAccount === undefined
|
|
471
|
+
? []
|
|
472
|
+
: [
|
|
473
|
+
precondition(resolved.habAccount, `Crafting Hab ${resolved.habAccount.address} remains active in the validated Game, Profile, System, and Starbase sequence.`),
|
|
474
|
+
]),
|
|
475
|
+
precondition(resolved.characterAccount, `The canonical Character remains assigned to Profile ${profile} in the configured Game.`),
|
|
476
|
+
];
|
|
477
|
+
}
|
|
478
|
+
/** Requires the authorization Profile to own the Process. */
|
|
479
|
+
function requireProcessOwner(process, profile) {
|
|
480
|
+
if (process.profile.address !== profile) {
|
|
481
|
+
fail(`Crafting Process ${process.address} does not belong to authorization Profile ${profile}. Use the owning Profile, refresh the Process, and retry.`, process.address);
|
|
482
|
+
}
|
|
483
|
+
}
|
|
483
484
|
/** Plans completion of one Crafting Process without signing, simulation, or writes.
|
|
484
485
|
*
|
|
485
486
|
* The planner resolves and validates the Process account graph, requires Profile
|
|
@@ -497,11 +498,10 @@ async function resolveCompleteAccounts(ctx, process, options, game) {
|
|
|
497
498
|
* ```
|
|
498
499
|
*/
|
|
499
500
|
export async function planCompleteCraftingProcess(ctx, process, input) {
|
|
500
|
-
const options =
|
|
501
|
+
const options = validateProcessOptions(input);
|
|
501
502
|
const game = requireGameAddress(ctx);
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
}
|
|
503
|
+
const { profile } = options.authorization;
|
|
504
|
+
requireProcessOwner(process, profile);
|
|
505
505
|
const state = deriveInternalCraftingProcessState(process, options.atUnixSeconds);
|
|
506
506
|
if (state.kind !== 'complete') {
|
|
507
507
|
const timing = state.kind === 'scheduled'
|
|
@@ -509,13 +509,14 @@ export async function planCompleteCraftingProcess(ctx, process, input) {
|
|
|
509
509
|
: `in-progress and not complete with ${String(state.remainingSeconds)} seconds remaining`;
|
|
510
510
|
fail(`Crafting Process ${process.address} is ${timing} at Unix timestamp ${String(options.atUnixSeconds)}. Wait until it is complete, provide a current timestamp, and retry.`, process.address);
|
|
511
511
|
}
|
|
512
|
-
const
|
|
512
|
+
const [currencyCache] = await deriveCurrencyCache(game);
|
|
513
|
+
const resolved = await resolveProcessAccounts(ctx, process, profile, game, 'completion', currencyCache);
|
|
514
|
+
await validateCurrencyCache(requireAccount(resolved.extraAccount, currencyCache, `Canonical CurrencyCache ${currencyCache} is missing for the configured Game. Refresh the Game currency configuration before retrying completion.`), game, 'crafting');
|
|
513
515
|
const runtime = await resolveActionRuntime(ctx, {
|
|
514
516
|
mode: 'crafting-complete',
|
|
515
517
|
game,
|
|
516
518
|
system: process.system.address,
|
|
517
|
-
starbaseSeqId:
|
|
518
|
-
.sequenceId,
|
|
519
|
+
starbaseSeqId: process.starbaseSequenceId,
|
|
519
520
|
character: resolved.character,
|
|
520
521
|
process: process.address,
|
|
521
522
|
...(resolved.habAccount === undefined
|
|
@@ -523,20 +524,12 @@ export async function planCompleteCraftingProcess(ctx, process, input) {
|
|
|
523
524
|
: { structure: resolved.habAccount.address }),
|
|
524
525
|
});
|
|
525
526
|
const description = `Complete crafting ${String(process.quantityRaw)} units of ${process.recipe.name} at Starbase Player ${process.starbasePlayer.address}, returning ${String(process.numCrew)} crew and producing the Recipe outputs.`;
|
|
526
|
-
const preconditions = [
|
|
527
|
-
precondition(resolved.processAccount, `Crafting Process ${process.address} retains its validated relationships, timing, crew, quantity, fee, and inputs.`),
|
|
528
|
-
recipePrecondition(resolved.recipeAccount, `Recipe ${process.recipe.name} retains its validated Game, Hab policy, ingredients, and outputs.`),
|
|
529
|
-
precondition(resolved.playerAccount, `Starbase Player ${process.starbasePlayer.address} retains its Profile, Character, and System relationships.`),
|
|
530
|
-
...(resolved.habAccount === undefined
|
|
531
|
-
? []
|
|
532
|
-
: [
|
|
533
|
-
precondition(resolved.habAccount, `Crafting Hab ${resolved.habAccount.address} remains active in the validated Game, Profile, System, and Starbase sequence.`),
|
|
534
|
-
]),
|
|
535
|
-
precondition(resolved.characterAccount, `The canonical Character remains assigned to Profile ${options.authorization.profile} in the configured Game.`),
|
|
536
|
-
];
|
|
537
527
|
return createPlan({
|
|
538
528
|
kind: 'crafting.complete-process',
|
|
539
|
-
preconditions: [
|
|
529
|
+
preconditions: [
|
|
530
|
+
...runtime.guards,
|
|
531
|
+
...(await Promise.all(processPreconditions(process, resolved, profile))),
|
|
532
|
+
],
|
|
540
533
|
steps: [
|
|
541
534
|
{
|
|
542
535
|
describes: `${description} ${runtime.description}`,
|
|
@@ -545,7 +538,7 @@ export async function planCompleteCraftingProcess(ctx, process, input) {
|
|
|
545
538
|
authorization: options.authorization,
|
|
546
539
|
character: resolved.character,
|
|
547
540
|
craftingProcess: process.address,
|
|
548
|
-
currencyCache
|
|
541
|
+
currencyCache,
|
|
549
542
|
game,
|
|
550
543
|
recipe: process.recipe.address,
|
|
551
544
|
starbasePlayer: process.starbasePlayer.address,
|
|
@@ -560,93 +553,6 @@ export async function planCompleteCraftingProcess(ctx, process, input) {
|
|
|
560
553
|
summary: `${description} ${runtime.description}`,
|
|
561
554
|
});
|
|
562
555
|
}
|
|
563
|
-
async function resolveCancelAccounts(ctx, process, options, game) {
|
|
564
|
-
const character = await findCharacterPda(options.authorization.profile, game);
|
|
565
|
-
const habAddress = processHabAddress(process);
|
|
566
|
-
const addresses = [
|
|
567
|
-
process.address,
|
|
568
|
-
process.recipe.address,
|
|
569
|
-
process.starbasePlayer.address,
|
|
570
|
-
process.system.address,
|
|
571
|
-
...(habAddress === undefined ? [] : [habAddress]),
|
|
572
|
-
character,
|
|
573
|
-
game,
|
|
574
|
-
];
|
|
575
|
-
const reads = await readContextRawAccounts(ctx, addresses);
|
|
576
|
-
const byAddress = new Map(addresses.map((address, index) => [address, reads[index]]));
|
|
577
|
-
const processAccount = requireAccount(byAddress.get(process.address), process.address, `Crafting Process ${process.address} is missing, so it may already be completed, cancelled, or closed. Refresh the Crafting Process and retry only if it still exists.`);
|
|
578
|
-
const systemAccount = requireAccount(byAddress.get(process.system.address), process.system.address, `Star System ${process.system.address} is missing. Refresh the Crafting Process and Star System before retrying cancellation.`);
|
|
579
|
-
const processData = craftingProcessAccountDefinition.decode(processAccount);
|
|
580
|
-
if (processAccount.address !== process.address ||
|
|
581
|
-
!sameProcessSnapshot(process, processData)) {
|
|
582
|
-
fail(`Crafting Process ${process.address} changed or no longer matches its relationships, timing, crew, quantity, fee, or inputs. Refresh the Crafting Process and retry.`, process.address);
|
|
583
|
-
}
|
|
584
|
-
await validateStarbaseSystem(systemAccount, {
|
|
585
|
-
address: process.system.address,
|
|
586
|
-
game,
|
|
587
|
-
starbaseSequenceId: process.starbaseSequenceId,
|
|
588
|
-
}, 'For a Crafting Process belonging to the destroyed Starbase, use destroyCraftingProcess; do not cancel the Process.');
|
|
589
|
-
const recipeAccount = requireAccount(byAddress.get(process.recipe.address), process.recipe.address, `Recipe ${process.recipe.address} is missing. Refresh the Crafting Process and its Recipe before retrying cancellation.`);
|
|
590
|
-
const playerAccount = requireAccount(byAddress.get(process.starbasePlayer.address), process.starbasePlayer.address, `Starbase Player ${process.starbasePlayer.address} is missing. Refresh the Crafting Process and Starbase Player before retrying cancellation.`);
|
|
591
|
-
const characterAccount = requireAccount(byAddress.get(character), character, `Canonical Character ${character} is missing for Profile ${options.authorization.profile}. Create or repair the Character in the configured Game before retrying cancellation.`);
|
|
592
|
-
const gameAccount = requireAccount(byAddress.get(game), game, `Configured Game ${game} is missing. Refresh the configured Game before retrying cancellation.`);
|
|
593
|
-
const habAccount = habAddress === undefined
|
|
594
|
-
? undefined
|
|
595
|
-
: requireAccount(byAddress.get(habAddress), habAddress, `Crafting Hab ${habAddress} is missing. Refresh the Crafting Process and Hab before retrying cancellation.`);
|
|
596
|
-
const recipeData = recipeAccountDefinition.decode(recipeAccount);
|
|
597
|
-
const canonicalRecipe = await deriveRecipeAddress(game, recipeData.id);
|
|
598
|
-
if (recipeAccount.address !== process.recipe.address ||
|
|
599
|
-
canonicalRecipe !== process.recipe.address ||
|
|
600
|
-
recipeData.game !== game ||
|
|
601
|
-
recipeData.id !== process.recipe.id ||
|
|
602
|
-
recipeData.name !== process.recipe.name ||
|
|
603
|
-
recipeData.status !== process.recipe.status ||
|
|
604
|
-
recipeData.habRequired !== process.recipe.habRequired ||
|
|
605
|
-
recipeData.usageLimitRaw !== process.recipe.usageLimitRaw ||
|
|
606
|
-
!sameBalances(process.recipe.ingredients, recipeData.inputs) ||
|
|
607
|
-
!sameBalances(process.recipe.outputs, recipeData.outputs)) {
|
|
608
|
-
fail(`Recipe ${process.recipe.address} changed or does not match the configured Game, canonical recipe-id PDA, status, Hab policy, limits, ingredients, or outputs. Refresh the Crafting Process and Recipe before retrying cancellation.`, process.recipe.address);
|
|
609
|
-
}
|
|
610
|
-
if (recipeData.habRequired && habAddress === undefined) {
|
|
611
|
-
fail(`Recipe ${recipeData.name} requires a Crafting Hab, but Crafting Process ${process.address} omits one. Refresh or repair the Process relationship before retrying cancellation.`, process.address);
|
|
612
|
-
}
|
|
613
|
-
const playerData = starbasePlayerAccountDefinition.decode(playerAccount);
|
|
614
|
-
const canonicalPlayer = await deriveStarbasePlayerAddress(process.system.address, character);
|
|
615
|
-
if (playerAccount.address !== process.starbasePlayer.address ||
|
|
616
|
-
canonicalPlayer !== process.starbasePlayer.address ||
|
|
617
|
-
playerData.playerProfile !== options.authorization.profile ||
|
|
618
|
-
playerData.character !== character ||
|
|
619
|
-
playerData.system !== process.system.address) {
|
|
620
|
-
fail(`Starbase Player ${process.starbasePlayer.address} does not match the authorization Profile, canonical Character, or Crafting Process System. Refresh the Crafting Process and Starbase Player before retrying cancellation.`, process.starbasePlayer.address);
|
|
621
|
-
}
|
|
622
|
-
if (habAccount !== undefined) {
|
|
623
|
-
const habData = craftingHabAccountDefinition.decode(habAccount);
|
|
624
|
-
if (habAccount.address !== habAddress ||
|
|
625
|
-
habData.game !== game ||
|
|
626
|
-
habData.ownerProfile !== options.authorization.profile ||
|
|
627
|
-
habData.system !== process.system.address ||
|
|
628
|
-
habData.systemSequenceId !== process.starbaseSequenceId ||
|
|
629
|
-
habData.state.kind !== 'active') {
|
|
630
|
-
fail(`Crafting Hab ${habAddress} is not active or does not match the configured Game, authorization Profile, Crafting Process System, or Starbase sequence. Refresh the Crafting Process and Hab before retrying cancellation.`, habAccount.address);
|
|
631
|
-
}
|
|
632
|
-
}
|
|
633
|
-
const characterData = characterAccountDefinition.decode(characterAccount);
|
|
634
|
-
if (characterAccount.address !== character ||
|
|
635
|
-
characterData.playerProfile !== options.authorization.profile ||
|
|
636
|
-
characterData.game !== game) {
|
|
637
|
-
fail(`The canonical Character does not match Profile ${options.authorization.profile} and the configured Game ${game}. Refresh or repair the Character relationship before retrying cancellation.`, characterAccount.address);
|
|
638
|
-
}
|
|
639
|
-
validateGameRead(gameAccount, game);
|
|
640
|
-
return {
|
|
641
|
-
character,
|
|
642
|
-
characterAccount,
|
|
643
|
-
gameAccount,
|
|
644
|
-
...(habAccount === undefined ? {} : { habAccount }),
|
|
645
|
-
playerAccount,
|
|
646
|
-
processAccount,
|
|
647
|
-
recipeAccount,
|
|
648
|
-
};
|
|
649
|
-
}
|
|
650
556
|
/** Plans cancellation of one unfinished Crafting Process without signing or writes.
|
|
651
557
|
*
|
|
652
558
|
* The planner resolves and validates the Process account graph, requires Profile
|
|
@@ -664,39 +570,32 @@ async function resolveCancelAccounts(ctx, process, options, game) {
|
|
|
664
570
|
* ```
|
|
665
571
|
*/
|
|
666
572
|
export async function planCancelCraftingProcess(ctx, process, input) {
|
|
667
|
-
const options =
|
|
573
|
+
const options = validateProcessOptions(input);
|
|
668
574
|
const game = requireGameAddress(ctx);
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
}
|
|
575
|
+
const { profile } = options.authorization;
|
|
576
|
+
requireProcessOwner(process, profile);
|
|
672
577
|
const state = deriveInternalCraftingProcessState(process, options.atUnixSeconds);
|
|
673
578
|
if (state.kind === 'complete') {
|
|
674
579
|
fail(`Crafting Process ${process.address} is complete at Unix timestamp ${String(options.atUnixSeconds)} and cannot be cancelled. Use planCompleteCraftingProcess with a refreshed snapshot instead.`, process.address);
|
|
675
580
|
}
|
|
676
|
-
const resolved = await
|
|
581
|
+
const resolved = await resolveProcessAccounts(ctx, process, profile, game, 'cancellation', game, 'For a Crafting Process belonging to the destroyed Starbase, use destroyCraftingProcess; do not cancel the Process.');
|
|
582
|
+
const gameAccount = requireAccount(resolved.extraAccount, game, `Configured Game ${game} is missing. Refresh the configured Game before retrying cancellation.`);
|
|
583
|
+
validateGameRead(gameAccount, game);
|
|
677
584
|
const description = `Cancel crafting ${String(process.quantityRaw)} units of ${process.recipe.name} at Starbase Player ${process.starbasePlayer.address}, returning all inputs and ${String(process.numCrew)} crew and closing the Crafting Process.`;
|
|
678
|
-
const preconditions = [
|
|
679
|
-
precondition(resolved.processAccount, `Crafting Process ${process.address} retains its validated relationships, timing, crew, quantity, fee, and inputs.`),
|
|
680
|
-
recipePrecondition(resolved.recipeAccount, `Recipe ${process.recipe.name} retains its validated Game, Hab policy, ingredients, and outputs.`),
|
|
681
|
-
precondition(resolved.playerAccount, `Starbase Player ${process.starbasePlayer.address} retains its Profile, Character, and System relationships.`),
|
|
682
|
-
Promise.resolve({
|
|
683
|
-
kind: 'starbase-system',
|
|
684
|
-
address: process.system.address,
|
|
685
|
-
game,
|
|
686
|
-
starbaseSequenceId: process.starbaseSequenceId,
|
|
687
|
-
describes: `Star System ${process.system.address} retains its canonical Game identity, active Starbase and sequence ${process.starbaseSequenceId}; unrelated shared activity may change.`,
|
|
688
|
-
}),
|
|
689
|
-
...(resolved.habAccount === undefined
|
|
690
|
-
? []
|
|
691
|
-
: [
|
|
692
|
-
precondition(resolved.habAccount, `Crafting Hab ${resolved.habAccount.address} remains active in the validated Game, Profile, System, and Starbase sequence.`),
|
|
693
|
-
]),
|
|
694
|
-
precondition(resolved.characterAccount, `The canonical Character remains assigned to Profile ${options.authorization.profile} in the configured Game.`),
|
|
695
|
-
precondition(resolved.gameAccount, `Game ${game} retains its pinned owner and account layout.`),
|
|
696
|
-
];
|
|
697
585
|
return createPlan({
|
|
698
586
|
kind: 'crafting.cancel-process',
|
|
699
|
-
preconditions: await Promise.all(
|
|
587
|
+
preconditions: await Promise.all([
|
|
588
|
+
...processPreconditions(process, resolved, profile, [
|
|
589
|
+
{
|
|
590
|
+
kind: 'starbase-system',
|
|
591
|
+
address: process.system.address,
|
|
592
|
+
game,
|
|
593
|
+
starbaseSequenceId: process.starbaseSequenceId,
|
|
594
|
+
describes: `Star System ${process.system.address} retains its canonical Game identity, active Starbase and sequence ${process.starbaseSequenceId}; unrelated shared activity may change.`,
|
|
595
|
+
},
|
|
596
|
+
]),
|
|
597
|
+
precondition(gameAccount, `Game ${game} retains its pinned owner and account layout.`),
|
|
598
|
+
]),
|
|
700
599
|
steps: [
|
|
701
600
|
{
|
|
702
601
|
describes: description,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/crafting/actions/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/crafting/actions/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Address } from '@solana/kit';
|
|
2
|
+
/** The identity fields of a loaded Starbase Player snapshot. */
|
|
3
|
+
interface StarbasePlayerIdentity {
|
|
4
|
+
readonly address: Address;
|
|
5
|
+
readonly playerProfile: {
|
|
6
|
+
readonly address: Address;
|
|
7
|
+
};
|
|
8
|
+
readonly character: {
|
|
9
|
+
readonly address: Address;
|
|
10
|
+
};
|
|
11
|
+
readonly system: {
|
|
12
|
+
readonly address: Address;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
/** Requires a loaded Starbase Player to belong to the authorization Profile,
|
|
16
|
+
* reference that Profile's canonical Character in the configured Game, and sit
|
|
17
|
+
* at its canonical address; returns the Character. Fresh-state checks remain
|
|
18
|
+
* the caller's. */
|
|
19
|
+
export declare function requireProfileStarbasePlayer(player: StarbasePlayerIdentity, profile: Address, game: Address): Promise<Address>;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=starbase-player-owner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"starbase-player-owner.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/starbase-player-owner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAM3C,gEAAgE;AAChE,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IACtD,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CAChD;AAMD;;;mBAGmB;AACnB,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,OAAO,CAAC,CAwBlB"}
|