@aephia/atlas-kit 0.6.0-next.106 → 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 (43) 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/claim-stakes/actions/index.d.ts.map +1 -1
  16. package/dist/claim-stakes/actions/index.js +2 -11
  17. package/dist/claim-stakes/actions/index.js.map +1 -1
  18. package/dist/crafting/actions/index.d.ts.map +1 -1
  19. package/dist/crafting/actions/index.js +5 -11
  20. package/dist/crafting/actions/index.js.map +1 -1
  21. package/dist/fleets/actions/ship-import.d.ts.map +1 -1
  22. package/dist/fleets/actions/ship-import.js +31 -77
  23. package/dist/fleets/actions/ship-import.js.map +1 -1
  24. package/dist/internal/planning/original-token.d.ts +34 -0
  25. package/dist/internal/planning/original-token.d.ts.map +1 -0
  26. package/dist/internal/planning/original-token.js +98 -0
  27. package/dist/internal/planning/original-token.js.map +1 -0
  28. package/dist/internal/planning/ship-token.d.ts +1 -5
  29. package/dist/internal/planning/ship-token.d.ts.map +1 -1
  30. package/dist/internal/planning/ship-token.js +0 -36
  31. package/dist/internal/planning/ship-token.js.map +1 -1
  32. package/dist/internal/planning/starbase-player-owner.d.ts +21 -0
  33. package/dist/internal/planning/starbase-player-owner.d.ts.map +1 -0
  34. package/dist/internal/planning/starbase-player-owner.js +17 -0
  35. package/dist/internal/planning/starbase-player-owner.js.map +1 -0
  36. package/dist/internal/planning/wallet-starbase.d.ts +34 -0
  37. package/dist/internal/planning/wallet-starbase.d.ts.map +1 -0
  38. package/dist/internal/planning/wallet-starbase.js +39 -0
  39. package/dist/internal/planning/wallet-starbase.js.map +1 -0
  40. package/dist/markets/actions/index.d.ts.map +1 -1
  41. package/dist/markets/actions/index.js +91 -130
  42. package/dist/markets/actions/index.js.map +1 -1
  43. package/package.json +1 -1
@@ -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"}
@@ -0,0 +1,98 @@
1
+ import { AccountRole, getAddressDecoder, getAddressEncoder, getProgramDerivedAddress, } from '@solana/kit';
2
+ import { readContextRawAccounts } from '../../client/reconciliation.js';
3
+ import { SYSTEM_PROGRAM } from '../system-program.js';
4
+ import { RENT_ADDRESS, readRent } from './rent.js';
5
+ export const ORIGINAL_TOKEN_PROGRAM = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA';
6
+ export const ATA_PROGRAM = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';
7
+ const TOKEN_2022_PROGRAM = 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb';
8
+ /** What a wallet token transfer Plan rechecks and leaves to the chain. */
9
+ export 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 async function deriveAssociatedTokenAddress(owner, mint) {
12
+ const encoder = getAddressEncoder();
13
+ const [address] = await getProgramDerivedAddress({
14
+ programAddress: ATA_PROGRAM,
15
+ seeds: [
16
+ encoder.encode(owner),
17
+ encoder.encode(ORIGINAL_TOKEN_PROGRAM),
18
+ encoder.encode(mint),
19
+ ],
20
+ });
21
+ return address;
22
+ }
23
+ /** Whether a wallet is an original or Token-2022 multisig authority, which
24
+ * needs signer semantics outside the single-owner wallet planners. */
25
+ export function isTokenMultisig(account) {
26
+ return (account !== undefined &&
27
+ account.data.length === 355 &&
28
+ (account.owner === ORIGINAL_TOKEN_PROGRAM ||
29
+ account.owner === TOKEN_2022_PROGRAM));
30
+ }
31
+ /** Requires an initialized, unfrozen original Token account of `mint` owned
32
+ * by `owner` and returns its raw balance. A recorded delegate does not prevent
33
+ * the owner from transferring, so it is accepted. */
34
+ export function readTokenAccount(account, mint, owner, fail) {
35
+ const { address, data } = account;
36
+ const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
37
+ if (account.executable ||
38
+ account.owner !== ORIGINAL_TOKEN_PROGRAM ||
39
+ data.length !== 165 ||
40
+ [72, 109, 129].some((offset) => view.getUint32(offset, true) > 1))
41
+ fail(`Account ${address} must be a well-formed original Token account of exactly 165 bytes; Token-2022 and multisig layouts are unsupported.`, address);
42
+ const decoder = getAddressDecoder();
43
+ if (view.getUint8(108) !== 1 ||
44
+ decoder.decode(data.subarray(0, 32)) !== mint ||
45
+ decoder.decode(data.subarray(32, 64)) !== owner)
46
+ fail(`Token account ${address} must be initialized, unfrozen and hold mint ${mint} under owner ${owner}; delegated spending is unsupported.`, address);
47
+ return view.getBigUint64(64, true);
48
+ }
49
+ /** Validates an explicit payer for idempotent canonical ATA creation and
50
+ * returns the creation instruction, its storage funding, and the payer, Rent
51
+ * and program observations. Reads Rent unless the caller already holds it. */
52
+ export async function resolveAssociatedTokenCreation(ctx, request, fail, observe) {
53
+ const addresses = [
54
+ request.payer,
55
+ ATA_PROGRAM,
56
+ SYSTEM_PROGRAM,
57
+ ORIGINAL_TOKEN_PROGRAM,
58
+ ...(request.rent === undefined ? [RENT_ADDRESS] : []),
59
+ ];
60
+ const accounts = (await readContextRawAccounts(ctx, addresses)).map((account, index) => account ??
61
+ fail(`ATA creation prerequisite ${addresses[index]} is missing. Create or fund it separately.`, addresses[index]));
62
+ const [payer, ...programs] = accounts.slice(0, 4);
63
+ const rent = request.rent ?? accounts[4];
64
+ if (programs.some((program) => !program.executable))
65
+ fail('ATA creation requires executable associated-token, System and original Token programs in this deployment.', ATA_PROGRAM);
66
+ // Original Token accounts occupy 165 bytes; the shared Rent reader includes
67
+ // the 128-byte account overhead and validates the full sysvar.
68
+ const storageFunding = readRent(rent)(165);
69
+ if (payer.owner !== SYSTEM_PROGRAM ||
70
+ payer.executable ||
71
+ payer.data.length !== 0 ||
72
+ payer.lamports < storageFunding)
73
+ fail(`ATA payer must be a System wallet with at least ${storageFunding} lamports for storage, in addition to transaction fees.`, request.payer);
74
+ const roles = [
75
+ 'ATA payer identity',
76
+ 'Associated-token program',
77
+ 'System program',
78
+ 'Token program',
79
+ 'Rent configuration',
80
+ ];
81
+ return {
82
+ instruction: {
83
+ programAddress: ATA_PROGRAM,
84
+ accounts: [
85
+ { address: request.payer, role: AccountRole.WRITABLE_SIGNER },
86
+ { address: request.address, role: AccountRole.WRITABLE },
87
+ { address: request.owner, role: AccountRole.READONLY },
88
+ { address: request.mint, role: AccountRole.READONLY },
89
+ { address: SYSTEM_PROGRAM, role: AccountRole.READONLY },
90
+ { address: ORIGINAL_TOKEN_PROGRAM, role: AccountRole.READONLY },
91
+ ],
92
+ data: Uint8Array.of(1),
93
+ },
94
+ preconditions: await Promise.all(accounts.map((account, index) => observe(account, roles[index]))),
95
+ storageFunding,
96
+ };
97
+ }
98
+ //# sourceMappingURL=original-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"original-token.js","sourceRoot":"","sources":["../../../src/internal/planning/original-token.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,5 @@
1
- import { type Address } from '@solana/kit';
1
+ import type { Address } from '@solana/kit';
2
2
  import type { RawAccount } from '../../client/contracts.js';
3
- export declare const ORIGINAL_TOKEN_PROGRAM: Address;
4
- export declare const ATA_PROGRAM: Address;
5
3
  export declare function failShipImport(message: string, address: Address): never;
6
- export declare function deriveShipTokenAddress(owner: Address, mint: Address): Promise<Address>;
7
4
  export declare function validateShipMint(account: RawAccount): void;
8
- export declare function validateShipToken(account: RawAccount, mint: Address, owner: Address): bigint;
9
5
  //# sourceMappingURL=ship-token.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ship-token.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/ship-token.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,OAAO,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,eAAO,MAAM,sBAAsB,EACgB,OAAO,CAAC;AAC3D,eAAO,MAAM,WAAW,EAC4B,OAAO,CAAC;AAC5D,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAMvE;AACD,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,OAAO,CAAC,CAYlB;AAwBD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAM1D;AACD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,OAAO,GACb,MAAM,CAcR"}
1
+ {"version":3,"file":"ship-token.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/ship-token.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAMvE;AACD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAM1D"}
@@ -1,46 +1,10 @@
1
1
  import { validateTokenMint } from './token-mint.js';
2
- import { getAddressDecoder, getAddressEncoder, getProgramDerivedAddress, } from '@solana/kit';
3
2
  import { SageSdkError } from '../../client/errors.js';
4
- export const ORIGINAL_TOKEN_PROGRAM = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA';
5
- export const ATA_PROGRAM = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';
6
3
  export function failShipImport(message, address) {
7
4
  throw new SageSdkError('ACTION_PRECONDITION_FAILED', `${message} Refresh the relevant accounts and prepare a new ship import Plan.`, { address });
8
5
  }
9
- export async function deriveShipTokenAddress(owner, mint) {
10
- const encoder = getAddressEncoder();
11
- return (await getProgramDerivedAddress({
12
- programAddress: ATA_PROGRAM,
13
- seeds: [
14
- encoder.encode(owner),
15
- encoder.encode(ORIGINAL_TOKEN_PROGRAM),
16
- encoder.encode(mint),
17
- ],
18
- }))[0];
19
- }
20
- function bytes(account, length) {
21
- if (account.executable ||
22
- account.owner !== ORIGINAL_TOKEN_PROGRAM ||
23
- account.data.length !== length)
24
- failShipImport(`Account ${account.address} must be an original Token account with exactly ${length} bytes; Token-2022 is unsupported.`, account.address);
25
- return new DataView(account.data.buffer, account.data.byteOffset, account.data.byteLength);
26
- }
27
- function option(view, offset, account) {
28
- if (view.getUint32(offset, true) > 1)
29
- failShipImport('The Token account has malformed optional fields.', account.address);
30
- }
31
6
  export function validateShipMint(account) {
32
7
  if (validateTokenMint(account) !== 0)
33
8
  failShipImport('Ship import requires an initialized zero-decimal mint so each token is one ship.', account.address);
34
9
  }
35
- export function validateShipToken(account, mint, owner) {
36
- const view = bytes(account, 165);
37
- for (const offset of [72, 109, 129])
38
- option(view, offset, account);
39
- const decoder = getAddressDecoder();
40
- if (view.getUint8(108) !== 1 ||
41
- decoder.decode(account.data.subarray(0, 32)) !== mint ||
42
- decoder.decode(account.data.subarray(32, 64)) !== owner)
43
- failShipImport(`The token account must be initialized, unfrozen and hold ship mint ${mint} under authority ${owner}. Delegated token spending is unsupported.`, account.address);
44
- return view.getBigUint64(64, true);
45
- }
46
10
  //# sourceMappingURL=ship-token.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ship-token.js","sourceRoot":"","sources":["../../../src/internal/planning/ship-token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ship-token.js","sourceRoot":"","sources":["../../../src/internal/planning/ship-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,OAAgB;IAC9D,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,GAAG,OAAO,oEAAoE,EAC9E,EAAE,OAAO,EAAE,CACZ,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,gBAAgB,CAAC,OAAmB;IAClD,IAAI,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC;QAClC,cAAc,CACZ,kFAAkF,EAClF,OAAO,CAAC,OAAO,CAChB,CAAC;AACN,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { Address } from '@solana/kit';
2
+ /** The identity fields of a loaded Starbase Player snapshot. */
3
+ interface StarbasePlayerIdentity {
4
+ readonly address: Address;
5
+ readonly playerProfile: {
6
+ readonly address: Address;
7
+ };
8
+ readonly character: {
9
+ readonly address: Address;
10
+ };
11
+ readonly system: {
12
+ readonly address: Address;
13
+ };
14
+ }
15
+ /** Requires a loaded Starbase Player to belong to the authorization Profile,
16
+ * reference that Profile's canonical Character in the configured Game, and sit
17
+ * at its canonical address; returns the Character. Fresh-state checks remain
18
+ * the caller's. */
19
+ export declare function requireProfileStarbasePlayer(player: StarbasePlayerIdentity, profile: Address, game: Address): Promise<Address>;
20
+ export {};
21
+ //# sourceMappingURL=starbase-player-owner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starbase-player-owner.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/starbase-player-owner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAM3C,gEAAgE;AAChE,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IACtD,QAAQ,CAAC,SAAS,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CAChD;AAED;;;mBAGmB;AACnB,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,OAAO,CAAC,CAclB"}
@@ -0,0 +1,17 @@
1
+ import { SageSdkError } from '../../client/errors.js';
2
+ import { findCharacterPda } from '../c4/character.js';
3
+ import { deriveStarbasePlayerAddress } from '../c4/starbase.js';
4
+ /** Requires a loaded Starbase Player to belong to the authorization Profile,
5
+ * reference that Profile's canonical Character in the configured Game, and sit
6
+ * at its canonical address; returns the Character. Fresh-state checks remain
7
+ * the caller's. */
8
+ export async function requireProfileStarbasePlayer(player, profile, game) {
9
+ const character = await findCharacterPda(profile, game);
10
+ if (player.playerProfile.address !== profile ||
11
+ player.character.address !== character ||
12
+ (await deriveStarbasePlayerAddress(player.system.address, character)) !==
13
+ player.address)
14
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', `Starbase Player ${player.address} is not the canonical registration of authorization Profile ${profile} with its canonical Character ${character} in Star System ${player.system.address}. Load that Profile's Starbase Player through this context and retry.`, { address: player.address });
15
+ return character;
16
+ }
17
+ //# sourceMappingURL=starbase-player-owner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starbase-player-owner.js","sourceRoot":"","sources":["../../../src/internal/planning/starbase-player-owner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAUhE;;;mBAGmB;AACnB,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,MAA8B,EAC9B,OAAgB,EAChB,IAAa;IAEb,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACxD,IACE,MAAM,CAAC,aAAa,CAAC,OAAO,KAAK,OAAO;QACxC,MAAM,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS;QACtC,CAAC,MAAM,2BAA2B,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACnE,MAAM,CAAC,OAAO;QAEhB,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,mBAAmB,MAAM,CAAC,OAAO,+DAA+D,OAAO,iCAAiC,SAAS,mBAAmB,MAAM,CAAC,MAAM,CAAC,OAAO,uEAAuE,EAChQ,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAC5B,CAAC;IACJ,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { Address } from '@solana/kit';
2
+ import type { RawAccount } from '../../client/contracts.js';
3
+ /** Rejects with the calling planner's wording and remedy. */
4
+ type Fail = (message: string, address: Address) => never;
5
+ /** Requires the fresh Profile, Character, Starbase Player and System of a
6
+ * wallet transfer to be decodable account state of the configured Game and
7
+ * authorization Profile, and the System to be canonical with an active
8
+ * Starbase (a Central Space Station when `requireCss`). Returns the decoded
9
+ * Profile and Starbase Player and the matching System guard. */
10
+ export declare function validateWalletStarbase(accounts: {
11
+ readonly profile: RawAccount;
12
+ readonly character: RawAccount;
13
+ readonly player: RawAccount;
14
+ readonly system: RawAccount;
15
+ }, facts: {
16
+ readonly game: Address;
17
+ readonly profile: Address;
18
+ readonly character: Address;
19
+ readonly system: Address;
20
+ readonly requireCss: boolean;
21
+ }, fail: Fail): Promise<{
22
+ playerData: Readonly<import("../c4/starbase.js").StarbasePlayerAccountData>;
23
+ profileData: Readonly<import("../c4/identity.js").ProfileAccountData>;
24
+ systemGuard: {
25
+ describes: string;
26
+ requireCss?: true;
27
+ kind: "starbase-system";
28
+ address: import("../../client/contracts.js").Address;
29
+ game: Address;
30
+ starbaseSequenceId: bigint;
31
+ };
32
+ }>;
33
+ export {};
34
+ //# sourceMappingURL=wallet-starbase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-starbase.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/wallet-starbase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAU5D,6DAA6D;AAC7D,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,KAAK,CAAC;AAEzD;;;;gEAIgE;AAChE,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE;IACR,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC7B,EACD,KAAK,EAAE;IACL,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B,EACD,IAAI,EAAE,IAAI;;;;;;;;;;;GAoCX"}
@@ -0,0 +1,39 @@
1
+ import { characterAccountDefinition } from '../c4/character.js';
2
+ import { profileAccountDefinition } from '../c4/identity.js';
3
+ import { starbasePlayerAccountDefinition } from '../c4/starbase.js';
4
+ import { deriveStarSystemAddress, starSystemAccountDefinition, } from '../c4/world.js';
5
+ import { validateStarbaseSystem } from './starbase-system.js';
6
+ /** Requires the fresh Profile, Character, Starbase Player and System of a
7
+ * wallet transfer to be decodable account state of the configured Game and
8
+ * authorization Profile, and the System to be canonical with an active
9
+ * Starbase (a Central Space Station when `requireCss`). Returns the decoded
10
+ * Profile and Starbase Player and the matching System guard. */
11
+ export async function validateWalletStarbase(accounts, facts, fail) {
12
+ for (const account of Object.values(accounts))
13
+ if (account.executable)
14
+ fail('A gameplay prerequisite is executable rather than account state.', account.address);
15
+ const profileData = profileAccountDefinition.decode(accounts.profile);
16
+ const characterData = characterAccountDefinition.decode(accounts.character);
17
+ const playerData = starbasePlayerAccountDefinition.decode(accounts.player);
18
+ const systemData = starSystemAccountDefinition.decode(accounts.system);
19
+ if (characterData.game !== facts.game ||
20
+ characterData.playerProfile !== facts.profile ||
21
+ playerData.playerProfile !== facts.profile ||
22
+ playerData.character !== facts.character ||
23
+ playerData.system !== facts.system ||
24
+ systemData.game !== facts.game ||
25
+ (await deriveStarSystemAddress(facts.game, systemData.systemId)) !==
26
+ facts.system)
27
+ fail('Fresh Character, Starbase Player and System must belong to the configured Game and authorized Profile.', accounts.player.address);
28
+ const systemGuard = {
29
+ kind: 'starbase-system',
30
+ address: accounts.system.address,
31
+ game: facts.game,
32
+ starbaseSequenceId: systemData.sequenceId,
33
+ ...(facts.requireCss ? { requireCss: true } : {}),
34
+ describes: `The canonical Star System retains its active Starbase and generation${facts.requireCss ? ' as a Central Space Station' : ''}; unrelated shared activity may change.`,
35
+ };
36
+ await validateStarbaseSystem(accounts.system, systemGuard);
37
+ return { playerData, profileData, systemGuard };
38
+ }
39
+ //# sourceMappingURL=wallet-starbase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-starbase.js","sourceRoot":"","sources":["../../../src/internal/planning/wallet-starbase.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EACL,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAK9D;;;;gEAIgE;AAChE,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAKC,EACD,KAMC,EACD,IAAU;IAEV,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC3C,IAAI,OAAO,CAAC,UAAU;YACpB,IAAI,CACF,kEAAkE,EAClE,OAAO,CAAC,OAAO,CAChB,CAAC;IACN,MAAM,WAAW,GAAG,wBAAwB,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,0BAA0B,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC5E,MAAM,UAAU,GAAG,+BAA+B,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,2BAA2B,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvE,IACE,aAAa,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;QACjC,aAAa,CAAC,aAAa,KAAK,KAAK,CAAC,OAAO;QAC7C,UAAU,CAAC,aAAa,KAAK,KAAK,CAAC,OAAO;QAC1C,UAAU,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;QACxC,UAAU,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAClC,UAAU,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;QAC9B,CAAC,MAAM,uBAAuB,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC9D,KAAK,CAAC,MAAM;QAEd,IAAI,CACF,wGAAwG,EACxG,QAAQ,CAAC,MAAM,CAAC,OAAO,CACxB,CAAC;IACJ,MAAM,WAAW,GAAG;QAClB,IAAI,EAAE,iBAA0B;QAChC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO;QAChC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,kBAAkB,EAAE,UAAU,CAAC,UAAU;QACzC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,SAAS,EAAE,uEAAuE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,yCAAyC;KACjL,CAAC;IACF,MAAM,sBAAsB,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC3D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AAClD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/markets/actions/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/markets/actions/index.ts"],"names":[],"mappings":"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"}