@aephia/atlas-kit 0.6.0-next.132 → 0.6.0-next.134

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 (69) hide show
  1. package/dist/cargo/actions/deposit.d.ts +3 -0
  2. package/dist/cargo/actions/deposit.d.ts.map +1 -1
  3. package/dist/cargo/actions/deposit.js +39 -14
  4. package/dist/cargo/actions/deposit.js.map +1 -1
  5. package/dist/cargo/actions/index.d.ts +11 -5
  6. package/dist/cargo/actions/index.d.ts.map +1 -1
  7. package/dist/cargo/actions/index.js +68 -14
  8. package/dist/cargo/actions/index.js.map +1 -1
  9. package/dist/fleets/actions/add-ship.d.ts +12 -4
  10. package/dist/fleets/actions/add-ship.d.ts.map +1 -1
  11. package/dist/fleets/actions/add-ship.js +15 -7
  12. package/dist/fleets/actions/add-ship.js.map +1 -1
  13. package/dist/identity/actions/research-unlock.d.ts +11 -7
  14. package/dist/identity/actions/research-unlock.d.ts.map +1 -1
  15. package/dist/identity/actions/research-unlock.js +11 -7
  16. package/dist/identity/actions/research-unlock.js.map +1 -1
  17. package/dist/internal/c4/cargo-instructions.d.ts +24 -0
  18. package/dist/internal/c4/cargo-instructions.d.ts.map +1 -0
  19. package/dist/internal/c4/cargo-instructions.js +30 -0
  20. package/dist/internal/c4/cargo-instructions.js.map +1 -0
  21. package/dist/internal/c4/discriminators.d.ts +2 -0
  22. package/dist/internal/c4/discriminators.d.ts.map +1 -1
  23. package/dist/internal/c4/discriminators.js +5 -1
  24. package/dist/internal/c4/discriminators.js.map +1 -1
  25. package/dist/internal/c4/fleet-ship-assembly.d.ts +19 -3
  26. package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -1
  27. package/dist/internal/c4/fleet-ship-assembly.js +57 -7
  28. package/dist/internal/c4/fleet-ship-assembly.js.map +1 -1
  29. package/dist/internal/planning/cargo-storage.d.ts +71 -0
  30. package/dist/internal/planning/cargo-storage.d.ts.map +1 -0
  31. package/dist/internal/planning/cargo-storage.js +274 -0
  32. package/dist/internal/planning/cargo-storage.js.map +1 -0
  33. package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -1
  34. package/dist/internal/planning/fleet-ship-assembly.js +58 -29
  35. package/dist/internal/planning/fleet-ship-assembly.js.map +1 -1
  36. package/dist/internal/planning/own-starbase-facts.d.ts +7 -3
  37. package/dist/internal/planning/own-starbase-facts.d.ts.map +1 -1
  38. package/dist/internal/planning/own-starbase-facts.js +8 -5
  39. package/dist/internal/planning/own-starbase-facts.js.map +1 -1
  40. package/dist/internal/planning/plan-guards.d.ts.map +1 -1
  41. package/dist/internal/planning/plan-guards.js +2 -0
  42. package/dist/internal/planning/plan-guards.js.map +1 -1
  43. package/dist/internal/planning/profile-storage-funding-guard.d.ts +21 -0
  44. package/dist/internal/planning/profile-storage-funding-guard.d.ts.map +1 -0
  45. package/dist/internal/planning/profile-storage-funding-guard.js +98 -0
  46. package/dist/internal/planning/profile-storage-funding-guard.js.map +1 -0
  47. package/dist/internal/planning/profile-storage-funding.d.ts +46 -0
  48. package/dist/internal/planning/profile-storage-funding.d.ts.map +1 -0
  49. package/dist/internal/planning/profile-storage-funding.js +62 -0
  50. package/dist/internal/planning/profile-storage-funding.js.map +1 -0
  51. package/dist/internal/planning/research-unlock.d.ts.map +1 -1
  52. package/dist/internal/planning/research-unlock.js +40 -16
  53. package/dist/internal/planning/research-unlock.js.map +1 -1
  54. package/dist/planning/execution.d.ts.map +1 -1
  55. package/dist/planning/execution.js +58 -6
  56. package/dist/planning/execution.js.map +1 -1
  57. package/dist/planning/index.d.ts +22 -1
  58. package/dist/planning/index.d.ts.map +1 -1
  59. package/dist/planning/index.js +2 -2
  60. package/dist/planning/index.js.map +1 -1
  61. package/dist/planning/plan-construction.js +1 -1
  62. package/dist/planning/plan-validation.d.ts.map +1 -1
  63. package/dist/planning/plan-validation.js +4 -0
  64. package/dist/planning/plan-validation.js.map +1 -1
  65. package/dist/registry/cargo.d.ts +2 -2
  66. package/dist/registry/cargo.d.ts.map +1 -1
  67. package/dist/registry/cargo.js +1 -2
  68. package/dist/registry/cargo.js.map +1 -1
  69. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"plan-guards.js","sourceRoot":"","sources":["../../../src/internal/planning/plan-guards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-guards.js","sourceRoot":"","sources":["../../../src/internal/planning/plan-guards.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { Instruction } from '@solana/kit';
2
+ import type { PlanPrecondition, PlanStep } from '../../planning/index.js';
3
+ import { type GuardSchema } from './plan-fields.js';
4
+ /** Bytes one new cargo line (u16 cargo id, u64 amount) adds to a cargo pod. */
5
+ export declare const CARGO_LINE_BYTES = 10;
6
+ /** Cargo instructions whose storage the Profile funds. */
7
+ export type CargoStorageInstruction = 'deposit' | 'starbase-transfer' | 'within-fleet-transfer';
8
+ /** Which Profile-funded cargo instruction this is, if any. */
9
+ export declare function cargoStorageInstruction(instruction: Instruction): CargoStorageInstruction | undefined;
10
+ /** Persisted Profile storage funding of one action that resizes up to two
11
+ * accounts the program normalizes to their rent minimum from the Profile. */
12
+ export type ProfileStorageFundingGuard = Extract<PlanPrecondition, {
13
+ readonly kind: 'profile-storage-funding';
14
+ }>;
15
+ export declare const PROFILE_STORAGE_FUNDING_SCHEMA: GuardSchema;
16
+ /** Binds every Profile-funded cargo instruction to exactly one storage
17
+ * funding guard for its Profile, signing key and resized accounts, so a saved
18
+ * Plan cannot drop or retarget its funding check. Each guard must also name a
19
+ * complete account pair. */
20
+ export declare function validateProfileStorageFundingGuards(steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
21
+ //# sourceMappingURL=profile-storage-funding-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-storage-funding-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/profile-storage-funding-guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAO1E,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAC;AAE1B,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,0DAA0D;AAC1D,MAAM,MAAM,uBAAuB,GACjC,SAAS,GAAG,mBAAmB,GAAG,uBAAuB,CAAC;AAQ5D,8DAA8D;AAC9D,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,WAAW,GACvB,uBAAuB,GAAG,SAAS,CAKrC;AAED;6EAC6E;AAC7E,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAC9C,gBAAgB,EAChB;IAAE,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAA;CAAE,CAC7C,CAAC;AAaF,eAAO,MAAM,8BAA8B,EAAE,WAyB5C,CAAC;AAEF;;;4BAG4B;AAC5B,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CAyDN"}
@@ -0,0 +1,98 @@
1
+ import { SageSdkError } from '../../client/errors.js';
2
+ import { DEPOSIT_CARGO_TO_GAME_DISCRIMINATOR, TRANSFER_CARGO_TO_FLEET_DISCRIMINATOR, TRANSFER_CARGO_WITHIN_FLEET_DISCRIMINATOR, } from '../c4/discriminators.js';
3
+ import { SAGE_PROGRAM_ADDRESS } from '../c4/runtime-bindings.js';
4
+ import { MAX_U64, } from './plan-fields.js';
5
+ /** Bytes one new cargo line (u16 cargo id, u64 amount) adds to a cargo pod. */
6
+ export const CARGO_LINE_BYTES = 10;
7
+ const CARGO_INSTRUCTIONS = [
8
+ ['deposit', DEPOSIT_CARGO_TO_GAME_DISCRIMINATOR],
9
+ ['starbase-transfer', TRANSFER_CARGO_TO_FLEET_DISCRIMINATOR],
10
+ ['within-fleet-transfer', TRANSFER_CARGO_WITHIN_FLEET_DISCRIMINATOR],
11
+ ];
12
+ /** Which Profile-funded cargo instruction this is, if any. */
13
+ export function cargoStorageInstruction(instruction) {
14
+ if (instruction.programAddress !== SAGE_PROGRAM_ADDRESS)
15
+ return undefined;
16
+ return CARGO_INSTRUCTIONS.find(([, discriminator]) => discriminator.every((byte, index) => instruction.data?.[index] === byte))?.[0];
17
+ }
18
+ const LENGTH = {
19
+ min: 0,
20
+ max: Number.MAX_SAFE_INTEGER,
21
+ accepted: 'an observed account data length in bytes',
22
+ };
23
+ const GROWTH = {
24
+ min: -65_535,
25
+ max: 65_535,
26
+ accepted: 'a signed account growth in bytes',
27
+ };
28
+ export const PROFILE_STORAGE_FUNDING_SCHEMA = {
29
+ fields: [
30
+ ['address', 'address'],
31
+ ['profile', 'address'],
32
+ ['authority', 'address'],
33
+ ['keyIndex', { min: 0, max: 65535, accepted: 'a u16 Profile key index' }],
34
+ [
35
+ 'settlement',
36
+ { values: ['each', 'pair'], accepted: 'each or pair settlement' },
37
+ ],
38
+ ['length', LENGTH],
39
+ ['growth', GROWTH],
40
+ ['paired', 'address', true],
41
+ ['pairedLength', LENGTH, true],
42
+ ['pairedGrowth', GROWTH, true],
43
+ [
44
+ 'maximumProfileDebit',
45
+ {
46
+ min: 0n,
47
+ max: MAX_U64,
48
+ accepted: 'a nonnegative u64 funding ceiling',
49
+ },
50
+ ],
51
+ ['describes', 'string'],
52
+ ],
53
+ };
54
+ /** Binds every Profile-funded cargo instruction to exactly one storage
55
+ * funding guard for its Profile, signing key and resized accounts, so a saved
56
+ * Plan cannot drop or retarget its funding check. Each guard must also name a
57
+ * complete account pair. */
58
+ export function validateProfileStorageFundingGuards(steps, guards) {
59
+ const funding = guards.filter((guard) => guard.kind === 'profile-storage-funding');
60
+ for (const guard of funding) {
61
+ const fields = [guard.paired, guard.pairedLength, guard.pairedGrowth];
62
+ const paired = fields.every((field) => field !== undefined);
63
+ if ((!paired && fields.some((field) => field !== undefined)) ||
64
+ (guard.settlement === 'pair' && !paired) ||
65
+ guard.paired === guard.address)
66
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'A Profile storage funding guard names an incomplete or inconsistent account pair. Recreate the Plan with its capability planner.', { address: guard.address });
67
+ }
68
+ const remaining = [...funding];
69
+ let instructions = 0;
70
+ for (const { instruction } of steps) {
71
+ const kind = cargoStorageInstruction(instruction);
72
+ if (!kind)
73
+ continue;
74
+ instructions += 1;
75
+ const metas = instruction.accounts ?? [];
76
+ // A recognized cargo instruction has at least its 8-byte discriminator and
77
+ // encodes its u16 key index last.
78
+ const data = instruction.data;
79
+ const keyIndex = data[data.length - 2] | (data[data.length - 1] << 8);
80
+ const [address, paired, settlement] = kind === 'deposit'
81
+ ? [metas[5]?.address, undefined, 'each']
82
+ : kind === 'starbase-transfer'
83
+ ? [metas[4]?.address, metas[8]?.address, 'pair']
84
+ : [metas[4]?.address, undefined, 'each'];
85
+ const index = remaining.findIndex((guard) => guard.authority === metas[0]?.address &&
86
+ guard.profile === metas[1]?.address &&
87
+ guard.keyIndex === keyIndex &&
88
+ guard.address === address &&
89
+ guard.paired === paired &&
90
+ guard.settlement === settlement);
91
+ if (index < 0)
92
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'A cargo instruction has no matching Profile storage funding guard for its Profile, key and resized accounts. Recreate the Plan with its cargo planner.');
93
+ remaining.splice(index, 1);
94
+ }
95
+ if (remaining.length > 0 || instructions !== funding.length)
96
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'A Profile storage funding guard has no matching cargo instruction. Recreate the Plan with its cargo planner.');
97
+ }
98
+ //# sourceMappingURL=profile-storage-funding-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-storage-funding-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/profile-storage-funding-guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import type { Address } from '@solana/kit';
2
+ import type { RawAccount } from '../../client/contracts.js';
3
+ import type { ProfileStorageFundingGuard } from './profile-storage-funding-guard.js';
4
+ /** One resized account: its observed data length and the action's byte change. */
5
+ export interface StorageResize {
6
+ readonly raw: RawAccount;
7
+ readonly growthBytes: number;
8
+ }
9
+ /** The one or two accounts an action resizes. */
10
+ export type StorageResizes = readonly [StorageResize] | readonly [StorageResize, StorageResize];
11
+ /** How the program settles the accounts: each normalized on its own, or one
12
+ * net shortfall for the pair, where one account's surplus funds the other. */
13
+ export type StorageSettlement = 'each' | 'pair';
14
+ export interface ProfileStorageFunding {
15
+ readonly profileDebit: bigint;
16
+ readonly profileReserve: bigint;
17
+ }
18
+ /** Checks that the signing key and the Profile can fund one action's storage
19
+ * debit. A zero debit withdraws nothing, so it needs neither `drainSolVault`
20
+ * nor Profile excess lamports. */
21
+ export declare function checkProfileStorageFunding(input: {
22
+ readonly profileRaw: RawAccount;
23
+ readonly rentRaw: RawAccount;
24
+ readonly authority: Address;
25
+ readonly keyIndex: number;
26
+ readonly profileDebit: bigint;
27
+ readonly action: string;
28
+ readonly maximumProfileDebit?: bigint;
29
+ }): ProfileStorageFunding & {
30
+ readonly direct: boolean;
31
+ };
32
+ /** Builds the guard and the summary sentence for one action's storage funding. */
33
+ export declare function profileStorageFundingGuard(input: {
34
+ readonly profile: Address;
35
+ readonly authority: Address;
36
+ readonly keyIndex: number;
37
+ readonly resizes: StorageResizes;
38
+ readonly settlement: StorageSettlement;
39
+ readonly funding: ProfileStorageFunding & {
40
+ readonly direct: boolean;
41
+ };
42
+ }): {
43
+ readonly guard: ProfileStorageFundingGuard;
44
+ readonly disclosure: string;
45
+ };
46
+ //# sourceMappingURL=profile-storage-funding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-storage-funding.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/profile-storage-funding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAS5D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAMrF,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,iDAAiD;AACjD,MAAM,MAAM,cAAc,GACxB,SAAS,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AAErE;8EAC8E;AAC9E,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAMD;;kCAEkC;AAClC,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC,GAAG,qBAAqB,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAkCvD;AAED,kFAAkF;AAClF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;CACxE,GAAG;IACF,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,CA6BA"}
@@ -0,0 +1,62 @@
1
+ import { SageSdkError } from '../../client/errors.js';
2
+ import { profileAccountDefinition } from '../c4/identity.js';
3
+ import { PROFILE_SCOPE } from '../c4/profile-permissions.js';
4
+ import { directProfileKey, grantsPermission, hasPermissionBit, } from './profile-key.js';
5
+ import { readRent } from './rent.js';
6
+ // Profile drainSolVault permission bit, any scope.
7
+ const DRAIN_SOL_VAULT = 63n;
8
+ function fail(address, message) {
9
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', message, { address });
10
+ }
11
+ /** Checks that the signing key and the Profile can fund one action's storage
12
+ * debit. A zero debit withdraws nothing, so it needs neither `drainSolVault`
13
+ * nor Profile excess lamports. */
14
+ export function checkProfileStorageFunding(input) {
15
+ const { profileRaw, action, profileDebit } = input;
16
+ const rent = readRent(input.rentRaw);
17
+ if (input.maximumProfileDebit !== undefined &&
18
+ profileDebit > input.maximumProfileDebit)
19
+ fail(profileRaw.address, `The ${action} now needs ${profileDebit} Profile lamports for account storage, above the ${input.maximumProfileDebit} this Plan approved. An earlier action in the same Plan may use storage it was planned against: execute the actions as separate Plans, or refresh the accounts and replan, then review the storage funding before signing.`);
20
+ const profileReserve = rent(profileRaw.data.length);
21
+ const key = directProfileKey(profileAccountDefinition.decode(profileRaw).keys, input.keyIndex, input.authority);
22
+ if (profileDebit > 0n) {
23
+ if (key &&
24
+ !grantsPermission(key, PROFILE_SCOPE, 0n) &&
25
+ !hasPermissionBit(key, DRAIN_SOL_VAULT))
26
+ fail(profileRaw.address, `The ${action} needs ${profileDebit} Profile lamports for account storage, which the program withdraws from the Profile vault with the signing key; this key lacks drainSolVault. Use a direct Profile AUTH key or a key that also holds drainSolVault, then replan.`);
27
+ if (profileRaw.lamports < profileReserve + profileDebit)
28
+ fail(profileRaw.address, `The ${action} needs ${profileDebit} Profile lamports for account storage above the Profile's own ${profileReserve}-lamport rent reserve; the Profile holds ${profileRaw.lamports}. Add ${profileReserve + profileDebit - profileRaw.lamports} lamports to the Profile, then replan.`);
29
+ }
30
+ return { profileDebit, profileReserve, direct: key !== undefined };
31
+ }
32
+ /** Builds the guard and the summary sentence for one action's storage funding. */
33
+ export function profileStorageFundingGuard(input) {
34
+ const [first, second] = input.resizes;
35
+ const { profileDebit } = input.funding;
36
+ const disclosure = profileDebit > 0n
37
+ ? `The program funds ${profileDebit} lamports of account storage from Profile ${input.profile}'s vault with the signing key (a locked rent deposit, separate from transaction fees).${input.funding.direct ? '' : ' The selected key is not a direct Profile key, so its drainSolVault permission is checked by the program, not locally.'}`
38
+ : `This action needs no Profile storage funding at the observed account sizes and balances.`;
39
+ return {
40
+ disclosure,
41
+ guard: {
42
+ kind: 'profile-storage-funding',
43
+ address: first.raw.address,
44
+ profile: input.profile,
45
+ authority: input.authority,
46
+ keyIndex: input.keyIndex,
47
+ settlement: input.settlement,
48
+ length: first.raw.data.length,
49
+ growth: first.growthBytes,
50
+ ...(second
51
+ ? {
52
+ paired: second.raw.address,
53
+ pairedLength: second.raw.data.length,
54
+ pairedGrowth: second.growthBytes,
55
+ }
56
+ : {}),
57
+ maximumProfileDebit: profileDebit,
58
+ describes: `Account storage funding from the Profile vault stays at most ${profileDebit} lamports, and the signing key and Profile balance can fund it.`,
59
+ },
60
+ };
61
+ }
62
+ //# sourceMappingURL=profile-storage-funding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-storage-funding.js","sourceRoot":"","sources":["../../../src/internal/planning/profile-storage-funding.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"research-unlock.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/research-unlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAW1E,OAAO,KAAK,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAwB5E,yEAAyE;AACzE,MAAM,MAAM,mBAAmB,GAAG,OAAO,CACvC,gBAAgB,EAChB;IAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,CACrC,CAAC;AAEF,4EAA4E;AAC5E,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC;AAED,sDAAsD;AACtD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED,qEAAqE;AACrE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS;QACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KAC9B,EAAE,CAAC;IACJ,QAAQ,CAAC,MAAM,EAAE,SAAS;QACxB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;QAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,EAAE,CAAC;IACJ,8CAA8C;IAC9C,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC;mEAC+D;IAC/D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,4EAA4E;IAC5E,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AA2CD,2EAA2E;AAC3E,wBAAsB,qBAAqB,CAAC,MAAM,EAAE;IAClD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAYlC;AAED;;gFAEgF;AAChF,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,oBAAoB,EAC5B,QAAQ,EAAE,sBAAsB,EAChC,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,EACtD,KAAK,EAAE;IACL,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,sBAAsB,EAAE,CAAC;CACnD,GACA,OAAO,CAAC,mBAAmB,CAAC,CA6Q9B;AAgBD;qEACqE;AACrE,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,aAAa,EAAE,SAAS,gBAAgB,EAAE,GACzC,IAAI,CA+CN"}
1
+ {"version":3,"file":"research-unlock.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/research-unlock.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,9 @@ const NODE_LEVEL_BYTES = 6;
23
23
  const TAG_BYTES = 2;
24
24
  const CARGO_CATEGORY_BYTES = 2;
25
25
  const RARE_MINERAL_BYTES = 10;
26
+ // Pending node levels the program resynchronizes inside an ordinary action.
27
+ const MAX_INLINE_SYNC_NODE_LEVELS = 8;
28
+ const U64_MAX = (1n << 64n) - 1n;
26
29
  const CAREERS = {
27
30
  'council-rank': 'councilRank',
28
31
  pilot: 'pilot',
@@ -99,17 +102,30 @@ export async function validateResearchUnlock(intent, resolved, accounts, rules)
99
102
  (intent.xpSequenceId !== undefined &&
100
103
  rules.xpSequenceId !== intent.xpSequenceId))
101
104
  fail(intent.game, 'The Game research or XP definitions changed after planning. Replan to review the current requirements and costs before signing.');
102
- if (character.modifiers.seqId !== rules.sequenceId ||
103
- character.modifiers.unupdatedCount !== 0 ||
104
- character.xp.seqId !== rules.xpSequenceId)
105
- fail(resolved.character, `The Character is not synchronized with the current Game definitions (research ${character.modifiers.seqId} of ${rules.sequenceId} with ${character.modifiers.unupdatedCount} pending nodes, XP ${character.xp.seqId} of ${rules.xpSequenceId}). Synchronize the Character with the game client, then replan; this SDK does not plan synchronization.`);
105
+ if (character.modifiers.seqId !== rules.sequenceId) {
106
+ // The program replays every pending unlocked node, each at its stored
107
+ // level and at least once; with nothing staged, every unlocked node.
108
+ const { unlockedNodes, nodeLevels, unupdatedCount } = character.modifiers;
109
+ const pending = unlockedNodes
110
+ .slice(unupdatedCount === 0
111
+ ? 0
112
+ : Math.max(0, unlockedNodes.length - unupdatedCount))
113
+ .reduce((sum, id) => sum +
114
+ Math.max(nodeLevels.find(({ nodeId }) => nodeId === id)?.level ?? 1, 1), 0);
115
+ const state = `The Character's research modifiers predate the current research definitions (sequence ${character.modifiers.seqId} of ${rules.sequenceId}, ${pending} pending node levels)`;
116
+ fail(resolved.character, pending > MAX_INLINE_SYNC_NODE_LEVELS
117
+ ? `${state}, more than the ${MAX_INLINE_SYNC_NODE_LEVELS} the program resynchronizes inside an action, so the unlock would fail with characterSyncRequired. Run the permissionless syncCharacter instruction until it reports no remaining nodes, then replan.`
118
+ : `${state}. The program resynchronizes them at the start of the unlock, but the resulting tags and modifiers decide eligibility, which this SDK does not project. Run any SAGE action that validates the Character, or the permissionless syncCharacter instruction, then replan.`);
119
+ }
120
+ if (character.xp.seqId !== rules.xpSequenceId)
121
+ fail(resolved.character, `The Character's XP levels predate the current XP definitions (sequence ${character.xp.seqId} of ${rules.xpSequenceId}). The program recomputes them from earned XP at the start of the unlock, but the resulting levels decide eligibility, which this SDK does not project. Run any SAGE action that validates the Character, or the permissionless syncCharacter instruction, then replan.`);
106
122
  const rule = rules.rules.find(({ id }) => id === intent.nodeId);
107
123
  if (!rule)
108
124
  fail(intent.game, `${node} is not in the current Game research catalog. Choose a node from getResearchCatalog and replan.`);
109
125
  const unlocked = character.modifiers.unlockedNodes.includes(intent.nodeId);
110
126
  const stored = character.modifiers.nodeLevels.find(({ nodeId }) => nodeId === intent.nodeId)?.level;
111
127
  if (unlocked ? stored === 0 : stored !== undefined)
112
- fail(resolved.character, `${node} has an inconsistent stored level on this Character. Synchronize the Character with the game client, then replan.`);
128
+ fail(resolved.character, `${node} has an inconsistent stored level on this Character, so its next level is undefined and this SDK does not plan it. Choose another node.`);
113
129
  const current = unlocked ? (stored ?? 1) : 0;
114
130
  if (rule.maxLevel !== 0 && current >= rule.maxLevel)
115
131
  fail(resolved.character, `${node} "${rule.name}" is already at its maximum level ${rule.maxLevel}. Choose another node.`);
@@ -137,20 +153,26 @@ export async function validateResearchUnlock(intent, resolved, accounts, rules)
137
153
  if (available < cost.costRaw)
138
154
  fail(resolved.character, `${node} "${rule.name}" costs ${cost.costRaw} ${unit}; the Character has ${available} available. Earn ${earn}, then replan.`);
139
155
  }
156
+ // The program grows ATLAS and cargo costs linearly with the current level
157
+ // and rounds down; research point costs do not grow.
140
158
  const growth = BASIS_POINTS + BigInt(rule.costGrowthBasisPoints) * BigInt(current);
141
- if (current > 0 &&
142
- rule.costGrowthBasisPoints > 0 &&
143
- rule.cargoCosts.length > 0)
144
- fail(intent.game, `${node} "${rule.name}" grows cargo costs per level, which this SDK has not qualified. Use the game client for this level.`);
145
- if ((rule.atlasCostRaw * growth) % BASIS_POINTS !== 0n)
146
- fail(intent.game, `${node} "${rule.name}" has a fractional grown ATLAS cost at level ${current}, whose rounding this SDK has not qualified. Use the game client for this level.`);
147
- const atlasDebit = (rule.atlasCostRaw * growth) / BASIS_POINTS;
159
+ const grown = (cost, what) => {
160
+ const scaled = (cost * growth) / BASIS_POINTS;
161
+ if (scaled > U64_MAX)
162
+ fail(intent.game, `${node} "${rule.name}" at level ${current} grows its ${what} cost beyond a u64, which the program refuses as numericOverflow. Choose another node.`);
163
+ return scaled;
164
+ };
165
+ const atlasDebit = grown(rule.atlasCostRaw, 'ATLAS');
166
+ const cargo = rule.cargoCosts.map(({ cargoId, quantityRaw }) => ({
167
+ cargoId,
168
+ quantityRaw: grown(quantityRaw, `cargo ${cargoId}`),
169
+ }));
148
170
  if (intent.maximumAtlasDebit !== undefined &&
149
171
  atlasDebit > intent.maximumAtlasDebit)
150
172
  fail(intent.game, `${node} "${rule.name}" now costs ${atlasDebit} ATLAS Floyds, above the ${intent.maximumAtlasDebit} this Plan approved. Replan and review the cost before signing.`);
151
173
  if (character.atlasRaw < atlasDebit)
152
174
  fail(resolved.character, `${node} "${rule.name}" costs ${atlasDebit} ATLAS Floyds; the Character holds ${character.atlasRaw}. Add ATLAS to the Character, then replan.`);
153
- for (const { cargoId, quantityRaw } of rule.cargoCosts) {
175
+ for (const { cargoId, quantityRaw } of cargo) {
154
176
  const held = player.cargo.amounts.find((amount) => amount.cargoId === cargoId)
155
177
  ?.amount ?? 0n;
156
178
  if (held < quantityRaw)
@@ -171,8 +193,10 @@ export async function validateResearchUnlock(intent, resolved, accounts, rules)
171
193
  if (profileKeyExpired(key, now))
172
194
  fail(intent.profile, 'The selected Profile key has expired. Renew it or select a current direct key and replan the research unlock.');
173
195
  const auth = grantsPermission(key, PROFILE_SCOPE, 0n);
174
- if (!auth && !grantsPermission(key, SAGE_SCOPE, DO_RESEARCH))
175
- fail(intent.profile, 'The selected key cannot do research. Use a direct Profile AUTH key or a SAGE doResearch key and replan.');
196
+ if (!auth &&
197
+ !grantsPermission(key, SAGE_SCOPE, DO_RESEARCH) &&
198
+ !grantsPermission(key, intent.game, DO_RESEARCH))
199
+ fail(intent.profile, 'The selected key cannot do research. Use a direct Profile AUTH key or a doResearch key scoped to SAGE or this Game, and replan.');
176
200
  const shortfall = (raw, length) => {
177
201
  const minimum = rent(length);
178
202
  return raw.lamports < minimum ? minimum - raw.lamports : 0n;
@@ -205,7 +229,7 @@ export async function validateResearchUnlock(intent, resolved, accounts, rules)
205
229
  rule,
206
230
  level: current + 1,
207
231
  atlasDebit,
208
- cargo: rule.cargoCosts,
232
+ cargo,
209
233
  points: rule.xpCosts.map(({ category, costRaw }) => ({
210
234
  category,
211
235
  costRaw,
@@ -1 +1 @@
1
- {"version":3,"file":"research-unlock.js","sourceRoot":"","sources":["../../../src/internal/planning/research-unlock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"research-unlock.js","sourceRoot":"","sources":["../../../src/internal/planning/research-unlock.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/planning/execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/planning/execution.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,8 @@ import { resolveFleetShipAssembly, validateFleetShipAssembly, } from '../interna
25
25
  import { resolveFleetCreation, validateFleetCreation, } from '../internal/planning/fleet-creation.js';
26
26
  import { validateTokenMint } from '../internal/planning/token-mint.js';
27
27
  import { resolveResearchUnlock, validateResearchUnlock, } from '../internal/planning/research-unlock.js';
28
+ import { cargoStorageAccounts, cargoStorageSteps, validateCargoStorageFunding, } from '../internal/planning/cargo-storage.js';
29
+ import { decodeGameCargoConfigurationRows } from '../internal/c4/game.js';
28
30
  import { CLOCK_ADDRESS } from '../internal/planning/faction-enrollment.js';
29
31
  import { decodeGameResearchUnlockRules } from '../internal/c4/game.js';
30
32
  import { hashGameShipConfigurations, decodeGameShipAssemblyCatalog, } from '../registry/ships.js';
@@ -517,6 +519,19 @@ async function checkPreconditions(context, allPreconditions, steps, commitment)
517
519
  ])
518
520
  requiredAddresses.add(address);
519
521
  }
522
+ // Cargo storage funding is rederived from each cargo instruction and the
523
+ // fresh accounts it resizes; a deposit's cargo id comes from its source mint.
524
+ const cargoSteps = cargoStorageSteps(steps);
525
+ for (const step of cargoSteps) {
526
+ for (const address of [
527
+ step.instruction.accounts[1].address,
528
+ ...cargoStorageAccounts(step.kind, step.instruction),
529
+ RENT_ADDRESS,
530
+ ])
531
+ requiredAddresses.add(address);
532
+ if (step.kind === 'deposit')
533
+ requiredAddresses.add(requireGameAddress(context));
534
+ }
520
535
  for (const guard of preconditions) {
521
536
  if (guard.kind !== 'ship-import-funding')
522
537
  continue;
@@ -565,10 +580,21 @@ async function checkPreconditions(context, allPreconditions, steps, commitment)
565
580
  const gameDecodes = new Map();
566
581
  const profileFunding = new Map();
567
582
  const fundedTargets = new Set();
568
- const recordFunding = (guard, funding) => {
583
+ let cargoStorage;
584
+ // One decoded cargo row set per Game, shared by cargo-definition guards and
585
+ // a deposit's cargo lookup.
586
+ const cargoRowsByGame = new Map();
587
+ const cargoRows = (game) => {
588
+ let rows = cargoRowsByGame.get(game.address);
589
+ if (!rows) {
590
+ rows = decodeGameCargoConfigurationRows(game, gameDecodes);
591
+ cargoRowsByGame.set(game.address, rows);
592
+ }
593
+ return rows;
594
+ };
595
+ const recordFunding = (guard, funding, target = `${guard.kind}:${guard.address}`) => {
569
596
  // Repeated guards for one action are assertions, not additional debits.
570
597
  // Every guard still validates its own ceiling before reaching here.
571
- const target = `${guard.kind}:${guard.address}`;
572
598
  if (fundedTargets.has(target))
573
599
  return;
574
600
  fundedTargets.add(target);
@@ -597,11 +623,14 @@ async function checkPreconditions(context, allPreconditions, steps, commitment)
597
623
  throw fleetFailure(precondition, new SageSdkError('ACTION_PRECONDITION_FAILED', precondition.kind === 'fleet-dock-funding'
598
624
  ? `The docking Plan belongs to Game ${precondition.game}, but the context uses Game ${requireGameAddress(context)}. Recreate it with the intended Game context.`
599
625
  : 'The docking faction policy belongs to another Game. Recreate the Plan with the intended Game context.', { address: precondition.address }));
600
- // Dependent docking estimates run after every other freshness guard, so an
601
- // exact account-state or policy diagnostic wins whatever the saved order.
626
+ // Dependent docking and cargo storage estimates run after every other
627
+ // freshness guard, so an exact account-state, cargo-definition or policy
628
+ // diagnostic wins whatever the saved order.
629
+ const estimate = (g) => g.kind === 'fleet-dock-funding' || g.kind === 'profile-storage-funding';
602
630
  const ordered = [
603
- ...preconditions.filter((g) => g.kind !== 'fleet-dock-funding'),
631
+ ...preconditions.filter((g) => !estimate(g)),
604
632
  ...preconditions.filter((g) => g.kind === 'fleet-dock-funding'),
633
+ ...preconditions.filter((g) => g.kind === 'profile-storage-funding'),
605
634
  ];
606
635
  for (const precondition of ordered) {
607
636
  const account = byAddress.get(precondition.address);
@@ -653,6 +682,29 @@ async function checkPreconditions(context, allPreconditions, steps, commitment)
653
682
  }
654
683
  continue;
655
684
  }
685
+ if (precondition.kind === 'profile-storage-funding') {
686
+ try {
687
+ cargoStorage ??= validateCargoStorageFunding(steps, preconditions.filter((guard) => guard.kind === 'profile-storage-funding'), byAddress,
688
+ // A deposit Plan's cargo-definition guards already required the
689
+ // Game in this batch.
690
+ (mint) => cargoRows(byAddress.get(requireGameAddress(context))).rows.find((row) => row.mint === mint)?.id);
691
+ const result = cargoStorage.get(precondition);
692
+ if ('error' in result)
693
+ throw result.error;
694
+ const { funding } = result;
695
+ // Each guard is one action, and several may resize one account, so
696
+ // every guard adds its own debit. A zero debit withdraws nothing and
697
+ // imposes no Profile reserve on the combined check.
698
+ if (funding.profileDebit > 0n)
699
+ recordFunding(precondition, funding, `${precondition.kind}:${String(ordered.indexOf(precondition))}`);
700
+ }
701
+ catch (error) {
702
+ // Every storage check failure names the Profile, a resized account
703
+ // or the Rent sysvar, all read in this batch.
704
+ throw fleetFailure(precondition, error);
705
+ }
706
+ continue;
707
+ }
656
708
  if (precondition.kind === 'research-unlock') {
657
709
  try {
658
710
  const game = byAddress.get(precondition.game);
@@ -799,7 +851,7 @@ async function checkPreconditions(context, allPreconditions, steps, commitment)
799
851
  let hashes = cargoHashesByGame.get(precondition.address);
800
852
  if (!hashes) {
801
853
  const ids = cargoIdsByGame.get(precondition.address);
802
- hashes = await hashGameCargoConfigurationGuards(account, ids, gameDecodes);
854
+ hashes = await hashGameCargoConfigurationGuards(account, ids, cargoRows(account));
803
855
  cargoHashesByGame.set(precondition.address, hashes);
804
856
  }
805
857
  narrowed =