@aephia/atlas-kit 0.6.0-next.107 → 0.6.0-next.108

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 (33) hide show
  1. package/dist/cargo/actions/deposit.d.ts.map +1 -1
  2. package/dist/cargo/actions/deposit.js +22 -125
  3. package/dist/cargo/actions/deposit.js.map +1 -1
  4. package/dist/cargo/actions/wallet-context.d.ts +51 -2
  5. package/dist/cargo/actions/wallet-context.d.ts.map +1 -1
  6. package/dist/cargo/actions/wallet-context.js +125 -2
  7. package/dist/cargo/actions/wallet-context.js.map +1 -1
  8. package/dist/cargo/actions/wallet-token.d.ts +1 -6
  9. package/dist/cargo/actions/wallet-token.d.ts.map +1 -1
  10. package/dist/cargo/actions/wallet-token.js +0 -45
  11. package/dist/cargo/actions/wallet-token.js.map +1 -1
  12. package/dist/cargo/actions/withdrawal.d.ts.map +1 -1
  13. package/dist/cargo/actions/withdrawal.js +35 -162
  14. package/dist/cargo/actions/withdrawal.js.map +1 -1
  15. package/dist/fleets/actions/ship-import.d.ts.map +1 -1
  16. package/dist/fleets/actions/ship-import.js +31 -77
  17. package/dist/fleets/actions/ship-import.js.map +1 -1
  18. package/dist/internal/planning/original-token.d.ts +34 -0
  19. package/dist/internal/planning/original-token.d.ts.map +1 -0
  20. package/dist/internal/planning/original-token.js +98 -0
  21. package/dist/internal/planning/original-token.js.map +1 -0
  22. package/dist/internal/planning/ship-token.d.ts +1 -5
  23. package/dist/internal/planning/ship-token.d.ts.map +1 -1
  24. package/dist/internal/planning/ship-token.js +0 -36
  25. package/dist/internal/planning/ship-token.js.map +1 -1
  26. package/dist/internal/planning/starbase-player-owner.d.ts.map +1 -1
  27. package/dist/internal/planning/starbase-player-owner.js +5 -13
  28. package/dist/internal/planning/starbase-player-owner.js.map +1 -1
  29. package/dist/internal/planning/wallet-starbase.d.ts +34 -0
  30. package/dist/internal/planning/wallet-starbase.d.ts.map +1 -0
  31. package/dist/internal/planning/wallet-starbase.js +39 -0
  32. package/dist/internal/planning/wallet-starbase.js.map +1 -0
  33. package/package.json +1 -1
@@ -1,26 +1,11 @@
1
- import { RENT_ADDRESS, readRent } from '../../internal/planning/rent.js';
2
- import { SYSTEM_PROGRAM } from '../../internal/system-program.js';
3
- import { validateStarbaseSystem } from '../../internal/planning/starbase-system.js';
4
- import { AccountRole, getAddressEncoder, getProgramDerivedAddress, isOffCurveAddress, } from '@solana/kit';
1
+ import { isOffCurveAddress } from '@solana/kit';
5
2
  import { InvalidActionInputError } from '../../client/errors.js';
6
- import { readContextRawAccounts } from '../../client/reconciliation.js';
7
- import { SAGE_PROGRAM_ADDRESS } from '../../internal/c4/runtime-bindings.js';
8
- import { profileAccountDefinition } from '../../internal/c4/identity.js';
9
- import { characterAccountDefinition, findCharacterPda, } from '../../internal/c4/character.js';
10
- import { deriveStarbasePlayerAddress, starbasePlayerAccountDefinition, } from '../../internal/c4/starbase.js';
11
- import { starSystemAccountDefinition, deriveStarSystemAddress, } from '../../internal/c4/world.js';
12
3
  import { requireGameAddress } from '../../internal/game-context.js';
13
4
  import { adaptWithdrawCargoFromGameInstruction, validatePlanAuthorization, } from '../../internal/planning/authorization-adapter.js';
5
+ import { TOKEN_TRANSFER_DISCLOSURE, deriveAssociatedTokenAddress, isTokenMultisig, readTokenAccount, resolveAssociatedTokenCreation, } from '../../internal/planning/original-token.js';
14
6
  import { createPlan, } from '../../planning/index.js';
15
- import { readFreshGameCargoBytesConfiguration } from '../../registry/cargo.js';
16
- import { deriveWalletTokenAddress, failWalletCargo, validateWalletMint, validateWalletToken, ORIGINAL_TOKEN_PROGRAM, } from './wallet-token.js';
17
- import { observeWalletAccount, validateWalletCargoCache, } from './wallet-context.js';
18
- const ATA_PROGRAM = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';
19
- function required(account, address) {
20
- if (!account)
21
- failWalletCargo(`Required withdrawal account ${address} is missing. Register the player or initialize its prerequisites separately.`, address);
22
- return account;
23
- }
7
+ import { failWalletCargo } from './wallet-token.js';
8
+ import { observeWalletAccount, readWalletCargo, resolveWalletCargo, validateWalletCargoAmount, walletCargoGuards, } from './wallet-context.js';
24
9
  /** Plans an exact game-to-wallet withdrawal without signing or submitting.
25
10
  * Current verified game/token conversion is limited to zero-decimal cargo mints.
26
11
  * The recipient never signs merely to receive tokens. ATA creation is explicit,
@@ -41,130 +26,49 @@ function required(account, address) {
41
26
  */
42
27
  export async function planWithdrawCargoFromGame(ctx, starbase, options) {
43
28
  validatePlanAuthorization(options.authorization);
44
- if (typeof options.amount !== 'bigint' ||
45
- options.amount <= 0n ||
46
- options.amount > 18446744073709551615n)
47
- throw new InvalidActionInputError('amount', options.amount, 'a positive bigint in the unsigned u64 range', 'Supply an exact raw token amount as bigint.');
48
- if (!Number.isSafeInteger(options.cargoId) ||
49
- options.cargoId < 0 ||
50
- options.cargoId > 65535)
51
- throw new InvalidActionInputError('cargoId', options.cargoId, 'an unsigned u16 cargo ID', 'Choose an existing cargo definition ID.');
29
+ validateWalletCargoAmount(options.amount, options.cargoId);
52
30
  const creation = options.destinationAccount;
53
31
  if (creation && (creation.mode !== 'create-if-missing' || !creation.payer))
54
32
  throw new InvalidActionInputError('destinationAccount', creation, 'create-if-missing with an explicit payer', 'Provide an address-only payer to opt into canonical ATA creation.');
55
33
  const game = requireGameAddress(ctx);
56
- const character = await findCharacterPda(options.authorization.profile, game);
57
- const player = await deriveStarbasePlayerAddress(starbase.system.address, character);
58
- if (starbase.kind !== 'starbasePlayer' ||
59
- starbase.address !== player ||
60
- starbase.playerProfile.address !== options.authorization.profile ||
61
- starbase.character.address !== character)
62
- failWalletCargo('The loaded Starbase must belong to the authorized Profile and its canonical Character.', starbase.address);
63
- const config = await readFreshGameCargoBytesConfiguration(ctx, options.cargoId);
64
- const [cache, bump] = await getProgramDerivedAddress({
65
- programAddress: SAGE_PROGRAM_ADDRESS,
66
- seeds: [
67
- new TextEncoder().encode('CargoDefinitionsCache'),
68
- getAddressEncoder().encode(game),
69
- ],
70
- });
71
- if (config.cache !== cache)
72
- failWalletCargo('The configured cargo cache differs from the canonical Game cache.', config.cache);
73
- const canonicalDestination = await deriveWalletTokenAddress(options.recipient, config.cargo.mint);
34
+ const { profile } = options.authorization;
35
+ const cargo = await resolveWalletCargo(ctx, starbase, profile, options.cargoId, game);
36
+ const canonicalDestination = await deriveAssociatedTokenAddress(options.recipient, cargo.mint);
74
37
  const destination = options.destination ?? canonicalDestination;
75
- const source = await deriveWalletTokenAddress(cache, config.cargo.mint);
38
+ const source = cargo.vault;
76
39
  if (destination === source)
77
40
  failWalletCargo('The withdrawal destination is the shared Game vault itself. Choose a different recipient token account so the withdrawal actually transfers tokens out of the vault.', destination);
78
- const addresses = [
79
- options.authorization.profile,
80
- character,
81
- player,
82
- starbase.system.address,
83
- cache,
84
- config.cargo.mint,
85
- source,
86
- ];
87
- const candidates = await readContextRawAccounts(ctx, [
88
- ...addresses,
41
+ const { cacheData, characterRaw, decimals, extraAccounts: [destinationRaw, recipientRaw], playerData, playerRaw, profileRaw, systemGuard, vaultBalance: backing, } = await readWalletCargo(ctx, cargo, profile, game, 'withdrawal', [
89
42
  destination,
90
43
  options.recipient,
91
44
  ]);
92
- const accounts = addresses.map((address, index) => required(candidates[index], address));
93
- const [profileRaw, characterRaw, playerRaw, systemRaw, cacheRaw, mintRaw, vaultRaw,] = accounts;
94
- const destinationRaw = candidates[addresses.length];
95
- const recipientRaw = candidates[addresses.length + 1];
96
- profileAccountDefinition.decode(profileRaw);
97
- const characterData = characterAccountDefinition.decode(characterRaw);
98
- const playerData = starbasePlayerAccountDefinition.decode(playerRaw);
99
- const systemData = starSystemAccountDefinition.decode(systemRaw);
100
- if (characterData.game !== game ||
101
- characterData.playerProfile !== options.authorization.profile ||
102
- playerData.playerProfile !== options.authorization.profile ||
103
- playerData.character !== character ||
104
- playerData.system !== starbase.system.address ||
105
- systemData.game !== game ||
106
- (await deriveStarSystemAddress(game, systemData.systemId)) !==
107
- starbase.system.address)
108
- failWalletCargo('Fresh Profile, Character, System and player Starbase relationships do not match the configured Game.', player);
109
- const systemGuard = {
110
- kind: 'starbase-system',
111
- address: systemRaw.address,
112
- game,
113
- starbaseSequenceId: systemData.sequenceId,
114
- describes: 'The canonical Star System retains its active Starbase and generation; unrelated shared activity may change.',
115
- };
116
- await validateStarbaseSystem(systemRaw, systemGuard);
117
- const cacheData = validateWalletCargoCache(cacheRaw, game, bump);
118
- const decimals = validateWalletMint(mintRaw);
119
45
  if (decimals !== 0)
120
- failWalletCargo('Withdrawal game/token conversion for nonzero-decimal cargo mints is not verified. Use supported zero-decimal cargo until a bindings/program review establishes conversion.', config.cargo.mint);
121
- const backing = validateWalletToken(vaultRaw, config.cargo.mint, cache);
46
+ failWalletCargo('Withdrawal game/token conversion for nonzero-decimal cargo mints is not verified. Use supported zero-decimal cargo until a bindings/program review establishes conversion.', cargo.mint);
122
47
  if (destinationRaw)
123
- validateWalletToken(destinationRaw, config.cargo.mint, options.recipient);
124
- if (recipientRaw &&
125
- recipientRaw.data.length === 355 &&
126
- (recipientRaw.owner === ORIGINAL_TOKEN_PROGRAM ||
127
- recipientRaw.owner ===
128
- 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb'))
48
+ readTokenAccount(destinationRaw, cargo.mint, options.recipient, failWalletCargo);
49
+ if (isTokenMultisig(recipientRaw))
129
50
  failWalletCargo('Token multisig recipients are outside the supported wallet cargo contract.', options.recipient);
130
51
  const entitlement = playerData.cargo.amounts.find((item) => item.cargoId === options.cargoId)
131
52
  ?.amount ?? 0n;
132
53
  if (entitlement < options.amount)
133
- failWalletCargo(`Player Starbase cargo entitlement ${String(entitlement)} is below requested ${String(options.amount)}. Shared vault backing is not personal inventory. Reduce the amount.`, player);
54
+ failWalletCargo(`Player Starbase cargo entitlement ${String(entitlement)} is below requested ${String(options.amount)}. Shared vault backing is not personal inventory. Reduce the amount.`, cargo.player);
134
55
  if (backing < options.amount)
135
56
  failWalletCargo(`Shared Game vault backing ${String(backing)} is below requested ${String(options.amount)}. Retry after backing is restored.`, source);
136
- if (config.cargo.withdrawEpochDuration === 0)
57
+ if (cargo.config.cargo.withdrawEpochDuration === 0)
137
58
  failWalletCargo('Withdrawal of this cargo is disabled by the Game configuration.', game);
138
- if (options.amount > config.cargo.circuitBreaker)
139
- failWalletCargo(`Requested amount exceeds the configured per-epoch withdrawal cap ${String(config.cargo.circuitBreaker)}. Reduce the amount.`, cache);
59
+ if (options.amount > cargo.config.cargo.circuitBreaker)
60
+ failWalletCargo(`Requested amount exceeds the configured per-epoch withdrawal cap ${String(cargo.config.cargo.circuitBreaker)}. Reduce the amount.`, cargo.cache);
140
61
  const preconditions = await Promise.all([
141
62
  [profileRaw, 'Profile authorization'],
142
63
  [characterRaw, 'Character identity'],
143
64
  [playerRaw, 'personal Starbase inventory'],
144
65
  ...(recipientRaw ? [[recipientRaw, 'wallet authority']] : []),
145
66
  ].map(([account, role]) => observeWalletAccount(account, role)));
146
- preconditions.push(systemGuard, {
147
- kind: 'token-mint',
148
- address: mintRaw.address,
149
- decimals,
150
- describes: `Mint ${mintRaw.address} remains a valid initialized original Token Mint with unchanged decimals; supply and authorities may change.`,
151
- }, {
152
- kind: 'game-cargo-bytes-config',
153
- address: game,
154
- cargoId: options.cargoId,
155
- configHash: config.configHash,
156
- describes: 'The selected cargo’s full encoded configuration, including its stored name, and cache identity remain unchanged; unrelated Game changes are allowed.',
157
- }, {
158
- kind: 'cargo-cache',
159
- address: cache,
160
- game,
161
- bump,
162
- describes: 'The canonical cargo cache retains valid Game identity and layout; counters may change.',
163
- }, {
67
+ preconditions.push(systemGuard, ...walletCargoGuards(cargo, options.cargoId, game, decimals), {
164
68
  kind: 'token-account',
165
69
  address: source,
166
- mint: config.cargo.mint,
167
- owner: cache,
70
+ mint: cargo.mint,
71
+ owner: cargo.cache,
168
72
  minimumBalance: options.amount,
169
73
  describes: 'The existing shared vault remains a valid original Token account with sufficient raw tokens.',
170
74
  }, ...(destinationRaw
@@ -172,7 +76,7 @@ export async function planWithdrawCargoFromGame(ctx, starbase, options) {
172
76
  {
173
77
  kind: 'token-account',
174
78
  address: destination,
175
- mint: config.cargo.mint,
79
+ mint: cargo.mint,
176
80
  owner: options.recipient,
177
81
  minimumBalance: 0n,
178
82
  describes: 'The existing destination remains a valid original Token account; incoming tokens are allowed.',
@@ -191,67 +95,36 @@ export async function planWithdrawCargoFromGame(ctx, starbase, options) {
191
95
  failWalletCargo('The destination token account is missing. Create custom accounts separately or explicitly opt into canonical ATA creation with a payer.', destination);
192
96
  if (isOffCurveAddress(creation.payer))
193
97
  failWalletCargo('ATA creation payer must be a directly signing address.', creation.payer);
194
- const extraAddresses = [
195
- RENT_ADDRESS,
196
- creation.payer,
197
- ATA_PROGRAM,
198
- SYSTEM_PROGRAM,
199
- ORIGINAL_TOKEN_PROGRAM,
200
- ];
201
- const extraCandidates = await readContextRawAccounts(ctx, extraAddresses);
202
- const extra = extraAddresses.map((address, index) => required(extraCandidates[index], address));
203
- const [rent, payer, ...programs] = extra;
204
- if (programs.some((program) => !program.executable))
205
- failWalletCargo('Associated-token creation requires executable associated-token, System and original Token programs in this deployment.', ATA_PROGRAM);
206
- // Original SPL Token accounts occupy 165 bytes; the shared Rent reader
207
- // includes the 128-byte account overhead and validates the full sysvar.
208
- const storageFunding = readRent(rent)(165);
209
- if (payer.owner !== SYSTEM_PROGRAM ||
210
- payer.executable ||
211
- payer.data.length !== 0 ||
212
- payer.lamports < storageFunding)
213
- failWalletCargo(`ATA payer must be a System wallet with at least ${String(storageFunding)} lamports for storage, in addition to transaction fees.`, creation.payer);
214
- preconditions.push(...(await Promise.all(extra.map((account, index) => observeWalletAccount(account, [
215
- 'Rent configuration',
216
- 'ATA payer identity',
217
- 'associated-token program',
218
- 'System program',
219
- 'Token program',
220
- ][index])))), {
98
+ const ata = await resolveAssociatedTokenCreation(ctx, {
99
+ payer: creation.payer,
100
+ address: destination,
101
+ owner: options.recipient,
102
+ mint: cargo.mint,
103
+ }, failWalletCargo, observeWalletAccount);
104
+ preconditions.push(...ata.preconditions, {
221
105
  kind: 'token-account-or-absent',
222
106
  address: destination,
223
- mint: config.cargo.mint,
107
+ mint: cargo.mint,
224
108
  owner: options.recipient,
225
109
  describes: 'The canonical recipient ATA is absent or a valid initialized unfrozen original Token account for this exact mint and recipient.',
226
110
  });
227
111
  steps.push({
228
- describes: `Create the canonical recipient ATA ${destination} idempotently. Payer ${creation.payer} funds ${String(storageFunding)} lamports of rent-exempt storage if still absent; this is separate from transaction fees.`,
112
+ describes: `Create the canonical recipient ATA ${destination} idempotently. Payer ${creation.payer} funds ${String(ata.storageFunding)} lamports of rent-exempt storage if still absent; this is separate from transaction fees.`,
229
113
  signers: [creation.payer],
230
- instruction: {
231
- programAddress: ATA_PROGRAM,
232
- accounts: [
233
- { address: creation.payer, role: AccountRole.WRITABLE_SIGNER },
234
- { address: destination, role: AccountRole.WRITABLE },
235
- { address: options.recipient, role: AccountRole.READONLY },
236
- { address: config.cargo.mint, role: AccountRole.READONLY },
237
- { address: SYSTEM_PROGRAM, role: AccountRole.READONLY },
238
- { address: ORIGINAL_TOKEN_PROGRAM, role: AccountRole.READONLY },
239
- ],
240
- data: new Uint8Array([1]),
241
- },
114
+ instruction: ata.instruction,
242
115
  });
243
116
  }
244
117
  const epoch = cacheData.cargoTypeCache.get(options.cargoId);
245
- const describes = `Withdraw ${String(options.amount)} raw token units of cargo ${String(options.cargoId)} from shared Game vault ${source} to ${destination}, owned by explicit recipient ${options.recipient}; debit the same verified zero-decimal quantity from player Starbase ${player}. Profile authority ${options.authorization.authority} signs; receiving does not require a recipient signature. Epoch duration ${String(config.cargo.withdrawEpochDuration)}, cap ${String(config.cargo.circuitBreaker)}; ${epoch ? `observed cache epoch ${String(epoch.currentEpoch)}, total withdrawn ${String(epoch.totalWithdrawn)}` : 'no retained cargo epoch entry'}. No remaining-epoch budget is predicted. Permissions, rollover, competing withdrawals and final balances remain chain-authoritative; simulate before signing. Transaction fees are paid separately by the execution fee payer. System identity and active Starbase generation are rechecked before signing; unrelated System combat, shield, health and hab activity is not equality-bound. Execution access checks remain chain-authoritative, not a client-side atomicity guarantee. Mint supply and authorities may change; initialized original Token mint layout and decimals are rechecked before signing.${recipientRaw ? '' : ' An absent recipient wallet may receive native funding as an empty, non-executable System account.'}`;
118
+ const describes = `Withdraw ${String(options.amount)} raw token units of cargo ${String(options.cargoId)} from shared Game vault ${source} to ${destination}, owned by explicit recipient ${options.recipient}; debit the same verified zero-decimal quantity from player Starbase ${cargo.player}. Profile authority ${options.authorization.authority} signs; receiving does not require a recipient signature. Epoch duration ${String(cargo.config.cargo.withdrawEpochDuration)}, cap ${String(cargo.config.cargo.circuitBreaker)}; ${epoch ? `observed cache epoch ${String(epoch.currentEpoch)}, total withdrawn ${String(epoch.totalWithdrawn)}` : 'no retained cargo epoch entry'}. No remaining-epoch budget is predicted. Permissions, rollover, competing withdrawals and final balances remain chain-authoritative; simulate before signing. Transaction fees are paid separately by the execution fee payer. ${TOKEN_TRANSFER_DISCLOSURE}${recipientRaw ? '' : ' An absent recipient wallet may receive native funding as an empty, non-executable System account.'}`;
246
119
  steps.push({
247
120
  describes,
248
121
  signers: [options.authorization.authority],
249
122
  instruction: adaptWithdrawCargoFromGameInstruction({
250
123
  authorization: options.authorization,
251
- systemAndStarbasePlayerSystem: starbase.system.address,
252
- systemAndStarbasePlayerStarbasePlayer: player,
124
+ systemAndStarbasePlayerSystem: cargo.system,
125
+ systemAndStarbasePlayerStarbasePlayer: cargo.player,
253
126
  game,
254
- cargoCache: cache,
127
+ cargoCache: cargo.cache,
255
128
  source,
256
129
  destination,
257
130
  amount: options.amount,
@@ -1 +1 @@
1
- {"version":3,"file":"withdrawal.js","sourceRoot":"","sources":["../../../src/cargo/actions/withdrawal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"withdrawal.js","sourceRoot":"","sources":["../../../src/cargo/actions/withdrawal.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ship-import.d.ts","sourceRoot":"","sources":["../../../src/fleets/actions/ship-import.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgC,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,KAAK,EAAc,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAkBtD,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,kDAAkD,CAAC;AAgB1D,OAAO,EAEL,KAAK,IAAI,EAGV,MAAM,yBAAyB,CAAC;AAEjC,UAAU,wBAAwB;IAChC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;CAC1C;AACD;;;;;;;;GAQG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE;QACvB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;QACnC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;KACzB,CAAC;CACH;AA2GD;;;;;;;;;;;;GAYG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,wBAAwB,EAClC,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,IAAI,CAAC,CAyUf"}
1
+ {"version":3,"file":"ship-import.d.ts","sourceRoot":"","sources":["../../../src/fleets/actions/ship-import.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgC,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,KAAK,EAAc,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKtD,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,kDAAkD,CAAC;AAqB1D,OAAO,EAEL,KAAK,IAAI,EAGV,MAAM,yBAAyB,CAAC;AAEjC,UAAU,wBAAwB;IAChC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;CAC1C;AACD;;;;;;;;GAQG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE;QACvB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;QACnC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;KACzB,CAAC;CACH;AA2GD;;;;;;;;;;;;GAYG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,wBAAwB,EAClC,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,IAAI,CAAC,CA2Qf"}
@@ -1,20 +1,17 @@
1
- import { SYSTEM_PROGRAM } from '../../internal/system-program.js';
2
- import { validateStarbaseSystem } from '../../internal/planning/starbase-system.js';
3
1
  import { resolveShipImportFunding, validateShipImportFunding, } from '../../internal/planning/ship-import-funding.js';
4
2
  import { isAddress, isOffCurveAddress } from '@solana/kit';
5
3
  import { InvalidActionInputError } from '../../client/errors.js';
6
4
  import { readContextRawAccounts } from '../../client/reconciliation.js';
7
- import { profileAccountDefinition } from '../../internal/c4/identity.js';
8
- import { characterAccountDefinition, findCharacterPda, } from '../../internal/c4/character.js';
9
- import { deriveStarbasePlayerAddress, starbasePlayerAccountDefinition, } from '../../internal/c4/starbase.js';
10
- import { deriveStarSystemAddress, starSystemAccountDefinition, } from '../../internal/c4/world.js';
11
5
  import { PLAYER_PROFILE_PROGRAM_ADDRESS } from '../../internal/c4/faction-enrollment.js';
12
6
  import { requireGameAddress } from '../../internal/game-context.js';
13
7
  import { adaptAddShipEscrowInstruction, validatePlanAuthorization, } from '../../internal/planning/authorization-adapter.js';
14
8
  import { hashAccountState } from '../../internal/planning/account-state.js';
15
9
  import { readClock, CLOCK_ADDRESS, } from '../../internal/planning/faction-enrollment.js';
16
- import { readRent, RENT_ADDRESS } from '../../internal/planning/rent.js';
17
- import { deriveShipTokenAddress, validateShipMint, validateShipToken, failShipImport, ORIGINAL_TOKEN_PROGRAM, ATA_PROGRAM, } from '../../internal/planning/ship-token.js';
10
+ import { RENT_ADDRESS } from '../../internal/planning/rent.js';
11
+ import { TOKEN_TRANSFER_DISCLOSURE, deriveAssociatedTokenAddress, isTokenMultisig, readTokenAccount, resolveAssociatedTokenCreation, } from '../../internal/planning/original-token.js';
12
+ import { validateShipMint, failShipImport, } from '../../internal/planning/ship-token.js';
13
+ import { requireProfileStarbasePlayer } from '../../internal/planning/starbase-player-owner.js';
14
+ import { validateWalletStarbase } from '../../internal/planning/wallet-starbase.js';
18
15
  import { readFreshGameShipConfiguration } from '../../registry/ships.js';
19
16
  import { createPlan, } from '../../planning/index.js';
20
17
  function address(value) {
@@ -122,13 +119,9 @@ export async function planDepositShipsToGame(ctx, starbase, options) {
122
119
  playerProfile: { ...starbase.playerProfile },
123
120
  };
124
121
  const { authorization, owner, shipId, amount } = options;
125
- const game = requireGameAddress(ctx), character = await findCharacterPda(authorization.profile, game), player = await deriveStarbasePlayerAddress(starbase.system.address, character);
126
- if (starbase.address !== player ||
127
- starbase.character.address !== character ||
128
- starbase.playerProfile.address !== authorization.profile)
129
- failShipImport('The loaded StarbasePlayer must be the canonical registration for the authorized Profile and Character.', starbase.address);
122
+ const game = requireGameAddress(ctx), character = await requireProfileStarbasePlayer(starbase, authorization.profile, game), player = starbase.address;
130
123
  const config = await readFreshGameShipConfiguration(ctx, shipId), mint = config.ship.mint;
131
- const source = options.source ?? (await deriveShipTokenAddress(owner, mint)), escrow = await deriveShipTokenAddress(character, mint);
124
+ const source = options.source ?? (await deriveAssociatedTokenAddress(owner, mint)), escrow = await deriveAssociatedTokenAddress(character, mint);
132
125
  if (source === escrow)
133
126
  failShipImport('Source and Character escrow must be different token accounts.', source);
134
127
  const addresses = [
@@ -146,28 +139,18 @@ export async function planDepositShipsToGame(ctx, starbase, options) {
146
139
  const values = await readContextRawAccounts(ctx, addresses);
147
140
  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');
148
141
  const escrowRaw = values[8], ownerRaw = values[9];
149
- for (const raw of [profileRaw, characterRaw, playerRaw, systemRaw])
150
- if (raw.executable)
151
- failShipImport('A gameplay prerequisite is executable rather than account state.', raw.address);
152
- const p = profileAccountDefinition.decode(profileRaw), c = characterAccountDefinition.decode(characterRaw), s = starbasePlayerAccountDefinition.decode(playerRaw), w = starSystemAccountDefinition.decode(systemRaw);
153
- if (c.playerProfile !== authorization.profile ||
154
- c.game !== game ||
155
- s.playerProfile !== authorization.profile ||
156
- s.character !== character ||
157
- s.system !== starbase.system.address ||
158
- w.game !== game ||
159
- (await deriveStarSystemAddress(game, w.systemId)) !==
160
- starbase.system.address)
161
- failShipImport('Fresh Character, StarbasePlayer and System relationships must match the configured Game and authorized Profile.', player);
162
- const systemGuard = {
163
- kind: 'starbase-system',
164
- address: systemRaw.address,
142
+ const { playerData: s, profileData: p, systemGuard, } = await validateWalletStarbase({
143
+ profile: profileRaw,
144
+ character: characterRaw,
145
+ player: playerRaw,
146
+ system: systemRaw,
147
+ }, {
165
148
  game,
166
- starbaseSequenceId: w.sequenceId,
149
+ profile: authorization.profile,
150
+ character,
151
+ system: starbase.system.address,
167
152
  requireCss: true,
168
- describes: 'The canonical Star System retains its active Starbase and generation as a Central Space Station; unrelated shared activity may change.',
169
- };
170
- await validateStarbaseSystem(systemRaw, systemGuard);
153
+ }, failShipImport);
171
154
  const key = p.keys[authorization.keyIndex], now = readClock(clockRaw);
172
155
  if (!key ||
173
156
  key.address !== authorization.authority ||
@@ -176,13 +159,10 @@ export async function planDepositShipsToGame(ctx, starbase, options) {
176
159
  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);
177
160
  if (key.expiresAtRaw >= 0n && key.expiresAtRaw < now)
178
161
  failShipImport('The selected Profile key has expired. Choose a current AUTH key.', profileRaw.address);
179
- if (ownerRaw &&
180
- ownerRaw.data.length === 355 &&
181
- (ownerRaw.owner === ORIGINAL_TOKEN_PROGRAM ||
182
- ownerRaw.owner === 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb'))
162
+ if (isTokenMultisig(ownerRaw))
183
163
  failShipImport('Token multisig owners are unsupported. Use a directly signing token owner.', owner);
184
164
  validateShipMint(mintRaw);
185
- const sourceAmount = validateShipToken(sourceRaw, mint, owner);
165
+ const sourceAmount = readTokenAccount(sourceRaw, mint, owner, failShipImport);
186
166
  if (sourceAmount < amount)
187
167
  failShipImport(`Source has ${sourceAmount} ships but import requests ${amount}. Reduce the amount.`, source);
188
168
  const existingCredit = s.shipsInEscrow.find((item) => item.shipId === shipId);
@@ -197,7 +177,6 @@ export async function planDepositShipsToGame(ctx, starbase, options) {
197
177
  };
198
178
  const resolvedFunding = await resolveShipImportFunding(fundingIntent);
199
179
  const { profileDebit: growthFunding } = validateShipImportFunding(fundingIntent, resolvedFunding, new Map(addresses.map((address, index) => [address, values[index]])));
200
- const minimum = readRent(rentRaw);
201
180
  const preconditions = [
202
181
  systemGuard,
203
182
  {
@@ -244,7 +223,7 @@ export async function planDepositShipsToGame(ctx, starbase, options) {
244
223
  const steps = [];
245
224
  let ataFunding = 0n;
246
225
  if (escrowRaw) {
247
- const balance = validateShipToken(escrowRaw, mint, character);
226
+ const balance = readTokenAccount(escrowRaw, mint, character, failShipImport);
248
227
  if (balance + amount > (1n << 64n) - 1n)
249
228
  failShipImport('Escrow token balance would exceed u64 capacity. Reduce the amount.', escrow);
250
229
  preconditions.push({
@@ -260,29 +239,15 @@ export async function planDepositShipsToGame(ctx, starbase, options) {
260
239
  const creation = options.escrowAccount;
261
240
  if (!creation)
262
241
  failShipImport('Character ship escrow is missing. Explicitly select escrowAccount create-if-missing with a payer or create it separately.', escrow);
263
- const extraAddresses = [
264
- creation.payer,
265
- ATA_PROGRAM,
266
- SYSTEM_PROGRAM,
267
- ORIGINAL_TOKEN_PROGRAM,
268
- ];
269
- const extraValues = await readContextRawAccounts(ctx, extraAddresses);
270
- const extras = extraAddresses.map((a, i) => required(extraValues[i], a, 'ATA prerequisite'));
271
- const payer = extras[0];
272
- ataFunding = minimum(165);
273
- if (payer.owner !== SYSTEM_PROGRAM ||
274
- payer.executable ||
275
- payer.data.length !== 0 ||
276
- payer.lamports < ataFunding)
277
- failShipImport(`ATA payer must be a System wallet with at least ${ataFunding} native lamports for escrow storage plus separate fees.`, creation.payer);
278
- if (extras.slice(1).some((a) => !a.executable))
279
- failShipImport('ATA creation requires executable associated-token, System and original Token programs.', ATA_PROGRAM);
280
- preconditions.push(...(await Promise.all(extras.map((raw, i) => observe(raw, [
281
- 'ATA payer identity',
282
- 'Associated-token program',
283
- 'System program',
284
- 'Token program',
285
- ][i])))), {
242
+ const ata = await resolveAssociatedTokenCreation(ctx, {
243
+ payer: creation.payer,
244
+ address: escrow,
245
+ owner: character,
246
+ mint,
247
+ rent: rentRaw,
248
+ }, failShipImport, observe);
249
+ ataFunding = ata.storageFunding;
250
+ preconditions.push(...ata.preconditions, {
286
251
  kind: 'token-account-or-absent',
287
252
  address: escrow,
288
253
  mint,
@@ -290,23 +255,12 @@ export async function planDepositShipsToGame(ctx, starbase, options) {
290
255
  describes: 'Explicit idempotent creation permits an absent or already valid canonical Character ATA.',
291
256
  });
292
257
  steps.push({
293
- instruction: {
294
- programAddress: ATA_PROGRAM,
295
- accounts: [
296
- { address: creation.payer, role: 3 },
297
- { address: escrow, role: 1 },
298
- { address: character, role: 0 },
299
- { address: mint, role: 0 },
300
- { address: SYSTEM_PROGRAM, role: 0 },
301
- { address: ORIGINAL_TOKEN_PROGRAM, role: 0 },
302
- ],
303
- data: Uint8Array.of(1),
304
- },
258
+ instruction: ata.instruction,
305
259
  signers: [creation.payer],
306
260
  describes: `Create the canonical Character ship ATA idempotently; payer ${creation.payer} provides observed storage funding ${ataFunding} native lamports, separate from transaction fees.`,
307
261
  });
308
262
  }
309
- 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. The actual Profile debit and its rent reserve are rechecked before signing within the approved storage ceiling; compatible creation/assembly debits are combined per Profile. Different ship configurations for one StarbasePlayer require separate confirmed imports. 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. System identity, active Starbase generation and applicable CSS requirements are rechecked before signing; unrelated System combat, shield, health and hab activity is not equality-bound. Execution access checks remain chain-authoritative, not a client-side atomicity guarantee. Mint supply and authorities may change; initialized original Token mint layout and decimals are rechecked before signing.${ownerRaw ? '' : ' An absent token owner wallet may receive native funding as an empty, non-executable System account.'}`;
263
+ 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. The actual Profile debit and its rent reserve are rechecked before signing within the approved storage ceiling; compatible creation/assembly debits are combined per Profile. Different ship configurations for one StarbasePlayer require separate confirmed imports. 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. ${TOKEN_TRANSFER_DISCLOSURE}${ownerRaw ? '' : ' An absent token owner wallet may receive native funding as an empty, non-executable System account.'}`;
310
264
  steps.push({
311
265
  instruction: adaptAddShipEscrowInstruction({
312
266
  authorization,
@@ -1 +1 @@
1
- {"version":3,"file":"ship-import.js","sourceRoot":"","sources":["../../../src/fleets/actions/ship-import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ship-import.js","sourceRoot":"","sources":["../../../src/fleets/actions/ship-import.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { type Address, type Instruction } from '@solana/kit';
2
+ import type { RawAccount, SageContext } from '../../client/contracts.js';
3
+ import type { PlanPrecondition } from '../../planning/index.js';
4
+ export declare const ORIGINAL_TOKEN_PROGRAM: Address;
5
+ export declare const ATA_PROGRAM: Address;
6
+ /** Rejects with the calling planner's wording and remedy. */
7
+ type Fail = (message: string, address: Address) => never;
8
+ /** What a wallet token transfer Plan rechecks and leaves to the chain. */
9
+ export declare const TOKEN_TRANSFER_DISCLOSURE = "System identity, active Starbase generation and applicable CSS requirements are rechecked before signing; unrelated System combat, shield, health and hab activity is not equality-bound. Execution access checks remain chain-authoritative, not a client-side atomicity guarantee. Mint supply and authorities may change; initialized original Token mint layout and decimals are rechecked before signing.";
10
+ /** The canonical associated token account of `owner` for an original Token `mint`. */
11
+ export declare function deriveAssociatedTokenAddress(owner: Address, mint: Address): Promise<Address>;
12
+ /** Whether a wallet is an original or Token-2022 multisig authority, which
13
+ * needs signer semantics outside the single-owner wallet planners. */
14
+ export declare function isTokenMultisig(account: RawAccount | undefined): boolean;
15
+ /** Requires an initialized, unfrozen original Token account of `mint` owned
16
+ * by `owner` and returns its raw balance. A recorded delegate does not prevent
17
+ * the owner from transferring, so it is accepted. */
18
+ export declare function readTokenAccount(account: RawAccount, mint: Address, owner: Address, fail: Fail): bigint;
19
+ /** Validates an explicit payer for idempotent canonical ATA creation and
20
+ * returns the creation instruction, its storage funding, and the payer, Rent
21
+ * and program observations. Reads Rent unless the caller already holds it. */
22
+ export declare function resolveAssociatedTokenCreation(ctx: SageContext, request: {
23
+ readonly payer: Address;
24
+ readonly address: Address;
25
+ readonly owner: Address;
26
+ readonly mint: Address;
27
+ readonly rent?: RawAccount;
28
+ }, fail: Fail, observe: (account: RawAccount, role: string) => Promise<PlanPrecondition>): Promise<{
29
+ readonly instruction: Instruction;
30
+ readonly preconditions: readonly PlanPrecondition[];
31
+ readonly storageFunding: bigint;
32
+ }>;
33
+ export {};
34
+ //# sourceMappingURL=original-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"original-token.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/original-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,OAAO,EACZ,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAEzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIhE,eAAO,MAAM,sBAAsB,EACgB,OAAO,CAAC;AAC3D,eAAO,MAAM,WAAW,EAC4B,OAAO,CAAC;AAI5D,6DAA6D;AAC7D,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,KAAK,CAAC;AAEzD,0EAA0E;AAC1E,eAAO,MAAM,yBAAyB,mZAC4W,CAAC;AAEnZ,sFAAsF;AACtF,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,OAAO,CAAC,CAWlB;AAED;sEACsE;AACtE,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAOxE;AAED;;qDAEqD;AACrD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,IAAI,GACT,MAAM,CAwBR;AAED;;8EAE8E;AAC9E,wBAAsB,8BAA8B,CAClD,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE;IACP,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;CAC5B,EACD,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,GACxE,OAAO,CAAC;IACT,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACpD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC,CAAC,CAgED"}