@aephia/atlas-kit 0.6.0-next.6 → 0.6.0-next.8

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 (56) hide show
  1. package/README.md +1 -1
  2. package/dist/cargo/actions/wallet-context.d.ts.map +1 -1
  3. package/dist/cargo/actions/wallet-context.js +3 -9
  4. package/dist/cargo/actions/wallet-context.js.map +1 -1
  5. package/dist/factions/actions/index.d.ts +2 -0
  6. package/dist/factions/actions/index.d.ts.map +1 -1
  7. package/dist/factions/actions/index.js +19 -4
  8. package/dist/factions/actions/index.js.map +1 -1
  9. package/dist/fleets/actions/index.d.ts +1 -0
  10. package/dist/fleets/actions/index.d.ts.map +1 -1
  11. package/dist/fleets/actions/index.js +1 -0
  12. package/dist/fleets/actions/index.js.map +1 -1
  13. package/dist/fleets/actions/ship-import.d.ts +48 -0
  14. package/dist/fleets/actions/ship-import.d.ts.map +1 -0
  15. package/dist/fleets/actions/ship-import.js +304 -0
  16. package/dist/fleets/actions/ship-import.js.map +1 -0
  17. package/dist/identity/actions/index.d.ts +2 -0
  18. package/dist/identity/actions/index.d.ts.map +1 -1
  19. package/dist/identity/actions/index.js +10 -10
  20. package/dist/identity/actions/index.js.map +1 -1
  21. package/dist/internal/c4/game.d.ts +7 -0
  22. package/dist/internal/c4/game.d.ts.map +1 -1
  23. package/dist/internal/c4/game.js +19 -1
  24. package/dist/internal/c4/game.js.map +1 -1
  25. package/dist/internal/planning/account-state.d.ts +4 -0
  26. package/dist/internal/planning/account-state.d.ts.map +1 -0
  27. package/dist/internal/planning/account-state.js +11 -0
  28. package/dist/internal/planning/account-state.js.map +1 -0
  29. package/dist/internal/planning/authorization-adapter.d.ts +13 -0
  30. package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
  31. package/dist/internal/planning/authorization-adapter.js +21 -0
  32. package/dist/internal/planning/authorization-adapter.js.map +1 -1
  33. package/dist/internal/planning/faction-enrollment.d.ts +1 -1
  34. package/dist/internal/planning/faction-enrollment.d.ts.map +1 -1
  35. package/dist/internal/planning/faction-enrollment.js +7 -13
  36. package/dist/internal/planning/faction-enrollment.js.map +1 -1
  37. package/dist/internal/planning/ship-token.d.ts +10 -0
  38. package/dist/internal/planning/ship-token.d.ts.map +1 -0
  39. package/dist/internal/planning/ship-token.js +49 -0
  40. package/dist/internal/planning/ship-token.js.map +1 -0
  41. package/dist/planning/execution.d.ts.map +1 -1
  42. package/dist/planning/execution.js +31 -9
  43. package/dist/planning/execution.js.map +1 -1
  44. package/dist/planning/index.d.ts +51 -3
  45. package/dist/planning/index.d.ts.map +1 -1
  46. package/dist/planning/index.js +69 -13
  47. package/dist/planning/index.js.map +1 -1
  48. package/dist/registry/onboarding.d.ts +2 -0
  49. package/dist/registry/onboarding.d.ts.map +1 -1
  50. package/dist/registry/onboarding.js +9 -4
  51. package/dist/registry/onboarding.js.map +1 -1
  52. package/dist/registry/ships.d.ts +10 -0
  53. package/dist/registry/ships.d.ts.map +1 -0
  54. package/dist/registry/ships.js +35 -0
  55. package/dist/registry/ships.js.map +1 -0
  56. package/package.json +1 -1
@@ -0,0 +1,304 @@
1
+ import { isAddress, isOffCurveAddress } from '@solana/kit';
2
+ import { InvalidActionInputError } from '../../client/errors.js';
3
+ import { readContextRawAccounts } from '../../client/reconciliation.js';
4
+ import { characterAccountDefinition, profileAccountDefinition, findCharacterPda, } from '../../internal/c4/identity.js';
5
+ import { deriveStarbasePlayerAddress, starbasePlayerAccountDefinition, } from '../../internal/c4/starbase.js';
6
+ import { deriveStarSystemAddress, starSystemAccountDefinition, } from '../../internal/c4/world.js';
7
+ import { PLAYER_PROFILE_PROGRAM_ADDRESS } from '../../internal/c4/faction-enrollment.js';
8
+ import { requireGameAddress } from '../../internal/game-context.js';
9
+ import { adaptAddShipEscrowInstruction, validatePlanAuthorization, } from '../../internal/planning/authorization-adapter.js';
10
+ import { hashAccountState } from '../../internal/planning/account-state.js';
11
+ import { readRent, readClock, RENT_ADDRESS, CLOCK_ADDRESS, } from '../../internal/planning/faction-enrollment.js';
12
+ import { deriveShipTokenAddress, validateShipMint, validateShipToken, failShipImport, ORIGINAL_TOKEN_PROGRAM, ATA_PROGRAM, SYSTEM_PROGRAM, } from '../../internal/planning/ship-token.js';
13
+ import { readFreshGameShipConfiguration } from '../../registry/ships.js';
14
+ import { createPlan, } from '../../planning/index.js';
15
+ function address(value) {
16
+ return typeof value === 'string' && isAddress(value);
17
+ }
18
+ function invalid(field, value, expected) {
19
+ throw new InvalidActionInputError(field, value, expected, 'Select an explicit ship configuration, positive bigint amount and address-only authorization before planning again.');
20
+ }
21
+ function validate(options) {
22
+ if (!options ||
23
+ typeof options !== 'object' ||
24
+ Array.isArray(options) ||
25
+ Object.keys(options).some((k) => ![
26
+ 'shipId',
27
+ 'amount',
28
+ 'owner',
29
+ 'authorization',
30
+ 'source',
31
+ 'escrowAccount',
32
+ ].includes(k)))
33
+ invalid('options', options, 'ship import options only');
34
+ if (typeof options.amount !== 'bigint' ||
35
+ options.amount <= 0n ||
36
+ options.amount > (1n << 64n) - 1n)
37
+ invalid('amount', options.amount, 'a positive u64 bigint');
38
+ if (typeof options.shipId !== 'number' ||
39
+ !Number.isInteger(options.shipId) ||
40
+ options.shipId < 0 ||
41
+ options.shipId > 65535)
42
+ invalid('shipId', options.shipId, 'an explicit u16 ship configuration ID');
43
+ if (!address(options.owner) || isOffCurveAddress(options.owner))
44
+ invalid('owner', options.owner, 'a directly signing token owner address');
45
+ if (options.source !== undefined && !address(options.source))
46
+ invalid('source', options.source, 'an existing token account address');
47
+ const a = options.authorization;
48
+ if (!a ||
49
+ typeof a !== 'object' ||
50
+ Array.isArray(a) ||
51
+ Object.keys(a).some((k) => !['profile', 'authority', 'keyIndex', 'certificate'].includes(k)) ||
52
+ !address(a.profile) ||
53
+ !address(a.authority) ||
54
+ isOffCurveAddress(a.authority) ||
55
+ (a.certificate !== undefined && !address(a.certificate)))
56
+ invalid('authorization', a, 'valid Profile, direct authority, keyIndex and optional certificate addresses');
57
+ validatePlanAuthorization(a);
58
+ const e = options.escrowAccount;
59
+ if (e !== undefined &&
60
+ (!e ||
61
+ typeof e !== 'object' ||
62
+ Array.isArray(e) ||
63
+ Object.keys(e).some((k) => !['mode', 'payer'].includes(k)) ||
64
+ e.mode !== 'create-if-missing' ||
65
+ !address(e.payer) ||
66
+ isOffCurveAddress(e.payer)))
67
+ invalid('escrowAccount', e, '{ mode: create-if-missing, payer: a directly signing address }');
68
+ }
69
+ function required(raw, account, role) {
70
+ return (raw ??
71
+ failShipImport(`${role} ${account} is missing. Complete onboarding or create the required account separately.`, account));
72
+ }
73
+ async function observe(raw, role) {
74
+ return {
75
+ kind: 'account-state',
76
+ address: raw.address,
77
+ dataHash: await hashAccountState(raw.owner, raw.data),
78
+ describes: `${role} ${raw.address} retains its observed owner and data; native balance is an observation, not reserved. Refresh and replan if it changes.`,
79
+ };
80
+ }
81
+ /** Plans importing whole ship tokens into a registered player's CSS ship escrow.
82
+ * Requires direct Profile AUTH and token-owner authorization. The Profile vault
83
+ * funds any StarbasePlayer storage shortfall; an explicit ATA payer funds optional
84
+ * escrow creation. Fees are separate. No Fleet is created and no signer is retained.
85
+ * @example
86
+ * ```ts
87
+ * declare const ctx: SageContext;
88
+ * declare const starbase: import('@aephia/atlas-kit/starbases').StarbasePlayerSnapshot;
89
+ * declare const options: PlanDepositShipsToGameOptions;
90
+ * const plan = await planDepositShipsToGame(ctx, starbase, options);
91
+ * console.log(plan.describe());
92
+ * ```
93
+ */
94
+ export async function planDepositShipsToGame(ctx, starbase, options) {
95
+ validate(options);
96
+ if (!starbase ||
97
+ starbase.kind !== 'starbasePlayer' ||
98
+ !address(starbase.address) ||
99
+ !address(starbase.system?.address) ||
100
+ !address(starbase.playerProfile?.address) ||
101
+ !address(starbase.character?.address))
102
+ invalid('starbase', starbase, 'a loaded StarbasePlayer snapshot');
103
+ // Capture caller-owned input before PDA derivation or the first asynchronous read.
104
+ // Plans must retain the validated intent even if the application edits its form.
105
+ options = {
106
+ ...options,
107
+ authorization: { ...options.authorization },
108
+ ...(options.escrowAccount
109
+ ? { escrowAccount: { ...options.escrowAccount } }
110
+ : {}),
111
+ };
112
+ starbase = {
113
+ kind: 'starbasePlayer',
114
+ address: starbase.address,
115
+ system: { ...starbase.system },
116
+ character: { ...starbase.character },
117
+ playerProfile: { ...starbase.playerProfile },
118
+ };
119
+ const { authorization, owner, shipId, amount } = options;
120
+ const game = requireGameAddress(ctx), character = await findCharacterPda(authorization.profile, game), player = await deriveStarbasePlayerAddress(starbase.system.address, character);
121
+ if (starbase.address !== player ||
122
+ starbase.character.address !== character ||
123
+ starbase.playerProfile.address !== authorization.profile)
124
+ failShipImport('The loaded StarbasePlayer must be the canonical registration for the authorized Profile and Character.', starbase.address);
125
+ const config = await readFreshGameShipConfiguration(ctx, shipId), mint = config.ship.mint;
126
+ const source = options.source ?? (await deriveShipTokenAddress(owner, mint)), escrow = await deriveShipTokenAddress(character, mint);
127
+ if (source === escrow)
128
+ failShipImport('Source and Character escrow must be different token accounts.', source);
129
+ const addresses = [
130
+ authorization.profile,
131
+ character,
132
+ player,
133
+ starbase.system.address,
134
+ mint,
135
+ source,
136
+ RENT_ADDRESS,
137
+ CLOCK_ADDRESS,
138
+ escrow,
139
+ owner,
140
+ ];
141
+ const values = await readContextRawAccounts(ctx, addresses);
142
+ const profileRaw = required(values[0], addresses[0], 'Profile'), characterRaw = required(values[1], character, 'Character'), playerRaw = required(values[2], player, 'StarbasePlayer'), systemRaw = required(values[3], addresses[3], 'System'), mintRaw = required(values[4], mint, 'Ship mint'), sourceRaw = required(values[5], source, 'Ship source'), rentRaw = required(values[6], RENT_ADDRESS, 'Rent sysvar'), clockRaw = required(values[7], CLOCK_ADDRESS, 'Clock sysvar');
143
+ const escrowRaw = values[8], ownerRaw = values[9];
144
+ for (const raw of [profileRaw, characterRaw, playerRaw, systemRaw])
145
+ if (raw.executable)
146
+ failShipImport('A gameplay prerequisite is executable rather than account state.', raw.address);
147
+ const p = profileAccountDefinition.decode(profileRaw), c = characterAccountDefinition.decode(characterRaw), s = starbasePlayerAccountDefinition.decode(playerRaw), w = starSystemAccountDefinition.decode(systemRaw);
148
+ if (c.playerProfile !== authorization.profile ||
149
+ c.game !== game ||
150
+ s.playerProfile !== authorization.profile ||
151
+ s.character !== character ||
152
+ s.system !== starbase.system.address ||
153
+ w.game !== game ||
154
+ (await deriveStarSystemAddress(game, w.systemId)) !==
155
+ starbase.system.address)
156
+ failShipImport('Fresh Character, StarbasePlayer and System relationships must match the configured Game and authorized Profile.', player);
157
+ if (w.starbase?.maxLevel.kind !== 'css')
158
+ failShipImport('Ship import requires a Central Space Station. Select an accessible CSS.', systemRaw.address);
159
+ const key = p.keys[authorization.keyIndex], now = readClock(clockRaw);
160
+ if (!key ||
161
+ key.address !== authorization.authority ||
162
+ key.scope !== PLAYER_PROFILE_PROGRAM_ADDRESS ||
163
+ (key.permissionsRaw & 1n) === 0n)
164
+ failShipImport('Ship import supports a direct Profile AUTH key. Select a matching authorized Profile key; delegated certificates and other permission scopes are not yet verified.', profileRaw.address);
165
+ if (key.expiresAtRaw >= 0n && key.expiresAtRaw < now)
166
+ failShipImport('The selected Profile key has expired. Choose a current AUTH key.', profileRaw.address);
167
+ if (ownerRaw &&
168
+ ownerRaw.data.length === 355 &&
169
+ (ownerRaw.owner === ORIGINAL_TOKEN_PROGRAM ||
170
+ ownerRaw.owner === 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb'))
171
+ failShipImport('Token multisig owners are unsupported. Use a directly signing token owner.', owner);
172
+ validateShipMint(mintRaw);
173
+ const sourceAmount = validateShipToken(sourceRaw, mint, owner);
174
+ if (sourceAmount < amount)
175
+ failShipImport(`Source has ${sourceAmount} ships but import requests ${amount}. Reduce the amount.`, source);
176
+ const existingCredit = s.shipsInEscrow.find((item) => item.shipId === shipId);
177
+ if ((existingCredit?.quantityRaw ?? 0n) + amount > (1n << 64n) - 1n)
178
+ failShipImport('The selected ship inventory would exceed u64 capacity. Reduce the amount.', player);
179
+ const minimum = readRent(rentRaw), newLength = playerRaw.data.length + (existingCredit ? 0 : 10), targetRent = minimum(newLength), growthFunding = targetRent > playerRaw.lamports ? targetRent - playerRaw.lamports : 0n;
180
+ const reserve = minimum(profileRaw.data.length);
181
+ if (profileRaw.lamports < reserve + growthFunding)
182
+ failShipImport(`Profile vault needs ${reserve + growthFunding - profileRaw.lamports} more native lamports to fund StarbasePlayer storage while retaining its own reserve. Fund the Profile separately.`, authorization.profile);
183
+ const preconditions = [
184
+ {
185
+ kind: 'game-ship-config',
186
+ address: game,
187
+ shipId,
188
+ configHash: config.configHash,
189
+ describes: 'The selected ship configuration remains unchanged; unrelated Game definitions may change.',
190
+ },
191
+ {
192
+ kind: 'token-account',
193
+ address: source,
194
+ mint,
195
+ owner,
196
+ minimumBalance: amount,
197
+ describes: 'Source remains an initialized unfrozen original Token account with sufficient whole ships.',
198
+ },
199
+ ...(await Promise.all([
200
+ [profileRaw, 'Profile authorization'],
201
+ [characterRaw, 'Character identity'],
202
+ [playerRaw, 'Player ship inventory'],
203
+ [systemRaw, 'CSS access'],
204
+ [mintRaw, 'Ship mint configuration'],
205
+ [rentRaw, 'Rent pricing'],
206
+ ...(ownerRaw ? [[ownerRaw, 'Token owner identity']] : []),
207
+ ].map(([raw, role]) => observe(raw, role)))),
208
+ ];
209
+ if (!ownerRaw)
210
+ preconditions.push({
211
+ kind: 'account-absent',
212
+ address: owner,
213
+ describes: 'Token owner account remains absent, preserving its observed single-owner state.',
214
+ });
215
+ const steps = [];
216
+ let ataFunding = 0n;
217
+ if (escrowRaw) {
218
+ const balance = validateShipToken(escrowRaw, mint, character);
219
+ if (balance + amount > (1n << 64n) - 1n)
220
+ failShipImport('Escrow token balance would exceed u64 capacity. Reduce the amount.', escrow);
221
+ preconditions.push({
222
+ kind: 'token-account',
223
+ address: escrow,
224
+ mint,
225
+ owner: character,
226
+ minimumBalance: 0n,
227
+ describes: 'Existing Character escrow remains initialized and unfrozen with the selected mint and Character owner; incoming tokens are allowed.',
228
+ });
229
+ }
230
+ else {
231
+ const creation = options.escrowAccount;
232
+ if (!creation)
233
+ failShipImport('Character ship escrow is missing. Explicitly select escrowAccount create-if-missing with a payer or create it separately.', escrow);
234
+ const extraAddresses = [
235
+ creation.payer,
236
+ ATA_PROGRAM,
237
+ SYSTEM_PROGRAM,
238
+ ORIGINAL_TOKEN_PROGRAM,
239
+ ];
240
+ const extraValues = await readContextRawAccounts(ctx, extraAddresses);
241
+ const extras = extraAddresses.map((a, i) => required(extraValues[i], a, 'ATA prerequisite'));
242
+ const payer = extras[0];
243
+ ataFunding = minimum(165);
244
+ if (payer.owner !== SYSTEM_PROGRAM ||
245
+ payer.executable ||
246
+ payer.data.length !== 0 ||
247
+ payer.lamports < ataFunding)
248
+ failShipImport(`ATA payer must be a System wallet with at least ${ataFunding} native lamports for escrow storage plus separate fees.`, creation.payer);
249
+ if (extras.slice(1).some((a) => !a.executable))
250
+ failShipImport('ATA creation requires executable associated-token, System and original Token programs.', ATA_PROGRAM);
251
+ preconditions.push(...(await Promise.all(extras.map((raw, i) => observe(raw, [
252
+ 'ATA payer identity',
253
+ 'Associated-token program',
254
+ 'System program',
255
+ 'Token program',
256
+ ][i])))), {
257
+ kind: 'token-account-or-absent',
258
+ address: escrow,
259
+ mint,
260
+ owner: character,
261
+ describes: 'Explicit idempotent creation permits an absent or already valid canonical Character ATA.',
262
+ });
263
+ steps.push({
264
+ instruction: {
265
+ programAddress: ATA_PROGRAM,
266
+ accounts: [
267
+ { address: creation.payer, role: 3 },
268
+ { address: escrow, role: 1 },
269
+ { address: character, role: 0 },
270
+ { address: mint, role: 0 },
271
+ { address: SYSTEM_PROGRAM, role: 0 },
272
+ { address: ORIGINAL_TOKEN_PROGRAM, role: 0 },
273
+ ],
274
+ data: Uint8Array.of(1),
275
+ },
276
+ signers: [creation.payer],
277
+ describes: `Create the canonical Character ship ATA idempotently; payer ${creation.payer} provides observed storage funding ${ataFunding} native lamports, separate from transaction fees.`,
278
+ });
279
+ }
280
+ const describes = `Import ${amount} whole ships for configuration ${shipId} (mint ${mint}): source ${source} decreases by ${amount}, Character escrow ${escrow} increases by ${amount}, and StarbasePlayer ${player} shipsInEscrow[${shipId}] increases by ${amount}. Profile authority ${authorization.authority} and token owner ${owner} authorize import. Profile ${authorization.profile} provides observed StarbasePlayer storage funding ${growthFunding} native lamports; ATA storage funding ${ataFunding} and execution fees are separate. Funding is not reserved; permissions, current access and outcomes remain chain-authoritative. Simulate before signing and verify all three balances after confirmation; never automatically retry an unknown outcome. Import does not create a Fleet.`;
281
+ steps.push({
282
+ instruction: adaptAddShipEscrowInstruction({
283
+ authorization,
284
+ owner,
285
+ character,
286
+ source,
287
+ escrow,
288
+ system: starbase.system.address,
289
+ starbasePlayer: player,
290
+ game,
291
+ amount,
292
+ shipId,
293
+ }),
294
+ signers: [...new Set([authorization.authority, owner])],
295
+ describes,
296
+ });
297
+ return createPlan({
298
+ kind: 'fleet.ship-import',
299
+ summary: describes,
300
+ preconditions,
301
+ steps,
302
+ });
303
+ }
304
+ //# sourceMappingURL=ship-import.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-import.js","sourceRoot":"","sources":["../../../src/fleets/actions/ship-import.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,8 @@ export interface PlanRegisterCharacterOptions {
17
17
  * enrollment are not prerequisites for this instruction. Planning never creates
18
18
  * an account, signs, submits, or retains a signer. Existing Characters are rejected;
19
19
  * reuse them through `getCharacterForProfile` or `maybeGetCharacterForProfile`.
20
+ * New Plans tolerate unrelated Game definition changes while requiring a valid
21
+ * C4 Game, unchanged Profile state, and an absent canonical Character.
20
22
  * Rent, funder balance, and final creation remain chain-authoritative. Simulate
21
23
  * before signing and read the Character after confirmed execution to verify its
22
24
  * exact Profile/Game identity. Submission alone does not prove creation.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/identity/actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,OAAO,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAc,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAUzE,OAAO,EAEL,KAAK,IAAI,EAEV,MAAM,yBAAyB,CAAC;AAGjC;;;;;;;GAOG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAoDD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,WAAW,EAChB,cAAc,EAAE,OAAO,EACvB,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,IAAI,CAAC,CA2Ef"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/identity/actions/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAgC,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,KAAK,EAAc,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAUzE,OAAO,EAEL,KAAK,IAAI,EAEV,MAAM,yBAAyB,CAAC;AAGjC;;;;;;;GAOG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AA2CD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,WAAW,EAChB,cAAc,EAAE,OAAO,EACvB,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,IAAI,CAAC,CA4Ef"}
@@ -1,4 +1,5 @@
1
- import { getAddressEncoder, isAddress, isOffCurveAddress, } from '@solana/kit';
1
+ import { hashAccountState } from '../../internal/planning/account-state.js';
2
+ import { isAddress, isOffCurveAddress } from '@solana/kit';
2
3
  import { InvalidActionInputError, SageSdkError } from '../../client/errors.js';
3
4
  import { readContextRawAccounts } from '../../client/reconciliation.js';
4
5
  import { createRegisterCharacterInstruction } from '../../internal/c4/character-registration.js';
@@ -22,17 +23,10 @@ function fail(message, address) {
22
23
  throw new SageSdkError('ACTION_PRECONDITION_FAILED', message, { address });
23
24
  }
24
25
  async function observe(account, describes) {
25
- const owner = getAddressEncoder().encode(account.owner);
26
- const data = new Uint8Array(owner.length + account.data.length);
27
- data.set(owner);
28
- data.set(account.data, owner.length);
29
- const digest = new Uint8Array(await globalThis.crypto.subtle.digest('SHA-256', data));
30
26
  return {
31
27
  kind: 'account-state',
32
28
  address: account.address,
33
- dataHash: [...digest]
34
- .map((byte) => byte.toString(16).padStart(2, '0'))
35
- .join(''),
29
+ dataHash: await hashAccountState(account.owner, account.data),
36
30
  describes,
37
31
  };
38
32
  }
@@ -41,6 +35,8 @@ async function observe(account, describes) {
41
35
  * enrollment are not prerequisites for this instruction. Planning never creates
42
36
  * an account, signs, submits, or retains a signer. Existing Characters are rejected;
43
37
  * reuse them through `getCharacterForProfile` or `maybeGetCharacterForProfile`.
38
+ * New Plans tolerate unrelated Game definition changes while requiring a valid
39
+ * C4 Game, unchanged Profile state, and an absent canonical Character.
44
40
  * Rent, funder balance, and final creation remain chain-authoritative. Simulate
45
41
  * before signing and read the Character after confirmed execution to verify its
46
42
  * exact Profile/Game identity. Submission alone does not prove creation.
@@ -84,7 +80,11 @@ export async function planRegisterCharacter(ctx, profileAddress, input) {
84
80
  summary,
85
81
  preconditions: [
86
82
  await observe(profileAccount, `Profile ${profileAddress} retains its validated Player Profile state.`),
87
- await observe(gameAccount, `Game ${game} retains its validated C4 state.`),
83
+ {
84
+ kind: 'game-account',
85
+ address: gameAccount.address,
86
+ describes: `Game ${game} remains a valid non-executable C4 Game; unrelated definition changes do not invalidate Character registration.`,
87
+ },
88
88
  {
89
89
  kind: 'account-absent',
90
90
  address: character,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/identity/actions/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/identity/actions/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type GameClaimStakeBuildingDefinitionData } from './claim-stake-building-definitions.js';
2
2
  import { type GameClaimStakeDefinitionData } from './claim-stake-definitions.js';
3
+ import { type Ship } from '@staratlas/dev-sage';
3
4
  import type { Address, RawAccount } from '../../client/contracts.js';
4
5
  import type { C4AccountAdapter } from './adapter.js';
5
6
  import type { FleetStatsData } from './fleet.js';
@@ -197,6 +198,8 @@ export interface GameCombatConfigurationData {
197
198
  readonly definitions: readonly GameStimulantDefinitionData[];
198
199
  };
199
200
  }
201
+ /** Validates the complete pinned Game layout without retaining or translating definition sections. */
202
+ export declare function validateGameAccountLayout(account: RawAccount): void;
200
203
  /** Fresh action-only projection; the mutable cache address is not persisted as a definition section. */
201
204
  export declare function decodeGameCargoConfiguration(account: RawAccount): {
202
205
  readonly cache: Address;
@@ -208,6 +211,10 @@ export declare function decodeGameCargoConfiguration(account: RawAccount): {
208
211
  })[];
209
212
  readonly sequenceId: number;
210
213
  };
214
+ /** Canonical full pinned Ship bytes for registry-owned configuration freshness. */
215
+ export declare function encodeGameShipConfiguration(ship: Ship): Uint8Array;
216
+ /** Full pinned Game validation with raw Ship rows, without public section translation. */
217
+ export declare function decodeGameShipConfigurations(account: RawAccount): readonly Ship[];
211
218
  /** Typed Game definition translating only combat configuration and stimulants. */
212
219
  export declare const gameCombatAccountDefinition: C4AccountAdapter<GameCombatConfigurationData>;
213
220
  /** Validates one Game account and translates only the requested sections. */
@@ -1 +1 @@
1
- {"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/game.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oCAAoC,EAC1C,MAAM,uCAAuC,CAAC;AAM/C,OAAO,EAIL,KAAK,4BAA4B,EAClC,MAAM,8BAA8B,CAAC;AAgBtC,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAMrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAQ3D,6EAA6E;AAC7E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EACd,UAAU,GACV,SAAS,GACT,OAAO,GACP,QAAQ,GACR,OAAO,GACP,SAAS,GACT,WAAW,GACX,OAAO,CAAC;CACb;AAED,8EAA8E;AAC9E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,6EAA6E;AAC7E,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,WAAW,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACxD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,8EAA8E;AAC9E,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,WAAW,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACzD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,UAAU,EAAE,0BAA0B,CAAC;IAChD,QAAQ,CAAC,GAAG,EAAE,0BAA0B,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,0BAA0B,CAAC;CAChD;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,0BAA0B,CAAC;IACpD,QAAQ,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;IAC5D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;CACzC;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAChE,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,SAAS;QACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KAC9B,EAAE,CAAC;IACJ,QAAQ,CAAC,gBAAgB,EAAE,SAAS;QAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KAC9B,EAAE,CAAC;IACJ,QAAQ,CAAC,sBAAsB,EAAE,SAAS,MAAM,EAAE,CAAC;IACnD,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;KACpC,EAAE,CAAC;IACJ,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,WAAW,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAC/D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;CACzC;AAED,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,WAAW,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAC/D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,8DAA8D;AAC9D,MAAM,MAAM,cAAc,GACtB,cAAc,GACd,OAAO,GACP,OAAO,GACP,aAAa,GACb,QAAQ,GACR,UAAU,GACV,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,iEAAiE;AACjE,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE;QACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,kCAAkC,EAAE,MAAM,CAAC;QACpD,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;QACxC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;QAC3C,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;QACtC,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;QAC/C,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;KACxC,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;QACrC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,cAAc,EAAE,CAAC;KACtD,CAAC;IACF,QAAQ,CAAC,eAAe,EAAE,SAAS,wBAAwB,EAAE,CAAC;CAC/D;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,SAAS;QAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KAC9B,EAAE,CAAC;IACJ,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,SAAS;QACzB,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;QAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,EAAE,CAAC;IACJ,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;CAC1C;AAED,+EAA+E;AAC/E,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,0EAA0E;AAC1E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACnB,QAAQ,CAAC,WAAW,EAAE,SAAS,oCAAoC,EAAE,CAAC;QACtE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,QAAQ,CAAC,WAAW,EAAE,SAAS,4BAA4B,EAAE,CAAC;QAC9D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,QAAQ,CAAC,KAAK,CAAC,EAAE,+BAA+B,CAAC;IACjD,QAAQ,CAAC,YAAY,CAAC,EAAE,qCAAqC,CAAC;IAC9D,QAAQ,CAAC,YAAY,CAAC,EAAE,qCAAqC,CAAC;IAC9D,QAAQ,CAAC,QAAQ,CAAC,EAAE,kCAAkC,CAAC;IACvD,QAAQ,CAAC,KAAK,CAAC,EAAE,8BAA8B,CAAC;IAChD,QAAQ,CAAC,EAAE,CAAC,EAAE,4BAA4B,CAAC;CAC5C;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACtD;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,wBAAwB,CAAC;IACpD,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,WAAW,EAAE,wBAAwB,CAAC;IAC/C,QAAQ,CAAC,mCAAmC,EAAE,wBAAwB,CAAC;IACvE,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,oBAAoB,EAAE;QAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,WAAW,EAAE,SAAS,2BAA2B,EAAE,CAAC;KAC9D,CAAC;CACH;AA4FD,wGAAwG;AACxG,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,UAAU,GAAG;IACjE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,uBAAuB,GAAG;QACxD,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;QACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;KACjC,CAAC,EAAE,CAAC;IACL,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,CAqBA;AAsFD,kFAAkF;AAClF,eAAO,MAAM,2BAA2B,EAAE,gBAAgB,CAAC,2BAA2B,CAWlF,CAAC;AA0OL,6EAA6E;AAC7E,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,SAAS,CACf,OAAO,GACP,OAAO,GACP,WAAW,GACX,aAAa,GACb,cAAc,GACd,cAAc,GACd,IAAI,GACJ,UAAU,CACb,EAAE,GACF,wBAAwB,CAyE1B"}
1
+ {"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/game.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { translateClaimStakeBuildingDefinitionsSection, } from './claim-stake-building-definitions.js';
2
2
  import { shipDefinitionByteLength, habBuildingDefinitionByteLength, researchNodeByteLength, } from './game-definition-layout.js';
3
3
  import { translateClaimStakeDefinitionsSection, containerDefinitionByteLength, validateDefinitionIndex, } from './claim-stake-definitions.js';
4
- import { GAME_DISCRIMINATOR, SAGE_PROGRAM_ADDRESS, SizeClass, Tier, XpCategory, getGameDecoder, } from '@staratlas/dev-sage';
4
+ import { GAME_DISCRIMINATOR, SAGE_PROGRAM_ADDRESS, SizeClass, Tier, XpCategory, getGameDecoder, getShipEncoder, } from '@staratlas/dev-sage';
5
5
  import { AccountDecodeError, InvalidAccountOwnerError, InvalidDiscriminatorError, } from '../../client/errors.js';
6
6
  import { translateCharacterModifier } from './character-modifier.js';
7
7
  import { translateShipStats } from './ship-stats.js';
@@ -32,6 +32,11 @@ function decodeExactly(account) {
32
32
  throw new AccountDecodeError('game', account.address, cause);
33
33
  }
34
34
  }
35
+ /** Validates the complete pinned Game layout without retaining or translating definition sections. */
36
+ export function validateGameAccountLayout(account) {
37
+ validateGameAccount(account);
38
+ decodeExactly(account);
39
+ }
35
40
  function shipSize(sizeClass) {
36
41
  switch (sizeClass) {
37
42
  case SizeClass.XxSmall:
@@ -98,6 +103,19 @@ export function decodeGameCargoConfiguration(account) {
98
103
  })),
99
104
  };
100
105
  }
106
+ /** Canonical full pinned Ship bytes for registry-owned configuration freshness. */
107
+ export function encodeGameShipConfiguration(ship) {
108
+ return new Uint8Array(getShipEncoder().encode(ship));
109
+ }
110
+ /** Full pinned Game validation with raw Ship rows, without public section translation. */
111
+ export function decodeGameShipConfigurations(account) {
112
+ if (account.executable)
113
+ throw new AccountDecodeError('game', account.address, new RangeError('Game ship configuration must not be executable.'));
114
+ validateGameAccount(account);
115
+ const game = decodeExactly(account);
116
+ validateDefinitionIndex(account, 'Ship', game.shipDefinitions.ships, shipDefinitionByteLength, (row) => row.id);
117
+ return game.shipDefinitions.ships.unsizedList;
118
+ }
101
119
  function translateShipsSection(game) {
102
120
  return {
103
121
  definitions: game.shipDefinitions.ships.unsizedList.map((ship, index) => translateShip(game.shipDefinitions.ships.offsetList[index].key, ship)),
@@ -1 +1 @@
1
- {"version":3,"file":"game.js","sourceRoot":"","sources":["../../../src/internal/c4/game.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6CAA6C,GAE9C,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,wBAAwB,EACxB,+BAA+B,EAC/B,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,qCAAqC,EACrC,6BAA6B,EAC7B,uBAAuB,GAExB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,SAAS,EACT,IAAI,EACJ,UAAU,EACV,cAAc,GAOf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGrD,MAAM,wBAAwB,GAAG,kBAAkB,CAAC,MAAM,CAAC;AAC3D,MAAM,gBAAgB,GAAG,WAAW,CAAC;AACrC,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAC9C,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAC/B,CAAC;AAuOF,SAAS,gBAAgB,CAAC,IAAgB;IACxC,OAAO,0BAA0B,CAAC,KAAK,CACrC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CACtC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAmB;IAC9C,IAAI,OAAO,CAAC,KAAK,KAAK,oBAAoB,EAAE,CAAC;QAC3C,MAAM,IAAI,wBAAwB,CAChC,MAAM,EACN,OAAO,CAAC,OAAO,EACf,oBAAoB,EACpB,OAAO,CAAC,KAAK,CACd,CAAC;IACJ,CAAC;IACD,IACE,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,wBAAwB;QAC9C,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAC/B,CAAC;QACD,MAAM,IAAI,yBAAyB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,OAAmB;IACxC,IAAI,CAAC;QACH,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,cAAc,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACjE,IAAI,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,UAAU,CAClB,WAAW,MAAM,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,uDAAuD,CACnG,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,SAAoB;IACpC,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,SAAS,CAAC,OAAO;YACpB,OAAO,UAAU,CAAC;QACpB,KAAK,SAAS,CAAC,MAAM;YACnB,OAAO,SAAS,CAAC;QACnB,KAAK,SAAS,CAAC,KAAK;YAClB,OAAO,OAAO,CAAC;QACjB,KAAK,SAAS,CAAC,MAAM;YACnB,OAAO,QAAQ,CAAC;QAClB,KAAK,SAAS,CAAC,KAAK;YAClB,OAAO,OAAO,CAAC;QACjB,KAAK,SAAS,CAAC,OAAO;YACpB,OAAO,SAAS,CAAC;QACnB,KAAK,SAAS,CAAC,SAAS;YACtB,OAAO,WAAW,CAAC;QACrB,KAAK,SAAS,CAAC,KAAK;YAClB,OAAO,OAAO,CAAC;QACjB,0EAA0E;QAC1E;YACE,MAAM,IAAI,UAAU,CAAC,+BAA+B,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,EAAU,EAAE,IAAU;IAC3C,OAAO;QACL,EAAE;QACF,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;QAC1C,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;QACnC,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,EAAU,EAAE,KAAgB;IAClD,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,QAAQ;QAC1B,EAAE;QACF,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;QAC3C,WAAW,EAAE,KAAK,CAAC,WAAW;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAU;IACvC,OAAO;QACL,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAC9D,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAC3C;QACD,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK;KACxC,CAAC;AACJ,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,4BAA4B,CAAC,OAAmB;IAU9D,IAAI,OAAO,CAAC,UAAU;QACpB,MAAM,IAAI,kBAAkB,CAC1B,MAAM,EACN,OAAO,CAAC,OAAO,EACf,IAAI,UAAU,CAAC,kDAAkD,CAAC,CACnE,CAAC;IACJ,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzC,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK;QACvC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK;QAClC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACvE,GAAG,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC;YAC5B,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;YAClD,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACrB,cAAc,EAAE,KAAK,CAAC,cAAc;SACrC,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAU;IACvC,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACtE,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CACvE;QACD,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK;KACvC,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAmB,EAAE,IAAU;IAChE,MAAM,oBAAoB,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,KAAK,CACtE,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,CAC3C,CAAC;IACF,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,MAAM,IAAI,kBAAkB,CAC1B,MAAM,EACN,OAAO,CAAC,OAAO,EACf,IAAI,UAAU,CACZ,kEAAkE,CACnE,EACD,QAAQ,OAAO,CAAC,OAAO,6HAA6H,CACrJ,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,KAGd;IACC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,4BAA4B,CACnC,OAAmB,EACnB,IAAU;IAEV,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,GAAG,CAChE,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE;QACxB,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC;YACzC,UAAU,CAAC,WAAW,GAAG,CAAC;YAC1B,UAAU,CAAC,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAClD,CAAC;YACD,MAAM,IAAI,kBAAkB,CAC1B,MAAM,EACN,OAAO,CAAC,OAAO,EACf,IAAI,UAAU,CACZ,mBAAmB,OAAO,aAAa,UAAU,CAAC,WAAW,uBAAuB,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CACjH,EACD,QAAQ,OAAO,CAAC,OAAO,wHAAwH,CAChJ,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO;YACP,OAAO,EAAE,UAAU,CAAC,OAAO;iBACxB,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC;iBAChC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAChB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;gBAChC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACvB,CAAC,CAAC;SACN,CAAC;IACJ,CAAC,CACF,CAAC;IACF,OAAO;QACL,uBAAuB,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;QACrD,sBAAsB,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;QACnD,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;QAC5C,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACrD,0BAA0B,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB;QAC3D,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;QACtC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QAC3C,0BAA0B,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB;QAC3D,mCAAmC,EAAE,KAAK,CACxC,IAAI,CAAC,MAAM,CAAC,mCAAmC,CAChD;QACD,oBAAoB,EAAE;YACpB,WAAW;YACX,UAAU,EAAE,IAAI,CAAC,oBAAoB,CAAC,KAAK;SAC5C;KACF,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,MAAM,2BAA2B,GACtC,MAAM,CAAC,MAAM,CAAC;IACZ,MAAM,CAAC,OAAmB;QACxB,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC7B,OAAO,4BAA4B,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,aAAa,EAAE,0BAA0B;IACzC,iBAAiB,EAAE,wBAAwB;IAC3C,cAAc,EAAE,oBAAoB;IACpC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,mBAAmB;CAC9B,CAAC,CAAC;AAEL,SAAS,IAAI,CAAC,KAAW;IACvB,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,IAAI,CAAC,GAAG;YACX,OAAO,KAAK,CAAC;QACf,KAAK,IAAI,CAAC,GAAG;YACX,OAAO,KAAK,CAAC;QACf,KAAK,IAAI,CAAC,KAAK;YACb,OAAO,OAAO,CAAC;QACjB,KAAK,IAAI,CAAC,IAAI;YACZ,OAAO,MAAM,CAAC;QAChB,KAAK,IAAI,CAAC,IAAI;YACZ,OAAO,MAAM,CAAC;QAChB,0EAA0E;QAC1E;YACE,MAAM,IAAI,UAAU,CAAC,oBAAoB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAiD;IAEjD,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACzC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC;QACnD,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC;QACrC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,EAAU,EACV,KAA4B;IAK5B,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,EAAE;QACF,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;QAC3C,sBAAsB,EAAE,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC;QAC3D,cAAc,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC;QACvC,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC;QAC3C,cAAc,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC;QACvC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;KACvB,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAA4B;IAE5B,OAAO;QACL,gBAAgB,EAAE,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAC/C,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CACvD;QACD,2BAA2B,EAAE,KAAK,CAAC,gBAAgB;QACnD,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,EAAE,EAAE,KAAK,CAAC,UAAU;QACpB,WAAW,EAAE,KAAK,CAAC,sBAAsB;QACzC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QACpC,SAAS,EAAE,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACrD,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;QAC3C,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACnE,OAAO;YACP,cAAc,EAAE,IAAI,CAAC,QAAQ,EAAE;YAC/B,iBAAiB,EAAE,IAAI,CAAC,GAAG;SAC5B,CAAC,CAAC;QACH,cAAc,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC;QACvC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3D,OAAO;YACP,WAAW;SACZ,CAAC,CAAC;QACH,cAAc,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC;QACvC,sBAAsB,EAAE,CAAC,GAAG,KAAK,CAAC,oBAAoB,CAAC;QACvD,mBAAmB,EAAE,KAAK,CAAC,eAAe;QAC1C,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,iBAAiB,EAAE,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC;QAC7C,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CACnC,IAAU;IAEV,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC;IAC3C,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACvE,GAAG,oBAAoB,CACrB,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAE,CAAC,GAAG,EAC1C,UAAU,CACX;YACD,0BAA0B,EAAE,MAAM,CAAC,mBAAmB;YACtD,sBAAsB,EAAE,MAAM,CAAC,WAAW;SAC3C,CAAC,CAAC;QACH,0BAA0B,EAAE,MAAM,CAAC,mBAAmB;QACtD,sBAAsB,EAAE,MAAM,CAAC,WAAW;QAC1C,UAAU,EAAE,MAAM,CAAC,KAAK;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CACnC,IAAU;IAEV,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC;IAC3C,OAAO;QACL,WAAW,EACT,MAAM,CAAC,sBAAsB,CAAC,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC;QACrE,UAAU,EAAE,MAAM,CAAC,KAAK;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GAAG;IACpB,CAAC,UAAU,CAAC,WAAW,EAAE,cAAc,CAAC;IACxC,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC;IAC7B,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC;IAC3B,CAAC,UAAU,CAAC,UAAU,EAAE,aAAa,CAAC;IACtC,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC7B,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC;IACjC,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC;IACjC,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC;CACwC,CAAC;AAExE,SAAS,UAAU,CAAC,KAAiB;IACnC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,UAAU,CAAC,WAAW;YACzB,OAAO,cAAc,CAAC;QACxB,KAAK,UAAU,CAAC,OAAO;YACrB,OAAO,OAAO,CAAC;QACjB,KAAK,UAAU,CAAC,KAAK;YACnB,OAAO,OAAO,CAAC;QACjB,KAAK,UAAU,CAAC,UAAU;YACxB,OAAO,aAAa,CAAC;QACvB,KAAK,UAAU,CAAC,MAAM;YACpB,OAAO,QAAQ,CAAC;QAClB,KAAK,UAAU,CAAC,QAAQ;YACtB,OAAO,UAAU,CAAC;QACpB,KAAK,UAAU,CAAC,QAAQ;YACtB,OAAO,UAAU,CAAC;QACpB,KAAK,UAAU,CAAC,MAAM;YACpB,OAAO,QAAQ,CAAC;QAClB,0EAA0E;QAC1E;YACE,MAAM,IAAI,UAAU,CAAC,0BAA0B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAU;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;IAClC,OAAO;QACL,YAAY,EAAE;YACZ,qBAAqB,EAAE,MAAM,CAAC,kBAAkB,CAAC,cAAc;YAC/D,kCAAkC,EAChC,MAAM,CAAC,kBAAkB,CAAC,gBAAgB;YAC5C,6BAA6B,EAC3B,MAAM,CAAC,kBAAkB,CAAC,kBAAkB;YAC9C,aAAa,EAAE,MAAM,CAAC,kBAAkB,CAAC,WAAW;YACpD,sBAAsB,EACpB,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,gBAAgB;YACxE,yBAAyB,EAAE,MAAM,CAAC,kBAAkB,CAAC,iBAAiB;YACtE,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,CAAC,oBAAoB;YACpE,MAAM,EAAE,MAAM,CAAC,kBAAkB,CAAC,MAAM;SACzC;QACD,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC1D,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,KAAK,EAAE,SAAS,CAAC,OAAO;YACxB,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC,CAAC;QACH,MAAM,EAAE;YACN,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO;YACpC,mBAAmB,EAAE,MAAM,CAAC,YAAY,CAAC,gBAAgB;YACzD,gBAAgB,EAAE,aAAa,CAAC,MAAM,CACpC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CACb,CAAC,MAAM,CAAC,YAAY,CAAC,gBAAgB,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,KAAK,CAAC,CACjE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC;SAClC;QACD,UAAU,EAAE,MAAM,CAAC,KAAK;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAmB,EAAE,IAAU;IAC1D,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,kBAAkB,CAC1B,MAAM,EACN,OAAO,CAAC,OAAO,EACf,IAAI,UAAU,CAAC,kDAAkD,CAAC,EAClE,QAAQ,OAAO,CAAC,OAAO,+GAA+G,CACvI,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAkB;IAC/C,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,gBAAgB;QACpD,YAAY,EAAE,IAAI,CAAC,SAAS;QAC5B,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/D,OAAO;YACP,WAAW;SACZ,CAAC,CAAC;QACH,qBAAqB,EAAE,IAAI,CAAC,aAAa;QACzC,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,0BAA0B,CAAC,IAAI,CAAC,QAAQ,CAAC;QACnD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE;QAC1C,cAAc,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACnD,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC;YAC9B,OAAO,EAAE,IAAI,CAAC,IAAI;YAClB,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,IAAU;IAEV,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CACvD,qBAAqB,CACtB;QACD,UAAU,EAAE,IAAI,CAAC,uBAAuB,CAAC,KAAK;KAC/C,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,0BAA0B,CACxC,OAAmB,EACnB,QASG;IAEH,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACtC,uBAAuB,CACrB,OAAO,EACP,cAAc,EACd,IAAI,CAAC,sBAAsB,CAAC,YAAY,EACxC,6BAA6B,CAC9B,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACtC,uBAAuB,CACrB,OAAO,EACP,cAAc,EACd,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,EAClD,+BAA+B,EAC/B,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CACxB,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,uBAAuB,CACrB,OAAO,EACP,eAAe,EACf,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAClC,sBAAsB,EACtB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAChB,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,uBAAuB,CACrB,OAAO,EACP,MAAM,EACN,IAAI,CAAC,eAAe,CAAC,KAAK,EAC1B,wBAAwB,EACxB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAChB,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,OAAO;QACL,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;YAChC,CAAC,CAAC;gBACE,SAAS,EAAE,6CAA6C,CACtD,OAAO,EACP,IAAI,CACL;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;YAClC,CAAC,CAAC,EAAE,WAAW,EAAE,qCAAqC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;YACvE,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC5B,CAAC,CAAC,EAAE,KAAK,EAAE,qBAAqB,CAAC,IAAI,CAAC,EAAE;YACxC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;YACnC,CAAC,CAAC,EAAE,YAAY,EAAE,4BAA4B,CAAC,IAAI,CAAC,EAAE;YACtD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;YACnC,CAAC,CAAC,EAAE,YAAY,EAAE,4BAA4B,CAAC,IAAI,CAAC,EAAE;YACtD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC/B,CAAC,CAAC,EAAE,QAAQ,EAAE,wBAAwB,CAAC,IAAI,CAAC,EAAE;YAC9C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC5B,CAAC,CAAC,EAAE,KAAK,EAAE,qBAAqB,CAAC,IAAI,CAAC,EAAE;YACxC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"game.js","sourceRoot":"","sources":["../../../src/internal/c4/game.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type Address } from '@solana/kit';
2
+ /** Legacy account-state digest: address-encoded owner followed by exact data bytes; no native balance or executable flag. */
3
+ export declare function hashAccountState(owner: Address, data: Uint8Array): Promise<string>;
4
+ //# sourceMappingURL=account-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-state.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/account-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAE9D,6HAA6H;AAC7H,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,MAAM,CAAC,CASjB"}
@@ -0,0 +1,11 @@
1
+ import { getAddressEncoder } from '@solana/kit';
2
+ /** Legacy account-state digest: address-encoded owner followed by exact data bytes; no native balance or executable flag. */
3
+ export async function hashAccountState(owner, data) {
4
+ const ownerBytes = getAddressEncoder().encode(owner);
5
+ const canonical = new Uint8Array(ownerBytes.length + data.length);
6
+ canonical.set(ownerBytes);
7
+ canonical.set(data, ownerBytes.length);
8
+ const digest = new Uint8Array(await globalThis.crypto.subtle.digest('SHA-256', canonical));
9
+ return [...digest].map((byte) => byte.toString(16).padStart(2, '0')).join('');
10
+ }
11
+ //# sourceMappingURL=account-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-state.js","sourceRoot":"","sources":["../../../src/internal/planning/account-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAgB,MAAM,aAAa,CAAC;AAE9D,6HAA6H;AAC7H,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAc,EACd,IAAgB;IAEhB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAClE,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1B,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,UAAU,CAC3B,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,CAC5D,CAAC;IACF,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChF,CAAC"}