@aephia/atlas-kit 0.6.0-next.86 → 0.6.0-next.88

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 (39) hide show
  1. package/dist/fleets/actions/dock-bounds.d.ts +3 -1
  2. package/dist/fleets/actions/dock-bounds.d.ts.map +1 -1
  3. package/dist/fleets/actions/dock-bounds.js +16 -8
  4. package/dist/fleets/actions/dock-bounds.js.map +1 -1
  5. package/dist/fleets/actions/index.js +1 -1
  6. package/dist/fleets/actions/index.js.map +1 -1
  7. package/dist/internal/c4/game.d.ts +5 -1
  8. package/dist/internal/c4/game.d.ts.map +1 -1
  9. package/dist/internal/c4/game.js +68 -7
  10. package/dist/internal/c4/game.js.map +1 -1
  11. package/dist/internal/planning/faction-enrollment.d.ts +1 -2
  12. package/dist/internal/planning/faction-enrollment.d.ts.map +1 -1
  13. package/dist/internal/planning/faction-enrollment.js +1 -13
  14. package/dist/internal/planning/faction-enrollment.js.map +1 -1
  15. package/dist/internal/planning/fleet-dock-funding-guard.d.ts +1 -0
  16. package/dist/internal/planning/fleet-dock-funding-guard.d.ts.map +1 -1
  17. package/dist/internal/planning/fleet-dock-funding-guard.js +15 -6
  18. package/dist/internal/planning/fleet-dock-funding-guard.js.map +1 -1
  19. package/dist/internal/planning/fleet-dock-funding.d.ts +0 -1
  20. package/dist/internal/planning/fleet-dock-funding.d.ts.map +1 -1
  21. package/dist/internal/planning/fleet-dock-funding.js +35 -16
  22. package/dist/internal/planning/fleet-dock-funding.js.map +1 -1
  23. package/dist/internal/planning/fleet-respawn.d.ts +1 -1
  24. package/dist/internal/planning/rent.d.ts +9 -0
  25. package/dist/internal/planning/rent.d.ts.map +1 -1
  26. package/dist/internal/planning/rent.js +16 -1
  27. package/dist/internal/planning/rent.js.map +1 -1
  28. package/dist/markets/index.d.ts +31 -0
  29. package/dist/markets/index.d.ts.map +1 -1
  30. package/dist/markets/index.js +48 -1
  31. package/dist/markets/index.js.map +1 -1
  32. package/dist/planning/composition.d.ts +8 -0
  33. package/dist/planning/composition.d.ts.map +1 -1
  34. package/dist/planning/composition.js +22 -2
  35. package/dist/planning/composition.js.map +1 -1
  36. package/dist/planning/execution.d.ts.map +1 -1
  37. package/dist/planning/execution.js +16 -12
  38. package/dist/planning/execution.js.map +1 -1
  39. package/package.json +1 -1
@@ -1,7 +1,9 @@
1
+ import { validateExclusiveAccountReferences } from '../../planning/composition.js';
1
2
  import { isAddress } from '@solana/kit';
2
3
  import { InvalidActionInputError, SageSdkError } from '../../client/errors.js';
3
4
  import { IDLE_TO_DOCKED_DISCRIMINATOR, SAGE_PROGRAM_ADDRESS, } from '../c4/runtime-bindings.js';
4
5
  import { rentMinimumBalance } from './rent.js';
6
+ export const MAXIMUM_DOCK_GROWTH_BYTES = 40;
5
7
  const REASONS = [
6
8
  'unsupported-account-layout',
7
9
  'unsupported-fleet-state',
@@ -15,7 +17,7 @@ const REASONS = [
15
17
  'profile-below-storage-ceiling',
16
18
  ];
17
19
  export function dockGrowthDebit(rate, threshold, length) {
18
- return (rentMinimumBalance(rate, threshold, length + 40) -
20
+ return (rentMinimumBalance(rate, threshold, length + MAXIMUM_DOCK_GROWTH_BYTES) -
19
21
  rentMinimumBalance(rate, threshold, length));
20
22
  }
21
23
  export function normalizeFleetDockFundingGuard(value, wire = false) {
@@ -143,11 +145,18 @@ export function validateFleetDockFundingGuards(steps, guards) {
143
145
  for (const address of [g.address, g.character, g.system, g.starbasePlayer])
144
146
  if (!guards.some((v) => v.kind === 'account-state' && v.address === address))
145
147
  fail();
146
- // Transaction compilation unions privileges: a locally readonly reference
147
- // also becomes writable because this docking instruction writes the Fleet.
148
- if (steps.some((other) => other !== step &&
149
- other.instruction.accounts?.some((meta) => meta.address === g.address)))
150
- throw new SageSdkError('INCOMPATIBLE_PLAN_COMPOSITION', 'Docking cannot share a transaction with another instruction referencing the same Fleet. Confirm the first action, refresh the Fleet and prepare the next Plan separately.');
148
+ validateExclusiveAccountReferences(steps, steps.indexOf(step), [
149
+ { address: g.address, label: 'Fleet' },
150
+ { address: g.starbasePlayer, label: 'StarbasePlayer' },
151
+ ...(g.status === 'unavailable'
152
+ ? [
153
+ {
154
+ address: g.profile,
155
+ label: 'Profile while docking storage bounds are unavailable',
156
+ },
157
+ ]
158
+ : []),
159
+ ]);
151
160
  }
152
161
  }
153
162
  //# sourceMappingURL=fleet-dock-funding-guard.js.map
@@ -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,EAAE,SAAS,EAAgB,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAG/C,MAAM,OAAO,GAAG;IACd,4BAA4B;IAC5B,yBAAyB;IACzB,+BAA+B;IAC/B,4BAA4B;IAC5B,yBAAyB;IACzB,kBAAkB;IAClB,mBAAmB;IACnB,2BAA2B;IAC3B,6BAA6B;IAC7B,+BAA+B;CACvB,CAAC;AAkCX,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,SAAiB,EACjB,MAAc;IAEd,OAAO,CACL,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,EAAE,CAAC;QAChD,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAC5C,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,8BAA8B,CAC5C,KAA8B,EAC9B,IAAI,GAAG,KAAK;IAEZ,MAAM,GAAG,GAAG,GAAU,EAAE;QACtB,MAAM,IAAI,uBAAuB,CAC/B,oBAAoB,EACpB,KAAK,EACL,wEAAwE,EACxE,kFAAkF,CACnF,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IACzB,MAAM,SAAS,GAAG;QAChB,SAAS;QACT,MAAM;QACN,SAAS;QACT,WAAW;QACX,aAAa;QACb,WAAW;QACX,QAAQ;QACR,gBAAgB;KACjB,CAAC;IACF,MAAM,KAAK,GAAG;QACZ,qBAAqB;QACrB,sBAAsB;QACtB,yBAAyB;QACzB,wBAAwB;QACxB,gBAAgB;QAChB,iBAAiB;QACjB,oBAAoB;KACrB,CAAC;IACF,MAAM,IAAI,GAAG;QACX,MAAM;QACN,GAAG,SAAS;QACZ,UAAU;QACV,QAAQ;QACR,WAAW;QACX,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;KACrD,CAAC;IACF,IACE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE/C,GAAG,EAAE,CAAC;IACR,KAAK,MAAM,CAAC,IAAI,SAAS;QACvB,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAAE,GAAG,EAAE,CAAC;IAC9D,IACE,GAAG,CAAC,IAAI,KAAK,oBAAoB;QACjC,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;QACjC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE;QACrB,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC9B,GAAG,CAAC,QAAmB,GAAG,CAAC;QAC3B,GAAG,CAAC,QAAmB,GAAG,KAAK;QAEhC,GAAG,EAAE,CAAC;IACR,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI;YACd,qBAAqB;YACrB,yBAAyB;YACzB,oBAAoB;SACrB,EAAE,CAAC;YACF,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACjE,GAAG,EAAE,CAAC;gBACR,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAW,CAAC,CAAC;YACpC,CAAC;YACD,IACE,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ;gBAC1B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;gBACX,GAAG,CAAC,CAAC,CAAC,GAAG,mBAAmB;gBAE5B,GAAG,EAAE,CAAC;QACV,CAAC;QACD,KAAK,MAAM,CAAC,IAAI;YACd,sBAAsB;YACtB,gBAAgB;YAChB,iBAAiB;SAClB;YACC,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACxB,GAAG,CAAC,CAAC,CAAY,GAAG,CAAC;gBACrB,GAAG,CAAC,CAAC,CAAY,GAAG,UAAU;gBAE/B,GAAG,EAAE,CAAC;QACV,IACG,GAAG,CAAC,oBAA+B,GAAG,GAAG;YAC1C,OAAO,GAAG,CAAC,sBAAsB,KAAK,QAAQ;YAC9C,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAsB,CAAC;YAC5C,GAAG,CAAC,sBAAsB,GAAG,CAAC;YAE9B,GAAG,EAAE,CAAC;QACR,IAAI,CAAC;YACH,IACE,GAAG,CAAC,mBAAmB;gBACvB,eAAe,CACb,GAAG,CAAC,uBAAiC,EACrC,GAAG,CAAC,sBAAgC,EACpC,GAAG,CAAC,oBAA8B,CACnC;gBAED,GAAG,EAAE,CAAC;QACV,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,EAAE,CAAC;QACR,CAAC;IACH,CAAC;SAAM,IACL,GAAG,CAAC,MAAM,KAAK,aAAa;QAC5B,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAqC,CAAC;QAE5D,GAAG,EAAE,CAAC;IACR,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAqC,CAAC;AAChE,CAAC;AACD,MAAM,UAAU,sBAAsB,CACpC,KAA4B;IAE5B,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAC1C,GAAG;QACH,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;KAClD,CAAC,CACmC,CAAC;AAC1C,CAAC;AACD,iFAAiF;AACjF,MAAM,UAAU,8BAA8B,CAC5C,KAA0B,EAC1B,MAAmC;IAEnC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAC5B,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAoB,CACnE,CAAC;IACF,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CACxB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,WAAW,CAAC,cAAc,KAAK,oBAAoB;QACrD,4BAA4B,CAAC,KAAK,CAChC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CACxC,CACJ,CAAC;IACF,MAAM,IAAI,GAAG,GAAU,EAAE;QACvB,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,yIAAyI,CAC1I,CAAC;IACJ,CAAC,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,IAAI,EAAE,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,QAAS,CAAC;QACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC;QACpE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAK,CAAC;QACpC,IACE,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO;YAC3B,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO;YAC7B,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO;YAC/B,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO;YAC1B,CAAC,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO;YAClC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO;YACxB,CAAC,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,CAAC,CAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS;YAE/B,IAAI,EAAE,CAAC;QACT,KAAK,MAAM,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC;YACxE,IACE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC;gBAExE,IAAI,EAAE,CAAC;QACX,0EAA0E;QAC1E,2EAA2E;QAC3E,IACE,KAAK,CAAC,IAAI,CACR,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,KAAK,IAAI;YACd,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAC9B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CACrC,CACJ;YAED,MAAM,IAAI,YAAY,CACpB,+BAA+B,EAC/B,2KAA2K,CAC5K,CAAC;IACN,CAAC;AACH,CAAC"}
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,7 +1,6 @@
1
1
  import type { Address, RawAccount, SageContext } from '../../client/contracts.js';
2
2
  import { type DockingSequences } from '../../registry/docking.js';
3
3
  import { type DockFundingAmounts, type DockFundingIntent, type FleetDockFundingGuard } from './fleet-dock-funding-guard.js';
4
- export declare function calculateDockFunding(intent: DockFundingIntent, accounts: ReadonlyMap<Address, RawAccount | undefined>, sequences?: DockingSequences): DockFundingAmounts;
5
4
  export declare function resolveDockFunding(ctx: SageContext, intent: DockFundingIntent, raw: readonly RawAccount[]): Promise<DockFundingAmounts>;
6
5
  export declare function revalidateDockFunding(guard: FleetDockFundingGuard, accounts: ReadonlyMap<Address, RawAccount | undefined>, sequences: DockingSequences | undefined): {
7
6
  profileDebit: bigint;
@@ -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;AAOvC,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,EACtD,SAAS,CAAC,EAAE,gBAAgB,GAC3B,kBAAkB,CAyFpB;AACD,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,iBAAiB,EACzB,GAAG,EAAE,SAAS,UAAU,EAAE,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAe7B;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,CAsB9D"}
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;AAyGvC,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,iBAAiB,EACzB,GAAG,EAAE,SAAS,UAAU,EAAE,GACzB,OAAO,CAAC,kBAAkB,CAAC,CA+B7B;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"}
@@ -11,7 +11,7 @@ import { dockGrowthDebit, } from './fleet-dock-funding-guard.js';
11
11
  function unavailable(reason) {
12
12
  return { status: 'unavailable', reason };
13
13
  }
14
- export function calculateDockFunding(intent, accounts, sequences) {
14
+ function qualifyDockAccounts(intent, accounts) {
15
15
  const fleetRaw = accounts.get(intent.address), playerRaw = accounts.get(intent.starbasePlayer), systemRaw = accounts.get(intent.system);
16
16
  if (!fleetRaw || !playerRaw || !systemRaw)
17
17
  return unavailable('funding-state-unavailable');
@@ -48,10 +48,14 @@ export function calculateDockFunding(intent, accounts, sequences) {
48
48
  return unavailable('pending-recovery');
49
49
  if (!system.starbase || player.sequenceId !== system.sequenceId)
50
50
  return unavailable('stale-starbase-sequence');
51
+ return { status: 'qualified', fleetRaw, playerRaw, fleet, player };
52
+ }
53
+ function calculateDockFunding(intent, accounts, sequences, qualified = qualifyDockAccounts(intent, accounts)) {
54
+ if (qualified.status === 'unavailable')
55
+ return qualified;
56
+ const { fleetRaw, playerRaw, fleet, player } = qualified;
51
57
  if (!sequences)
52
58
  return unavailable('funding-state-unavailable');
53
- if (sequences.version !== 2)
54
- return unavailable('unsupported-account-layout');
55
59
  if (fleet.shipDefinitionsSeqId !== sequences.shipSequenceId ||
56
60
  [
57
61
  fleet.cargoHold.seqId,
@@ -68,13 +72,14 @@ export function calculateDockFunding(intent, accounts, sequences) {
68
72
  const rent = readRent(rentRaw);
69
73
  if ([fleetRaw, playerRaw].some((a) => a.lamports < rent(a.data.length)))
70
74
  return unavailable('accounts-below-rent-reserve');
71
- const view = new DataView(rentRaw.data.buffer, rentRaw.data.byteOffset, rentRaw.data.byteLength);
72
- const rentLamportsPerByteYear = view.getBigUint64(0, true), rentExemptionThreshold = view.getFloat64(8, true);
75
+ const { rentLamportsPerByteYear, rentExemptionThreshold } = rent;
73
76
  const maximumProfileDebit = dockGrowthDebit(rentLamportsPerByteYear, rentExemptionThreshold, fleetRaw.data.length);
74
- if (profile.lamports < rent(profile.data.length) + maximumProfileDebit)
77
+ const profileReserve = rent(profile.data.length);
78
+ if (profile.lamports < profileReserve + maximumProfileDebit)
75
79
  return unavailable('profile-below-storage-ceiling');
76
80
  return {
77
81
  status: 'available',
82
+ profileReserve,
78
83
  maximumProfileDebit,
79
84
  fleetDataLengthBytes: fleetRaw.data.length,
80
85
  rentLamportsPerByteYear,
@@ -86,15 +91,29 @@ export function calculateDockFunding(intent, accounts, sequences) {
86
91
  }
87
92
  export async function resolveDockFunding(ctx, intent, raw) {
88
93
  const accounts = new Map(raw.map((a) => [a.address, a]));
89
- const initial = calculateDockFunding(intent, accounts);
90
- if (initial.status === 'unavailable' &&
91
- initial.reason !== 'funding-state-unavailable')
92
- return initial;
93
- const sequences = await readFreshGameDockingSequences(ctx);
94
- const addresses = [intent.profile, RENT_ADDRESS];
95
- const rows = await readContextRawAccounts(ctx, addresses);
96
- addresses.forEach((a, n) => accounts.set(a, rows[n]));
97
- return calculateDockFunding(intent, accounts, sequences);
94
+ // Core account decoding remains strict; only optional estimate inputs below
95
+ // may turn an otherwise supported dock into an unavailable quote.
96
+ const qualified = qualifyDockAccounts(intent, accounts);
97
+ if (qualified.status === 'unavailable')
98
+ return qualified;
99
+ try {
100
+ const addresses = [intent.profile, RENT_ADDRESS];
101
+ const [sequences, rows] = await Promise.all([
102
+ readFreshGameDockingSequences(ctx),
103
+ readContextRawAccounts(ctx, addresses),
104
+ ]);
105
+ addresses.forEach((a, n) => accounts.set(a, rows[n]));
106
+ const current = calculateDockFunding(intent, accounts, sequences, qualified);
107
+ if (current.status === 'unavailable')
108
+ return current;
109
+ const { profileReserve: _profileReserve, ...amounts } = current;
110
+ return amounts;
111
+ }
112
+ catch (error) {
113
+ return unavailable(error instanceof SageSdkError && error.code === 'ACCOUNT_DECODE_FAILED'
114
+ ? 'unsupported-account-layout'
115
+ : 'funding-state-unavailable');
116
+ }
98
117
  }
99
118
  export function revalidateDockFunding(guard, accounts, sequences) {
100
119
  if (guard.status === 'unavailable')
@@ -109,7 +128,7 @@ export function revalidateDockFunding(guard, accounts, sequences) {
109
128
  throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Docking no longer has qualified storage funding within its approved Profile ceiling. Refresh the Fleet, Starbase Player, definitions and Rent; fund the Profile explicitly if needed, then recreate and inspect the Plan before signing.', { address: guard.profile });
110
129
  return {
111
130
  profileDebit: guard.maximumProfileDebit,
112
- profileReserve: readRent(accounts.get(RENT_ADDRESS))(accounts.get(guard.profile).data.length),
131
+ profileReserve: current.profileReserve,
113
132
  };
114
133
  }
115
134
  //# sourceMappingURL=fleet-dock-funding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fleet-dock-funding.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-dock-funding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fleet-dock-funding.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-dock-funding.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EACL,6BAA6B,GAE9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EACL,eAAe,GAIhB,MAAM,+BAA+B,CAAC;AAEvC,SAAS,WAAW,CAClB,MAAwE;IAExE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;AAC3C,CAAC;AACD,SAAS,mBAAmB,CAC1B,MAAyB,EACzB,QAAsD;IAEtD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAC3C,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAC/C,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS;QACvC,OAAO,WAAW,CAAC,2BAA2B,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,EACnD,MAAM,GAAG,+BAA+B,CAAC,MAAM,CAAC,SAAS,CAAC,EAC1D,MAAM,GAAG,2BAA2B,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzD,IACE,QAAQ,CAAC,UAAU;QACnB,SAAS,CAAC,UAAU;QACpB,SAAS,CAAC,UAAU;QACpB,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;QAC1B,KAAK,CAAC,YAAY,KAAK,MAAM,CAAC,OAAO;QACrC,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,OAAO;QACvC,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS;QACrC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;QAC/B,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;QAE3B,OAAO,WAAW,CAAC,2BAA2B,CAAC,CAAC;IAClD,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC;QAC7C,OAAO,WAAW,CAAC,4BAA4B,CAAC,CAAC;IACnD,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM;QAC7B,OAAO,WAAW,CAAC,yBAAyB,CAAC,CAAC;IAChD,IAAI,CAAC,2BAA2B,CAAC,QAAQ,EAAE,SAAS,CAAC;QACnD,OAAO,WAAW,CAAC,+BAA+B,CAAC,CAAC;IACtD,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM;QAAE,OAAO,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAC3E,IACE,KAAK,CAAC,SAAS,KAAK,CAAC;QACrB,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM;QACpC,KAAK,CAAC,eAAe,CAAC,WAAW,KAAK,EAAE;QACxC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM;QACtC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,mBAAmB,KAAK,EAAE;QAClD,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM;QAC9B,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM;QACpC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM;QACrC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,KAAK,EAAE;QACzC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,sBAAsB,KAAK,EAAE;QACpD,MAAM,CAAC,6BAA6B,KAAK,EAAE;QAE3C,OAAO,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU;QAC7D,OAAO,WAAW,CAAC,yBAAyB,CAAC,CAAC;IAChD,OAAO,EAAE,MAAM,EAAE,WAAoB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC9E,CAAC;AACD,SAAS,oBAAoB,CAC3B,MAAyB,EACzB,QAAsD,EACtD,SAAuC,EACvC,SAAS,GAAG,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAEjD,IAAI,SAAS,CAAC,MAAM,KAAK,aAAa;QAAE,OAAO,SAAS,CAAC;IACzD,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACzD,IAAI,CAAC,SAAS;QAAE,OAAO,WAAW,CAAC,2BAA2B,CAAC,CAAC;IAChE,IACE,KAAK,CAAC,oBAAoB,KAAK,SAAS,CAAC,cAAc;QACvD;YACE,KAAK,CAAC,SAAS,CAAC,KAAK;YACrB,KAAK,CAAC,UAAU,CAAC,KAAK;YACtB,KAAK,CAAC,eAAe,CAAC,KAAK;YAC3B,MAAM,CAAC,KAAK,CAAC,UAAU;YACvB,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU;SACnC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,eAAe,CAAC;QAElD,OAAO,WAAW,CAAC,4BAA4B,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAC1C,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU;QAC5C,OAAO,WAAW,CAAC,2BAA2B,CAAC,CAAC;IAClD,2BAA2B,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrE,OAAO,WAAW,CAAC,6BAA6B,CAAC,CAAC;IACpD,MAAM,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;IACjE,MAAM,mBAAmB,GAAG,eAAe,CACzC,uBAAuB,EACvB,sBAAsB,EACtB,QAAQ,CAAC,IAAI,CAAC,MAAM,CACrB,CAAC;IACF,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,OAAO,CAAC,QAAQ,GAAG,cAAc,GAAG,mBAAmB;QACzD,OAAO,WAAW,CAAC,+BAA+B,CAAC,CAAC;IACtD,OAAO;QACL,MAAM,EAAE,WAAoB;QAC5B,cAAc;QACd,mBAAmB;QACnB,oBAAoB,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;QAC1C,uBAAuB;QACvB,sBAAsB;QACtB,cAAc,EAAE,SAAS,CAAC,cAAc;QACxC,eAAe,EAAE,SAAS,CAAC,eAAe;QAC1C,kBAAkB,EAAE,MAAM,CAAC,UAAU;KACtC,CAAC;AACJ,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,GAAgB,EAChB,MAAyB,EACzB,GAA0B;IAE1B,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAC/B,CAAC;IACF,4EAA4E;IAC5E,kEAAkE;IAClE,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxD,IAAI,SAAS,CAAC,MAAM,KAAK,aAAa;QAAE,OAAO,SAAS,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACjD,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC1C,6BAA6B,CAAC,GAAG,CAAC;YAClC,sBAAsB,CAAC,GAAG,EAAE,SAAS,CAAC;SACvC,CAAC,CAAC;QACH,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,oBAAoB,CAClC,MAAM,EACN,QAAQ,EACR,SAAS,EACT,SAAS,CACV,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,KAAK,aAAa;YAAE,OAAO,OAAO,CAAC;QACrD,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC;QAChE,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,WAAW,CAChB,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB;YACrE,CAAC,CAAC,4BAA4B;YAC9B,CAAC,CAAC,2BAA2B,CAChC,CAAC;IACJ,CAAC;AACH,CAAC;AACD,MAAM,UAAU,qBAAqB,CACnC,KAA4B,EAC5B,QAAsD,EACtD,SAAuC;IAEvC,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa;QAAE,OAAO,SAAS,CAAC;IACrD,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACjE,IACE,OAAO,CAAC,MAAM,KAAK,WAAW;QAC9B,OAAO,CAAC,mBAAmB,GAAG,KAAK,CAAC,mBAAmB;QACvD,OAAO,CAAC,cAAc,KAAK,KAAK,CAAC,cAAc;QAC/C,OAAO,CAAC,eAAe,KAAK,KAAK,CAAC,eAAe;QACjD,OAAO,CAAC,kBAAkB,KAAK,KAAK,CAAC,kBAAkB;QACvD,OAAO,CAAC,oBAAoB,KAAK,KAAK,CAAC,oBAAoB;QAE3D,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,0OAA0O,EAC1O,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAC3B,CAAC;IACJ,OAAO;QACL,YAAY,EAAE,KAAK,CAAC,mBAAmB;QACvC,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAC;AACJ,CAAC"}
@@ -15,7 +15,7 @@ export declare function resolveFleetRespawn(ctx: SageContext, input: FleetRespaw
15
15
  readonly maximumRecoveryFee: bigint;
16
16
  readonly maximumProfileDebit: bigint;
17
17
  }, commitment?: Commitment): Promise<{
18
- instruction: import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>;
18
+ instruction: import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountMeta<string> | import("@solana/kit").AccountLookupMeta<string, string>)[]>;
19
19
  recoveryFee: bigint;
20
20
  profileDebit: bigint;
21
21
  fleetHash: string;
@@ -1,4 +1,13 @@
1
1
  import type { Address } from '@solana/kit';
2
+ import type { RawAccount } from '../../client/contracts.js';
2
3
  /** Shared exact-range Rent calculation, including the account overhead. */
3
4
  export declare function rentMinimumBalance(rate: bigint, threshold: number, length: number, address?: Address): bigint;
5
+ export declare const RENT_ADDRESS: Address;
6
+ /** Validated Rent inputs and the existing minimum-balance callable. */
7
+ export interface RentCalculation {
8
+ (length: number): bigint;
9
+ readonly rentLamportsPerByteYear: bigint;
10
+ readonly rentExemptionThreshold: number;
11
+ }
12
+ export declare function readRent(account: RawAccount): RentCalculation;
4
13
  //# sourceMappingURL=rent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rent.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/rent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAkE,GAC1E,MAAM,CAeR"}
1
+ {"version":3,"file":"rent.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/rent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAsB,GAC9B,MAAM,CAeR;AAED,eAAO,MAAM,YAAY,EAC0B,OAAO,CAAC;AAE3D,uEAAuE;AACvE,MAAM,WAAW,eAAe;IAC9B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;CACzC;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,eAAe,CA6B7D"}
@@ -1,6 +1,6 @@
1
1
  import { SageSdkError } from '../../client/errors.js';
2
2
  /** Shared exact-range Rent calculation, including the account overhead. */
3
- export function rentMinimumBalance(rate, threshold, length, address = 'SysvarRent111111111111111111111111111111111') {
3
+ export function rentMinimumBalance(rate, threshold, length, address = RENT_ADDRESS) {
4
4
  const base = (BigInt(length) + 128n) * rate;
5
5
  const result = Number(base) * threshold;
6
6
  if (base > BigInt(Number.MAX_SAFE_INTEGER) ||
@@ -10,4 +10,19 @@ export function rentMinimumBalance(rate, threshold, length, address = 'SysvarRen
10
10
  throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Profile storage funding exceeds the supported exact calculation range. Use a supported Rent configuration before planning this action.', { address });
11
11
  return BigInt(Math.trunc(result));
12
12
  }
13
+ export const RENT_ADDRESS = 'SysvarRent111111111111111111111111111111111';
14
+ export function readRent(account) {
15
+ if (account.owner !== 'Sysvar1111111111111111111111111111111111111' ||
16
+ account.executable ||
17
+ account.data.length !== 17)
18
+ rentFailure('The Rent sysvar has an unexpected owner or layout. Refresh the configured deployment before calculating Profile funding.', account.address);
19
+ const view = new DataView(account.data.buffer, account.data.byteOffset, account.data.byteLength);
20
+ const rate = view.getBigUint64(0, true), threshold = view.getFloat64(8, true);
21
+ if (!Number.isFinite(threshold) || threshold < 0 || view.getUint8(16) > 100)
22
+ rentFailure('The Rent sysvar contains unsupported values. Refresh the deployment or use a supported configuration before planning this action.', account.address);
23
+ return Object.freeze(Object.assign((length) => rentMinimumBalance(rate, threshold, length, account.address), { rentLamportsPerByteYear: rate, rentExemptionThreshold: threshold }));
24
+ }
25
+ function rentFailure(message, address) {
26
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', message, { address });
27
+ }
13
28
  //# sourceMappingURL=rent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rent.js","sourceRoot":"","sources":["../../../src/internal/planning/rent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,2EAA2E;AAC3E,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,SAAiB,EACjB,MAAc,EACd,UAAmB,6CAAwD;IAE3E,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IACxC,IACE,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACtC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QACxB,MAAM,GAAG,CAAC;QACV,MAAM,GAAG,MAAM,CAAC,gBAAgB;QAEhC,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,wIAAwI,EACxI,EAAE,OAAO,EAAE,CACZ,CAAC;IACJ,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"rent.js","sourceRoot":"","sources":["../../../src/internal/planning/rent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,2EAA2E;AAC3E,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,SAAiB,EACjB,MAAc,EACd,UAAmB,YAAY;IAE/B,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IACxC,IACE,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACtC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QACxB,MAAM,GAAG,CAAC;QACV,MAAM,GAAG,MAAM,CAAC,gBAAgB;QAEhC,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,wIAAwI,EACxI,EAAE,OAAO,EAAE,CACZ,CAAC;IACJ,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GACvB,6CAAwD,CAAC;AAS3D,MAAM,UAAU,QAAQ,CAAC,OAAmB;IAC1C,IACE,OAAO,CAAC,KAAK,KAAK,6CAA6C;QAC/D,OAAO,CAAC,UAAU;QAClB,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE;QAE1B,WAAW,CACT,0HAA0H,EAC1H,OAAO,CAAC,OAAO,CAChB,CAAC;IACJ,MAAM,IAAI,GAAG,IAAI,QAAQ,CACvB,OAAO,CAAC,IAAI,CAAC,MAAM,EACnB,OAAO,CAAC,IAAI,CAAC,UAAU,EACvB,OAAO,CAAC,IAAI,CAAC,UAAU,CACxB,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,EACrC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG;QACzE,WAAW,CACT,mIAAmI,EACnI,OAAO,CAAC,OAAO,CAChB,CAAC;IACJ,OAAO,MAAM,CAAC,MAAM,CAClB,MAAM,CAAC,MAAM,CACX,CAAC,MAAc,EAAE,EAAE,CACjB,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,EAC9D,EAAE,uBAAuB,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,CACrE,CACF,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,OAAe,EAAE,OAAgB;IACpD,MAAM,IAAI,YAAY,CAAC,4BAA4B,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7E,CAAC"}
@@ -53,6 +53,37 @@ export interface LocalMarketOrderSnapshot extends LocalMarketOrderData {
53
53
  export interface LocalMarketMakerStateSnapshot extends LocalMarketMakerData {
54
54
  readonly profileRef: EntityRef<'profile'>;
55
55
  }
56
+ /** Observed locked principal and released proceeds for one Local Market maker row.
57
+ *
58
+ * These values classify the row's stored amounts. Released amounts do not
59
+ * establish withdrawal availability or predict a future transfer.
60
+ *
61
+ * @example
62
+ * ```ts
63
+ * declare const assets: LocalMarketMakerAssets;
64
+ * console.log(assets.lockedAtlasRaw, assets.releasedCargoRaw);
65
+ * ```
66
+ */
67
+ export interface LocalMarketMakerAssets {
68
+ readonly lockedAtlasRaw: bigint;
69
+ readonly lockedCargoRaw: bigint;
70
+ readonly releasedAtlasRaw: bigint;
71
+ readonly releasedCargoRaw: bigint;
72
+ toJSON(): unknown;
73
+ }
74
+ /** Projects one observed maker row into side-aware locked principal and released proceeds.
75
+ *
76
+ * The helper performs no network or signing work and does not infer fill state,
77
+ * fees, refunds, freshness, or whether released assets can be withdrawn.
78
+ *
79
+ * @example
80
+ * ```ts
81
+ * declare const maker: LocalMarketMakerStateSnapshot;
82
+ * const assets = deriveLocalMarketMakerAssets('bid', maker);
83
+ * console.log(assets.lockedAtlasRaw, assets.releasedCargoRaw);
84
+ * ```
85
+ */
86
+ export declare function deriveLocalMarketMakerAssets(side: 'bid' | 'ask', maker: Pick<LocalMarketMakerStateSnapshot, 'cargoRaw' | 'escrowedOrReleasedAtlasRaw'>): LocalMarketMakerAssets;
56
87
  /** One translated side of a Local Market order book.
57
88
  * @example
58
89
  * ```ts
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/markets/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/markets/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AccountDecodeError } from '../client/errors.js';
1
+ import { AccountDecodeError, InvalidDerivationInputError, } from '../client/errors.js';
2
2
  import { entityRef } from '../client/refs.js';
3
3
  import { deriveFactionMarketAddress as deriveFactionMarketAddressInternal, deriveLocalMarketAddress as deriveLocalMarketAddressInternal, discoverLocalMarketsBySystem, factionMarketAccountDefinition, localMarketAccountDefinition, } from '../internal/c4/market.js';
4
4
  import { requireGameAddress } from '../internal/game-context.js';
@@ -27,6 +27,53 @@ export function deriveLocalMarketAddress(system, cargoId, starbaseSequenceId) {
27
27
  export function deriveFactionMarketAddress(game, system, starbaseSequenceId) {
28
28
  return deriveFactionMarketAddressInternal(game, system, starbaseSequenceId);
29
29
  }
30
+ const MAX_U64 = 18446744073709551615n;
31
+ function invalidMakerAssetValue(value) {
32
+ if (typeof value === 'number' ||
33
+ typeof value === 'bigint' ||
34
+ typeof value === 'string') {
35
+ return value;
36
+ }
37
+ if (value === undefined)
38
+ return 'missing';
39
+ if (value === null)
40
+ return 'null';
41
+ return `a value of type ${typeof value}`;
42
+ }
43
+ function requireMakerAssetAmount(field, value) {
44
+ if (typeof value !== 'bigint' || value < 0n || value > MAX_U64) {
45
+ throw new InvalidDerivationInputError(field, invalidMakerAssetValue(value), `Use the observed maker-row bigint from 0 through ${String(MAX_U64)}.`);
46
+ }
47
+ return value;
48
+ }
49
+ /** Projects one observed maker row into side-aware locked principal and released proceeds.
50
+ *
51
+ * The helper performs no network or signing work and does not infer fill state,
52
+ * fees, refunds, freshness, or whether released assets can be withdrawn.
53
+ *
54
+ * @example
55
+ * ```ts
56
+ * declare const maker: LocalMarketMakerStateSnapshot;
57
+ * const assets = deriveLocalMarketMakerAssets('bid', maker);
58
+ * console.log(assets.lockedAtlasRaw, assets.releasedCargoRaw);
59
+ * ```
60
+ */
61
+ export function deriveLocalMarketMakerAssets(side, maker) {
62
+ if (side !== 'bid' && side !== 'ask') {
63
+ throw new InvalidDerivationInputError('Local Market maker side', invalidMakerAssetValue(side), 'Use the observed order-book side "bid" or "ask".');
64
+ }
65
+ if (maker === null || typeof maker !== 'object') {
66
+ throw new InvalidDerivationInputError('Local Market maker row', invalidMakerAssetValue(maker), 'Supply an observed maker row containing cargoRaw and escrowedOrReleasedAtlasRaw.');
67
+ }
68
+ const atlasRaw = requireMakerAssetAmount('Local Market maker escrowedOrReleasedAtlasRaw', maker.escrowedOrReleasedAtlasRaw);
69
+ const cargoRaw = requireMakerAssetAmount('Local Market maker cargoRaw', maker.cargoRaw);
70
+ return Object.freeze(attachJsonSerialization({
71
+ lockedAtlasRaw: side === 'bid' ? atlasRaw : 0n,
72
+ lockedCargoRaw: side === 'ask' ? cargoRaw : 0n,
73
+ releasedAtlasRaw: side === 'ask' ? atlasRaw : 0n,
74
+ releasedCargoRaw: side === 'bid' ? cargoRaw : 0n,
75
+ }));
76
+ }
30
77
  function directMetadata(envelope) {
31
78
  return {
32
79
  commitment: envelope.commitment,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/markets/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAkB,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EACL,0BAA0B,IAAI,kCAAkC,EAChE,wBAAwB,IAAI,gCAAgC,EAC5D,4BAA4B,EAC5B,8BAA8B,EAC9B,4BAA4B,GAK7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EACL,YAAY,GAEb,MAAM,sBAAsB,CAAC;AAE9B;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAAe,EACf,OAAe,EACf,kBAA0B;IAE1B,OAAO,gCAAgC,CAAC,MAAM,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;AAC/E,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,IAAa,EACb,MAAe,EACf,kBAA0B;IAE1B,OAAO,kCAAkC,CAAC,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAC9E,CAAC;AA2GD,SAAS,cAAc,CACrB,QAA6B;IAE7B,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,QAAQ,EAAE,QAAQ;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,KAA2B;IACxC,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,UAAU,CACjB,KAA2B;IAE3B,OAAO,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;AACvE,CAAC;AAED,SAAS,IAAI,CACX,KAAqC;IAErC,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;QACpC,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,eAAe,GAAG,IAAI,OAAO,EAGhC,CAAC;AACJ,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAGlC,CAAC;AAEJ,KAAK,UAAU,mBAAmB,CAChC,OAAoB,EACpB,QAAkD;IAElD,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAC7C,QAAQ,CAAC,IAAI,CAAC,MAAM,EACpB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAC3B,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CACjC,CAAC;IACF,IAAI,QAAQ,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,IAAI,kBAAkB,CAC1B,QAAQ,EACR,QAAQ,CAAC,OAAO,EAChB,IAAI,UAAU,CAAC,sDAAsD,CAAC,EACtE,gBAAgB,QAAQ,CAAC,OAAO,wIAAwI,CACzK,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAC9D,QAAQ,CAAC,IAAI,CAAC;IAChB,OAAO,sBAAsB,CAC3B,cAAc,CACZ,uBAAuB,CAAC;QACtB,GAAG,IAAI;QACP,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;QAChB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;QAChB,KAAK,EAAE;YACL,GAAG,CAAC,MAAM,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/C,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B;QACD,kBAAkB,EAAE,SAAS,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAC5D,IAAI,EAAE,aAAsB;QAC5B,MAAM,EAAE,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;KACxC,CAAC,EACF,cAAc,CAAC,QAAQ,CAAC,CACzB,CACF,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,OAAoB,EACpB,QAAkD;IAElD,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACvD,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvC,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,OAAoB,EACpB,QAAoD;IAEpD,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAChC,MAAM,IAAI,kBAAkB,CAC1B,QAAQ,EACR,QAAQ,CAAC,OAAO,EAChB,IAAI,UAAU,CAAC,qDAAqD,CAAC,EACrE,kBAAkB,QAAQ,CAAC,OAAO,oBAAoB,QAAQ,CAAC,IAAI,CAAC,IAAI,yBAAyB,IAAI,mDAAmD,CACzJ,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAC/C,IAAI,EACJ,QAAQ,CAAC,IAAI,CAAC,MAAM,EACpB,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CACjC,CAAC;IACF,IAAI,QAAQ,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,IAAI,kBAAkB,CAC1B,QAAQ,EACR,QAAQ,CAAC,OAAO,EAChB,IAAI,UAAU,CAAC,wDAAwD,CAAC,EACxE,kBAAkB,QAAQ,CAAC,OAAO,+IAA+I,CAClL,CAAC;IACJ,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC/D,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,GAAG,CAAC,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzC,GAAG,KAAK;KACT,CAAC,CAAC,CACJ,CAAC;IACF,OAAO,sBAAsB,CAC3B,cAAc,CACZ,uBAAuB,CAAC;QACtB,GAAG,IAAI;QACP,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;QAC7B,IAAI,EAAE,eAAwB;QAC9B,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;KACxC,CAAC,EACF,cAAc,CAAC,QAAQ,CAAC,CACzB,CACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAoB,EACpB,QAAoD;IAEpD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACzD,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzC,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAoB,EACpB,OAAgB,EAChB,OAAqB;IAErB,OAAO,eAAe,CACpB,OAAO,EACP,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,OAAO,EAAE,OAAO,CAAC,CACxE,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAoB,EACpB,OAAgB,EAChB,OAAqB;IAErB,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,CAC5C,4BAA4B,EAC5B,CAAC,OAAO,CAAC,EACT,OAAO,CACR,CAAC;IACF,OAAO,QAAQ,KAAK,SAAS;QAC3B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAoB,EACpB,MAAe,EACf,OAAe,EACf,kBAA0B,EAC1B,OAAqB;IAErB,OAAO,cAAc,CACnB,OAAO,EACP,MAAM,wBAAwB,CAAC,MAAM,EAAE,OAAO,EAAE,kBAAkB,CAAC,EACnE,OAAO,CACR,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAoB,EACpB,MAAe,EACf,OAAgC;IAEhC,MAAM,SAAS,GAAG,MAAM,4BAA4B,CAClD,OAAO,EACP,MAAM,EACN,OAAO,CACR,CAAC;IACF,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAE,CAAC;IAClC,OAAO,MAAM,CAAC,MAAM,CAClB,cAAc,CACZ,MAAM,OAAO,CAAC,GAAG,CACf,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAChE,EACD,IAAI,CACL,CACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,OAAoB,EACpB,MAAe,EACf,OAAgB,EAChB,OAAqB;IAMrB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,CAAC,IAAkC,EAAE,EAAE;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;QACtE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;QACrE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,kBAAkB,CAC1B,QAAQ,EACR,MAAM,EACN,IAAI,UAAU,CACZ,wFAAwF,CACzF,EACD,gBAAgB,MAAM,gCAAgC,OAAO,8IAA8I,CAC5M,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC;IACF,OAAO,sBAAsB,CAAC;QAC5B,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QACzB,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;KAC1B,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAoB,EACpB,OAAgB,EAChB,OAAqB;IAErB,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,OAAO,iBAAiB,CACtB,OAAO,EACP,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE,OAAO,EAAE,OAAO,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAoB,EACpB,OAAgB,EAChB,OAAqB;IAErB,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,CAC5C,8BAA8B,EAC9B,CAAC,OAAO,CAAC,EACT,OAAO,CACR,CAAC;IACF,OAAO,QAAQ,KAAK,SAAS;QAC3B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAAoB,EACpB,MAAe,EACf,kBAA0B,EAC1B,OAAqB;IAErB,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO,gBAAgB,CACrB,OAAO,EACP,MAAM,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAClE,OAAO,CACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/markets/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,12 @@
1
+ import type { Address } from '../client/contracts.js';
1
2
  import type { PlanStep } from './index.js';
2
3
  /** Validates the exact opaque semantic facts on one flattened Plan step list. */
3
4
  export declare function validatePlanComposition(steps: readonly PlanStep[]): void;
5
+ /** Protects qualification inputs from transaction-wide privilege merging.
6
+ * Callers derive protected resources from mandatory instruction-bound guards.
7
+ */
8
+ export declare function validateExclusiveAccountReferences(steps: readonly PlanStep[], requiringStepIndex: number, resources: readonly {
9
+ address: Address;
10
+ label: string;
11
+ }[]): void;
4
12
  //# sourceMappingURL=composition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../../src/planning/composition.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAoB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAwG7D,iFAAiF;AACjF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,GAAG,IAAI,CAsDxE"}
1
+ {"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../../src/planning/composition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,KAAK,EAAoB,QAAQ,EAAE,MAAM,YAAY,CAAC;AA0G7D,iFAAiF;AACjF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,GAAG,IAAI,CAsDxE;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,kBAAkB,EAAE,MAAM,EAC1B,SAAS,EAAE,SAAS;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,GACxD,IAAI,CAuBN"}
@@ -28,8 +28,9 @@ class IncompatiblePlanCompositionError extends SageSdkError {
28
28
  requiringStepDescription;
29
29
  requiringStepIndex;
30
30
  resource;
31
- constructor(requirement, requiringStep, requiringStepIndex, conflict) {
32
- super('INCOMPATIBLE_PLAN_COMPOSITION', `Plan step ${String(requiringStepIndex)} ("${requiringStep.describes}") requires "${requirement.fact}" for resource "${requirement.resource}", but step ${String(conflict.stepIndex)} ("${conflict.stepDescription}") made it unavailable with its ${describeEffect(conflict.fact)}. ${REMEDY}`);
31
+ constructor(requirement, requiringStep, requiringStepIndex, conflict, reason) {
32
+ super('INCOMPATIBLE_PLAN_COMPOSITION', reason ??
33
+ `Plan step ${String(requiringStepIndex)} ("${requiringStep.describes}") requires "${requirement.fact}" for resource "${requirement.resource}", but step ${String(conflict.stepIndex)} ("${conflict.stepDescription}") made it unavailable with its ${describeEffect(conflict.fact)}. ${REMEDY}`);
33
34
  this.conflictingFact = Object.freeze({ ...conflict.fact });
34
35
  this.conflictingStepDescription = conflict.stepDescription;
35
36
  this.conflictingStepIndex = conflict.stepIndex;
@@ -92,4 +93,23 @@ export function validatePlanComposition(steps) {
92
93
  }
93
94
  }
94
95
  }
96
+ /** Protects qualification inputs from transaction-wide privilege merging.
97
+ * Callers derive protected resources from mandatory instruction-bound guards.
98
+ */
99
+ export function validateExclusiveAccountReferences(steps, requiringStepIndex, resources) {
100
+ const requiringStep = steps[requiringStepIndex];
101
+ for (const { address, label } of resources) {
102
+ const conflictingStepIndex = steps.findIndex((step, index) => index !== requiringStepIndex &&
103
+ step.instruction.accounts?.some((meta) => meta.address === address));
104
+ if (conflictingStepIndex < 0)
105
+ continue;
106
+ const conflictingStep = steps[conflictingStepIndex];
107
+ const fact = `exclusive transaction access to ${label}`;
108
+ throw new IncompatiblePlanCompositionError({ kind: 'requires', resource: address, fact }, requiringStep, requiringStepIndex, {
109
+ fact: { kind: 'invalidates', resource: address, fact },
110
+ stepDescription: conflictingStep.describes,
111
+ stepIndex: conflictingStepIndex,
112
+ }, `Plan step ${String(requiringStepIndex)} cannot share a transaction with step ${String(conflictingStepIndex)} referencing the same ${label} (${address}). ${REMEDY}`);
113
+ }
114
+ }
95
115
  //# sourceMappingURL=composition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"composition.js","sourceRoot":"","sources":["../../src/planning/composition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composition.js","sourceRoot":"","sources":["../../src/planning/composition.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/planning/execution.ts"],"names":[],"mappings":"AAqEA,OAAO,EAcL,KAAK,UAAU,EACf,KAAK,SAAS,EAOd,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAEV,WAAW,EAEZ,MAAM,wBAAwB,CAAC;AAMhC,OAAO,KAAK,EAAE,IAAI,EAAoB,MAAM,YAAY,CAAC;AAgBzD;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACjC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,GAC5B,QAAQ,CAAC;IACP,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,SAAS,CAAC;IAClB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CAAC,GACF,QAAQ,CAAC;IACP,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,YAAY,GAAG,kBAAkB,GAAG,cAAc,CAAC;IAC9D,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CAAC,CAAC;AAEP;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,GAAG,oBAAoB,CAAC;AAYhF,2EAA2E;AAC3E,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,UAAU,EAAE,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAq4CD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CAE9B;AAED,mFAAmF;AACnF,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,kBAAkB,EAC3B,SAAS,CAAC,EAAE,sBAAsB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CA2G9B"}
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/planning/execution.ts"],"names":[],"mappings":"AAqEA,OAAO,EAcL,KAAK,UAAU,EACf,KAAK,SAAS,EAOd,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAEV,WAAW,EAEZ,MAAM,wBAAwB,CAAC;AAMhC,OAAO,KAAK,EAAE,IAAI,EAAoB,MAAM,YAAY,CAAC;AAgBzD;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACjC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,GAC5B,QAAQ,CAAC;IACP,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,SAAS,CAAC;IAClB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CAAC,GACF,QAAQ,CAAC;IACP,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,YAAY,GAAG,kBAAkB,GAAG,cAAc,CAAC;IAC9D,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CAAC,CAAC;AAEP;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,GAAG,oBAAoB,CAAC;AAYhF,2EAA2E;AAC3E,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,UAAU,EAAE,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAy4CD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CAE9B;AAED,mFAAmF;AACnF,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,kBAAkB,EAC3B,SAAS,CAAC,EAAE,sBAAsB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CA2G9B"}
@@ -584,22 +584,26 @@ async function checkPreconditions(context, allPreconditions, steps, commitment)
584
584
  return new ActionPreconditionFailedError(guard, byAddress.get(error.address)?.slot, error.message, error.address);
585
585
  return new ActionPreconditionFailedError(guard, undefined, 'Fleet prerequisites could not be validated. Refresh the related accounts and replan with a supported binding version.');
586
586
  };
587
- const dockingGuard = preconditions.find((g) => g.kind === 'fleet-dock-funding' && g.status === 'available');
588
587
  let dockingSequences;
589
- if (dockingGuard) {
590
- try {
591
- dockingSequences = decodeDockingSequences(byAddress.get(requireGameAddress(context)));
592
- }
593
- catch (error) {
594
- throw fleetFailure(dockingGuard, error);
595
- }
596
- }
597
- for (const precondition of preconditions) {
588
+ let dockingSequencesRead = false;
589
+ // Exact account-state diagnostics must win over dependent funding estimates,
590
+ // including hydrated Plans whose guard order differs from the planner's.
591
+ const ordered = preconditions.some((g) => g.kind === 'fleet-dock-funding')
592
+ ? [
593
+ ...preconditions.filter((g) => g.kind === 'account-state'),
594
+ ...preconditions.filter((g) => g.kind !== 'account-state'),
595
+ ]
596
+ : preconditions;
597
+ for (const precondition of ordered) {
598
598
  const account = byAddress.get(precondition.address);
599
599
  if (precondition.kind === 'fleet-dock-funding') {
600
600
  try {
601
601
  if (precondition.game !== requireGameAddress(context))
602
- throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'The docking Plan belongs to another Game. Recreate it with the intended Game context.');
602
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', `The docking Plan belongs to Game ${precondition.game}, but the context uses Game ${requireGameAddress(context)}. Recreate it with the intended Game context.`, { address: precondition.address });
603
+ if (precondition.status === 'available' && !dockingSequencesRead) {
604
+ dockingSequences = decodeDockingSequences(byAddress.get(precondition.game));
605
+ dockingSequencesRead = true;
606
+ }
603
607
  const funding = revalidateDockFunding(precondition, byAddress, dockingSequences);
604
608
  if (funding)
605
609
  recordFunding(precondition, funding);
@@ -794,7 +798,7 @@ async function checkPreconditions(context, allPreconditions, steps, commitment)
794
798
  // Validation above guarantees a fresh Profile from the same finite batch.
795
799
  const account = byAddress.get(profile);
796
800
  if (account.lamports < funding.reserve + funding.debit)
797
- throw new ActionPreconditionFailedError(funding.guard, account.slot, 'The Profile cannot cover the combined Profile storage debits while preserving its rent reserve. Fund the Profile or the Fleet/StarbasePlayer targets explicitly, then replan.', profile);
801
+ throw new ActionPreconditionFailedError(funding.guard, account.slot, 'The Profile cannot cover the combined Profile storage debits while preserving its rent reserve. Fund the Profile explicitly, then recreate and inspect the Plans.', profile);
798
802
  }
799
803
  return registrationFunding;
800
804
  }