@aephia/atlas-kit 0.6.0-next.2 → 0.6.0-next.21

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 (152) hide show
  1. package/README.md +5 -2
  2. package/dist/cargo/actions/deposit.d.ts +1 -9
  3. package/dist/cargo/actions/deposit.d.ts.map +1 -1
  4. package/dist/cargo/actions/deposit.js +54 -42
  5. package/dist/cargo/actions/deposit.js.map +1 -1
  6. package/dist/cargo/actions/index.d.ts +1 -0
  7. package/dist/cargo/actions/index.d.ts.map +1 -1
  8. package/dist/cargo/actions/index.js +1 -0
  9. package/dist/cargo/actions/index.js.map +1 -1
  10. package/dist/cargo/actions/wallet-context.d.ts +14 -0
  11. package/dist/cargo/actions/wallet-context.d.ts.map +1 -0
  12. package/dist/cargo/actions/wallet-context.js +12 -0
  13. package/dist/cargo/actions/wallet-context.js.map +1 -0
  14. package/dist/cargo/actions/wallet-token.d.ts +1 -1
  15. package/dist/cargo/actions/wallet-token.d.ts.map +1 -1
  16. package/dist/cargo/actions/wallet-token.js +1 -9
  17. package/dist/cargo/actions/wallet-token.js.map +1 -1
  18. package/dist/cargo/actions/withdrawal.d.ts +46 -0
  19. package/dist/cargo/actions/withdrawal.d.ts.map +1 -0
  20. package/dist/cargo/actions/withdrawal.js +269 -0
  21. package/dist/cargo/actions/withdrawal.js.map +1 -0
  22. package/dist/client/errors.d.ts +4 -0
  23. package/dist/client/errors.d.ts.map +1 -1
  24. package/dist/client/errors.js +31 -1
  25. package/dist/client/errors.js.map +1 -1
  26. package/dist/client/index.d.ts +1 -0
  27. package/dist/client/index.d.ts.map +1 -1
  28. package/dist/client/index.js +1 -0
  29. package/dist/client/index.js.map +1 -1
  30. package/dist/client/rpc-subscription-provider.d.ts +35 -0
  31. package/dist/client/rpc-subscription-provider.d.ts.map +1 -0
  32. package/dist/client/rpc-subscription-provider.js +190 -0
  33. package/dist/client/rpc-subscription-provider.js.map +1 -0
  34. package/dist/factions/actions/index.d.ts +36 -0
  35. package/dist/factions/actions/index.d.ts.map +1 -0
  36. package/dist/factions/actions/index.js +136 -0
  37. package/dist/factions/actions/index.js.map +1 -0
  38. package/dist/factions/index.d.ts +1 -0
  39. package/dist/factions/index.d.ts.map +1 -1
  40. package/dist/factions/index.js +1 -0
  41. package/dist/factions/index.js.map +1 -1
  42. package/dist/factions/profile-faction.d.ts +46 -0
  43. package/dist/factions/profile-faction.d.ts.map +1 -0
  44. package/dist/factions/profile-faction.js +51 -0
  45. package/dist/factions/profile-faction.js.map +1 -0
  46. package/dist/fleets/actions/index.d.ts +1 -0
  47. package/dist/fleets/actions/index.d.ts.map +1 -1
  48. package/dist/fleets/actions/index.js +1 -0
  49. package/dist/fleets/actions/index.js.map +1 -1
  50. package/dist/fleets/actions/ship-import.d.ts +48 -0
  51. package/dist/fleets/actions/ship-import.d.ts.map +1 -0
  52. package/dist/fleets/actions/ship-import.js +309 -0
  53. package/dist/fleets/actions/ship-import.js.map +1 -0
  54. package/dist/identity/actions/create-profile.d.ts +56 -0
  55. package/dist/identity/actions/create-profile.d.ts.map +1 -0
  56. package/dist/identity/actions/create-profile.js +139 -0
  57. package/dist/identity/actions/create-profile.js.map +1 -0
  58. package/dist/identity/actions/index.d.ts +38 -0
  59. package/dist/identity/actions/index.d.ts.map +1 -0
  60. package/dist/identity/actions/index.js +109 -0
  61. package/dist/identity/actions/index.js.map +1 -0
  62. package/dist/identity/index.d.ts +15 -0
  63. package/dist/identity/index.d.ts.map +1 -1
  64. package/dist/identity/index.js +15 -0
  65. package/dist/identity/index.js.map +1 -1
  66. package/dist/identity/permissions.d.ts +124 -0
  67. package/dist/identity/permissions.d.ts.map +1 -0
  68. package/dist/identity/permissions.js +171 -0
  69. package/dist/identity/permissions.js.map +1 -0
  70. package/dist/internal/c4/cargo-bytes-config.d.ts +7 -0
  71. package/dist/internal/c4/cargo-bytes-config.d.ts.map +1 -0
  72. package/dist/internal/c4/cargo-bytes-config.js +19 -0
  73. package/dist/internal/c4/cargo-bytes-config.js.map +1 -0
  74. package/dist/internal/c4/character-registration.d.ts +9 -0
  75. package/dist/internal/c4/character-registration.d.ts.map +1 -0
  76. package/dist/internal/c4/character-registration.js +21 -0
  77. package/dist/internal/c4/character-registration.js.map +1 -0
  78. package/dist/internal/c4/faction-enrollment.d.ts +6 -0
  79. package/dist/internal/c4/faction-enrollment.d.ts.map +1 -0
  80. package/dist/internal/c4/faction-enrollment.js +8 -0
  81. package/dist/internal/c4/faction-enrollment.js.map +1 -0
  82. package/dist/internal/c4/game.d.ts +16 -2
  83. package/dist/internal/c4/game.d.ts.map +1 -1
  84. package/dist/internal/c4/game.js +38 -4
  85. package/dist/internal/c4/game.js.map +1 -1
  86. package/dist/internal/c4/identity.d.ts +2 -7
  87. package/dist/internal/c4/identity.d.ts.map +1 -1
  88. package/dist/internal/c4/identity.js +2 -23
  89. package/dist/internal/c4/identity.js.map +1 -1
  90. package/dist/internal/c4/legacy-cargo-config.d.ts +21 -0
  91. package/dist/internal/c4/legacy-cargo-config.d.ts.map +1 -0
  92. package/dist/internal/c4/legacy-cargo-config.js +27 -0
  93. package/dist/internal/c4/legacy-cargo-config.js.map +1 -0
  94. package/dist/internal/c4/profile-creation.d.ts +17 -0
  95. package/dist/internal/c4/profile-creation.d.ts.map +1 -0
  96. package/dist/internal/c4/profile-creation.js +36 -0
  97. package/dist/internal/c4/profile-creation.js.map +1 -0
  98. package/dist/internal/c4/profile-faction.d.ts.map +1 -1
  99. package/dist/internal/c4/profile-faction.js +2 -0
  100. package/dist/internal/c4/profile-faction.js.map +1 -1
  101. package/dist/internal/c4/profile-permissions.d.ts +14 -0
  102. package/dist/internal/c4/profile-permissions.d.ts.map +1 -0
  103. package/dist/internal/c4/profile-permissions.js +80 -0
  104. package/dist/internal/c4/profile-permissions.js.map +1 -0
  105. package/dist/internal/c4/wallet-cargo-cache.d.ts +3 -0
  106. package/dist/internal/c4/wallet-cargo-cache.d.ts.map +1 -0
  107. package/dist/internal/c4/wallet-cargo-cache.js +24 -0
  108. package/dist/internal/c4/wallet-cargo-cache.js.map +1 -0
  109. package/dist/internal/planning/account-state.d.ts +4 -0
  110. package/dist/internal/planning/account-state.d.ts.map +1 -0
  111. package/dist/internal/planning/account-state.js +11 -0
  112. package/dist/internal/planning/account-state.js.map +1 -0
  113. package/dist/internal/planning/authorization-adapter.d.ts +21 -0
  114. package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
  115. package/dist/internal/planning/authorization-adapter.js +67 -0
  116. package/dist/internal/planning/authorization-adapter.js.map +1 -1
  117. package/dist/internal/planning/faction-enrollment.d.ts +12 -0
  118. package/dist/internal/planning/faction-enrollment.d.ts.map +1 -0
  119. package/dist/internal/planning/faction-enrollment.js +67 -0
  120. package/dist/internal/planning/faction-enrollment.js.map +1 -0
  121. package/dist/internal/planning/ship-token.d.ts +10 -0
  122. package/dist/internal/planning/ship-token.d.ts.map +1 -0
  123. package/dist/internal/planning/ship-token.js +47 -0
  124. package/dist/internal/planning/ship-token.js.map +1 -0
  125. package/dist/internal/planning/token-mint.d.ts +4 -0
  126. package/dist/internal/planning/token-mint.d.ts.map +1 -0
  127. package/dist/internal/planning/token-mint.js +15 -0
  128. package/dist/internal/planning/token-mint.js.map +1 -0
  129. package/dist/mining/actions/index.d.ts +84 -0
  130. package/dist/mining/actions/index.d.ts.map +1 -0
  131. package/dist/mining/actions/index.js +292 -0
  132. package/dist/mining/actions/index.js.map +1 -0
  133. package/dist/planning/execution.d.ts.map +1 -1
  134. package/dist/planning/execution.js +113 -9
  135. package/dist/planning/execution.js.map +1 -1
  136. package/dist/planning/index.d.ts +210 -5
  137. package/dist/planning/index.d.ts.map +1 -1
  138. package/dist/planning/index.js +271 -36
  139. package/dist/planning/index.js.map +1 -1
  140. package/dist/registry/cargo.d.ts +18 -2
  141. package/dist/registry/cargo.d.ts.map +1 -1
  142. package/dist/registry/cargo.js +48 -7
  143. package/dist/registry/cargo.js.map +1 -1
  144. package/dist/registry/onboarding.d.ts +6 -0
  145. package/dist/registry/onboarding.d.ts.map +1 -0
  146. package/dist/registry/onboarding.js +24 -0
  147. package/dist/registry/onboarding.js.map +1 -0
  148. package/dist/registry/ships.d.ts +10 -0
  149. package/dist/registry/ships.d.ts.map +1 -0
  150. package/dist/registry/ships.js +35 -0
  151. package/dist/registry/ships.js.map +1 -0
  152. package/package.json +13 -1
@@ -1,4 +1,10 @@
1
- import { getAddressEncoder, getBase58Decoder, getBase64EncodedWireTransaction, getSignatureFromTransaction, isAddress, isTransactionModifyingSigner, isTransactionPartialSigner, isTransactionSendingSigner, signAndSendTransactionWithSigners, signTransactionWithSigners, } from '@solana/kit';
1
+ import { validateTokenMint } from '../internal/planning/token-mint.js';
2
+ import { hashGameShipConfigurations } from '../registry/ships.js';
3
+ import { validateGameForCharacterRegistration } from '../registry/onboarding.js';
4
+ import { hashAccountState } from '../internal/planning/account-state.js';
5
+ import { hashGameCargoConfigurationGuards } from '../registry/cargo.js';
6
+ import { validateWalletCargoCache } from '../internal/c4/wallet-cargo-cache.js';
7
+ import { getAddressEncoder, getProgramDerivedAddress, getAddressDecoder, getBase58Decoder, getBase64EncodedWireTransaction, getSignatureFromTransaction, isAddress, isTransactionModifyingSigner, isTransactionPartialSigner, isTransactionSendingSigner, signAndSendTransactionWithSigners, signTransactionWithSigners, } from '@solana/kit';
2
8
  import { InvalidActionInputError, SageSdkError } from '../client/errors.js';
3
9
  import { invalidateContextAddresses, readContextRawAccounts, } from '../client/reconciliation.js';
4
10
  import { assemblePlan, validateAssemblyPolicy, validatePlanAssemblyPolicy, validatePlan, } from './assembly.js';
@@ -271,13 +277,22 @@ function readFinalLastValidBlockHeight(transaction) {
271
277
  }
272
278
  return value;
273
279
  }
274
- async function hashAccountState(owner, data) {
275
- const ownerBytes = getAddressEncoder().encode(owner);
276
- const canonical = new Uint8Array(ownerBytes.length + data.length);
277
- canonical.set(ownerBytes);
278
- canonical.set(data, ownerBytes.length);
279
- const digest = new Uint8Array(await globalThis.crypto.subtle.digest('SHA-256', canonical));
280
- return [...digest].map((byte) => byte.toString(16).padStart(2, '0')).join('');
280
+ // Original Token Account layout: mint/authority at 0/32, initialized state at
281
+ // 108, and u32 COption tags at 72/109/129. No capability decoder is imported.
282
+ function matchesTokenAccount(account, expected) {
283
+ if (account.executable ||
284
+ account.owner !== 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA' ||
285
+ account.data.length !== 165)
286
+ return false;
287
+ const bytes = new DataView(account.data.buffer, account.data.byteOffset, account.data.byteLength);
288
+ if ((expected.kind === 'token-account' &&
289
+ bytes.getBigUint64(64, true) < expected.minimumBalance) ||
290
+ bytes.getUint8(108) !== 1 ||
291
+ [72, 109, 129].some((offset) => bytes.getUint32(offset, true) > 1))
292
+ return false;
293
+ const decoder = getAddressDecoder();
294
+ return (decoder.decode(account.data.subarray(0, 32)) === expected.mint &&
295
+ decoder.decode(account.data.subarray(32, 64)) === expected.owner);
281
296
  }
282
297
  async function checkPreconditions(context, preconditions, commitment) {
283
298
  const addresses = [...new Set(preconditions.map(({ address }) => address))];
@@ -285,9 +300,98 @@ async function checkPreconditions(context, preconditions, commitment) {
285
300
  commitment,
286
301
  });
287
302
  const byAddress = new Map(addresses.map((address, index) => [address, accounts[index]]));
303
+ const cargoIdsByGame = new Map();
304
+ for (const guard of preconditions) {
305
+ if (guard.kind !== 'game-cargo-config' &&
306
+ guard.kind !== 'game-cargo-bytes-config')
307
+ continue;
308
+ const ids = cargoIdsByGame.get(guard.address) ?? { legacy: [], bytes: [] };
309
+ ids[guard.kind === 'game-cargo-config' ? 'legacy' : 'bytes'].push(guard.cargoId);
310
+ cargoIdsByGame.set(guard.address, ids);
311
+ }
312
+ const shipIdsByGame = new Map();
313
+ for (const guard of preconditions) {
314
+ if (guard.kind !== 'game-ship-config')
315
+ continue;
316
+ const ids = shipIdsByGame.get(guard.address) ?? [];
317
+ ids.push(guard.shipId);
318
+ shipIdsByGame.set(guard.address, ids);
319
+ }
320
+ const shipHashesByGame = new Map();
321
+ // Invocation-local only: every execution attempt still reads and decodes fresh state.
322
+ const cargoHashesByGame = new Map();
323
+ const validatedGames = new Set();
288
324
  for (const precondition of preconditions) {
289
325
  const account = byAddress.get(precondition.address);
290
- if ((precondition.kind === 'account-absent' && account !== undefined) ||
326
+ let narrowed = true;
327
+ if (precondition.kind === 'token-account')
328
+ narrowed =
329
+ account !== undefined && matchesTokenAccount(account, precondition);
330
+ if (precondition.kind === 'token-mint' ||
331
+ precondition.kind === 'game-ship-config' ||
332
+ precondition.kind === 'game-account' ||
333
+ precondition.kind === 'game-cargo-config' ||
334
+ precondition.kind === 'game-cargo-bytes-config' ||
335
+ precondition.kind === 'cargo-cache') {
336
+ try {
337
+ if (!account)
338
+ narrowed = false;
339
+ else if (precondition.kind === 'token-mint') {
340
+ narrowed = validateTokenMint(account) === precondition.decimals;
341
+ }
342
+ else if (precondition.kind === 'game-ship-config') {
343
+ let hashes = shipHashesByGame.get(precondition.address);
344
+ if (!hashes) {
345
+ hashes = await hashGameShipConfigurations(account, shipIdsByGame.get(precondition.address));
346
+ shipHashesByGame.set(precondition.address, hashes);
347
+ }
348
+ narrowed =
349
+ hashes.get(precondition.shipId) === precondition.configHash;
350
+ }
351
+ else if (precondition.kind === 'game-account') {
352
+ if (!validatedGames.has(account.address)) {
353
+ validateGameForCharacterRegistration(account);
354
+ validatedGames.add(account.address);
355
+ }
356
+ }
357
+ else if (precondition.kind === 'game-cargo-config' ||
358
+ precondition.kind === 'game-cargo-bytes-config') {
359
+ let hashes = cargoHashesByGame.get(precondition.address);
360
+ if (!hashes) {
361
+ const ids = cargoIdsByGame.get(precondition.address);
362
+ hashes = await hashGameCargoConfigurationGuards(account, ids.legacy, ids.bytes);
363
+ cargoHashesByGame.set(precondition.address, hashes);
364
+ }
365
+ narrowed =
366
+ hashes[precondition.kind === 'game-cargo-config' ? 'legacy' : 'bytes'].get(precondition.cargoId) === precondition.configHash;
367
+ }
368
+ else {
369
+ validateWalletCargoCache(account, precondition.game, precondition.bump);
370
+ const [canonical, bump] = await getProgramDerivedAddress({
371
+ programAddress: account.owner,
372
+ seeds: [
373
+ new TextEncoder().encode('CargoDefinitionsCache'),
374
+ getAddressEncoder().encode(precondition.game),
375
+ ],
376
+ });
377
+ narrowed =
378
+ canonical === account.address && bump === precondition.bump;
379
+ }
380
+ }
381
+ catch {
382
+ narrowed = false;
383
+ }
384
+ }
385
+ if (!narrowed ||
386
+ (precondition.kind === 'token-account-or-absent' &&
387
+ account !== undefined &&
388
+ !matchesTokenAccount(account, precondition)) ||
389
+ (precondition.kind === 'system-account-or-absent' &&
390
+ account !== undefined &&
391
+ (account.owner !== '11111111111111111111111111111111' ||
392
+ account.executable ||
393
+ account.data.length !== 0)) ||
394
+ (precondition.kind === 'account-absent' && account !== undefined) ||
291
395
  (precondition.kind === 'account-state' &&
292
396
  (account === undefined ||
293
397
  (await hashAccountState(account.owner, account.data)) !==
@@ -1 +1 @@
1
- {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/planning/execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/planning/execution.ts"],"names":[],"mappings":"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"}
@@ -46,7 +46,7 @@ export interface PlanStep {
46
46
  readonly semantics?: readonly PlanSemanticFact[];
47
47
  readonly signers: readonly Address[];
48
48
  }
49
- /** A closure-free whole-account freshness guard recorded at planning time.
49
+ /** A closure-free account freshness guard recorded at planning time.
50
50
  *
51
51
  * @example
52
52
  * ```ts
@@ -55,6 +55,19 @@ export interface PlanStep {
55
55
  * ```
56
56
  */
57
57
  export type PlanPrecondition = {
58
+ /** Absent wallet or an empty, non-executable System account; native funding may change. */
59
+ readonly kind: 'system-account-or-absent';
60
+ readonly address: Address;
61
+ readonly dataHash?: never;
62
+ readonly describes: string;
63
+ } | {
64
+ /** Initialized original Token Mint with unchanged decimals; supply and authorities may change. */
65
+ readonly kind: 'token-mint';
66
+ readonly address: Address;
67
+ readonly decimals: number;
68
+ readonly dataHash?: never;
69
+ readonly describes: string;
70
+ } | {
58
71
  readonly kind: 'account-state';
59
72
  readonly address: Address;
60
73
  readonly dataHash: string;
@@ -64,6 +77,61 @@ export type PlanPrecondition = {
64
77
  readonly address: Address;
65
78
  readonly dataHash?: never;
66
79
  readonly describes: string;
80
+ } | {
81
+ /** Tolerates concurrent idempotent creation of a matching original Token account. */
82
+ readonly kind: 'token-account-or-absent';
83
+ readonly dataHash?: never;
84
+ readonly address: Address;
85
+ readonly mint: Address;
86
+ /** Token authority, distinct from the fixed original Token program owner. */
87
+ readonly owner: Address;
88
+ readonly describes: string;
89
+ } | {
90
+ readonly kind: 'token-account';
91
+ readonly dataHash?: never;
92
+ readonly address: Address;
93
+ readonly mint: Address;
94
+ readonly owner: Address;
95
+ readonly minimumBalance: bigint;
96
+ readonly describes: string;
97
+ } | {
98
+ /** The selected pinned cargo encoding and cache address remain identical. */
99
+ readonly kind: 'game-cargo-bytes-config';
100
+ readonly dataHash?: never;
101
+ readonly address: Address;
102
+ readonly cargoId: number;
103
+ readonly configHash: string;
104
+ readonly describes: string;
105
+ } | {
106
+ readonly kind: 'game-cargo-config';
107
+ readonly dataHash?: never;
108
+ readonly address: Address;
109
+ readonly cargoId: number;
110
+ readonly configHash: string;
111
+ readonly describes: string;
112
+ } | {
113
+ readonly kind: 'cargo-cache';
114
+ readonly dataHash?: never;
115
+ readonly address: Address;
116
+ readonly game: Address;
117
+ readonly bump: number;
118
+ readonly describes: string;
119
+ } | {
120
+ /** The selected ship configuration remains identical. */
121
+ readonly kind: 'game-ship-config';
122
+ readonly address: Address;
123
+ /** Explicit unsigned 16-bit configuration ID in this Game. */
124
+ readonly shipId: number;
125
+ /** SHA-256 of the owner and complete pinned Ship encoding. */
126
+ readonly configHash: string;
127
+ readonly dataHash?: never;
128
+ readonly describes: string;
129
+ } | {
130
+ /** Existing non-executable C4 Game with a valid complete layout; no definition equality check. */
131
+ readonly kind: 'game-account';
132
+ readonly address: Address;
133
+ readonly dataHash?: never;
134
+ readonly describes: string;
67
135
  };
68
136
  /** The complete persistent wire representation of a Plan.
69
137
  *
@@ -103,12 +171,13 @@ export interface PlanJsonV1 {
103
171
  *
104
172
  * Version two retains every version-one top-level field and adds optional
105
173
  * normalized semantic facts to individual steps plus account-absence
106
- * preconditions. A Plan emits version two when either feature is present.
174
+ * preconditions. A Plan emits version two when either feature is present and
175
+ * no version-three token-account guard is needed.
107
176
  *
108
177
  * @example
109
178
  * ```ts
110
179
  * declare const plan: Plan;
111
- * const wire: PlanJsonV1 | PlanJsonV2 = plan.toJSON();
180
+ * const wire: PlanJsonV1 | PlanJsonV2 | PlanJsonV3 | PlanJsonV4 | PlanJsonV5 | PlanJsonV6 | PlanJsonV7 | PlanJsonV8 | PlanJsonV9 = plan.toJSON();
112
181
  * if (wire.v === 2) {
113
182
  * const absent = wire.preconditions.find(
114
183
  * (precondition) => precondition.kind === 'account-absent',
@@ -148,6 +217,142 @@ export interface PlanJsonV2 {
148
217
  readonly affected: readonly string[];
149
218
  readonly requiredSigners: readonly string[];
150
219
  }
220
+ /** Version-three wire data for idempotent original Token account creation guards.
221
+ *
222
+ * Older Plans continue emitting version one or two. Version three adds a
223
+ * closure-free absent-or-valid token account guard; it does not derive an ATA.
224
+ *
225
+ * @example
226
+ * ```ts
227
+ * declare const wire: PlanJsonV3;
228
+ * const plan = planFromJSON(wire);
229
+ * console.log(plan.preconditions);
230
+ * ```
231
+ */
232
+ export interface PlanJsonV3 extends Omit<PlanJsonV2, 'v' | 'preconditions'> {
233
+ readonly v: 3;
234
+ readonly preconditions: readonly (PlanJsonV2['preconditions'][number] | {
235
+ readonly kind: 'token-account-or-absent';
236
+ readonly address: string;
237
+ readonly mint: string;
238
+ readonly owner: string;
239
+ readonly describes: string;
240
+ })[];
241
+ }
242
+ /** Version four records finite cargo configuration, cache identity and required Token balance guards.
243
+ * @example
244
+ * ```ts
245
+ * declare const wire: PlanJsonV4;
246
+ * const plan = planFromJSON(wire);
247
+ * ```
248
+ */
249
+ export interface PlanJsonV4 extends Omit<PlanJsonV3, 'v' | 'preconditions'> {
250
+ readonly v: 4;
251
+ readonly preconditions: readonly (PlanJsonV3['preconditions'][number] | {
252
+ readonly kind: 'token-account';
253
+ readonly address: string;
254
+ readonly mint: string;
255
+ readonly owner: string;
256
+ readonly minimumBalance: string;
257
+ readonly describes: string;
258
+ } | {
259
+ readonly kind: 'game-cargo-config';
260
+ readonly address: string;
261
+ readonly cargoId: number;
262
+ readonly configHash: string;
263
+ readonly describes: string;
264
+ } | {
265
+ readonly kind: 'cargo-cache';
266
+ readonly address: string;
267
+ readonly game: string;
268
+ readonly bump: number;
269
+ readonly describes: string;
270
+ })[];
271
+ }
272
+ /** Version five adds validated Game state without freezing unrelated definitions.
273
+ * @example
274
+ * ```ts
275
+ * declare const wire: PlanJsonV5;
276
+ * const plan = planFromJSON(wire);
277
+ * ```
278
+ */
279
+ export interface PlanJsonV5 extends Omit<PlanJsonV4, 'v' | 'preconditions'> {
280
+ readonly v: 5;
281
+ readonly preconditions: readonly (PlanJsonV4['preconditions'][number] | {
282
+ readonly kind: 'game-account';
283
+ readonly address: string;
284
+ readonly describes: string;
285
+ })[];
286
+ }
287
+ /** Version six adds a selected ship configuration guard.
288
+ * @example
289
+ * ```ts
290
+ * declare const wire: PlanJsonV6;
291
+ * const plan = planFromJSON(wire);
292
+ * ```
293
+ */
294
+ export interface PlanJsonV6 extends Omit<PlanJsonV5, 'v' | 'preconditions'> {
295
+ readonly v: 6;
296
+ readonly preconditions: readonly (PlanJsonV5['preconditions'][number] | {
297
+ readonly kind: 'game-ship-config';
298
+ readonly address: string;
299
+ readonly shipId: number;
300
+ readonly configHash: string;
301
+ readonly describes: string;
302
+ })[];
303
+ }
304
+ /** Version seven adds finite original Token Mint validation without freezing supply or authorities.
305
+ * @example
306
+ * ```ts
307
+ * declare const wire: PlanJsonV7;
308
+ * const plan = planFromJSON(wire);
309
+ * ```
310
+ */
311
+ export interface PlanJsonV7 extends Omit<PlanJsonV6, 'v' | 'preconditions'> {
312
+ readonly v: 7;
313
+ readonly preconditions: readonly (PlanJsonV6['preconditions'][number] | {
314
+ readonly kind: 'token-mint';
315
+ readonly address: string;
316
+ readonly decimals: number;
317
+ readonly describes: string;
318
+ })[];
319
+ }
320
+ /** Version eight permits native funding of a previously absent wallet authority.
321
+ * Older strict absence guards retain their meaning.
322
+ * @example
323
+ * ```ts
324
+ * declare const wire: PlanJsonV8;
325
+ * const plan = planFromJSON(wire);
326
+ * console.log(plan.describe());
327
+ * ```
328
+ */
329
+ export interface PlanJsonV8 extends Omit<PlanJsonV7, 'v' | 'preconditions'> {
330
+ readonly v: 8;
331
+ readonly preconditions: readonly (PlanJsonV7['preconditions'][number] | {
332
+ readonly kind: 'system-account-or-absent';
333
+ readonly address: string;
334
+ readonly describes: string;
335
+ })[];
336
+ }
337
+ /** Version nine adds canonical encoded cargo configuration guards.
338
+ * Older JSON cargo guards retain their frozen legacy semantics.
339
+ * @example
340
+ * ```ts
341
+ * declare const wire: PlanJsonV9;
342
+ * const plan = planFromJSON(wire);
343
+ * console.log(plan.describe());
344
+ * ```
345
+ */
346
+ export interface PlanJsonV9 extends Omit<PlanJsonV8, 'v' | 'preconditions'> {
347
+ readonly v: 9;
348
+ readonly preconditions: readonly (PlanJsonV8['preconditions'][number] | {
349
+ readonly kind: 'game-cargo-bytes-config';
350
+ readonly address: string;
351
+ readonly cargoId: number;
352
+ readonly configHash: string;
353
+ readonly describes: string;
354
+ })[];
355
+ }
151
356
  /** Inert, inspectable action data built only through planning factories.
152
357
  *
153
358
  * @example
@@ -165,7 +370,7 @@ export interface Plan {
165
370
  readonly affected: readonly Address[];
166
371
  readonly requiredSigners: readonly Address[];
167
372
  describe(): readonly string[];
168
- toJSON(): PlanJsonV1 | PlanJsonV2;
373
+ toJSON(): PlanJsonV1 | PlanJsonV2 | PlanJsonV3 | PlanJsonV4 | PlanJsonV5 | PlanJsonV6 | PlanJsonV7 | PlanJsonV8 | PlanJsonV9;
169
374
  readonly [PLAN_BRAND]: true;
170
375
  }
171
376
  /** Caller-owned fields accepted by the Plan factory.
@@ -209,7 +414,7 @@ export declare function createPlan(input: CreatePlanInput): Plan;
209
414
  *
210
415
  * @example
211
416
  * ```ts
212
- * declare const wire: PlanJsonV1 | PlanJsonV2;
417
+ * declare const wire: PlanJsonV1 | PlanJsonV2 | PlanJsonV3 | PlanJsonV4 | PlanJsonV5 | PlanJsonV6 | PlanJsonV7 | PlanJsonV8 | PlanJsonV9;
213
418
  * const plan = planFromJSON(wire);
214
419
  * console.log(plan.describe());
215
420
  * ```
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/planning/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/planning/index.ts"],"names":[],"mappings":"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"}