@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.
- package/dist/cargo/actions/deposit.d.ts.map +1 -1
- package/dist/cargo/actions/deposit.js +22 -125
- package/dist/cargo/actions/deposit.js.map +1 -1
- package/dist/cargo/actions/wallet-context.d.ts +51 -2
- package/dist/cargo/actions/wallet-context.d.ts.map +1 -1
- package/dist/cargo/actions/wallet-context.js +125 -2
- package/dist/cargo/actions/wallet-context.js.map +1 -1
- package/dist/cargo/actions/wallet-token.d.ts +1 -6
- package/dist/cargo/actions/wallet-token.d.ts.map +1 -1
- package/dist/cargo/actions/wallet-token.js +0 -45
- package/dist/cargo/actions/wallet-token.js.map +1 -1
- package/dist/cargo/actions/withdrawal.d.ts.map +1 -1
- package/dist/cargo/actions/withdrawal.js +35 -162
- package/dist/cargo/actions/withdrawal.js.map +1 -1
- package/dist/fleets/actions/ship-import.d.ts.map +1 -1
- package/dist/fleets/actions/ship-import.js +31 -77
- package/dist/fleets/actions/ship-import.js.map +1 -1
- package/dist/internal/planning/original-token.d.ts +34 -0
- package/dist/internal/planning/original-token.d.ts.map +1 -0
- package/dist/internal/planning/original-token.js +98 -0
- package/dist/internal/planning/original-token.js.map +1 -0
- package/dist/internal/planning/ship-token.d.ts +1 -5
- package/dist/internal/planning/ship-token.d.ts.map +1 -1
- package/dist/internal/planning/ship-token.js +0 -36
- package/dist/internal/planning/ship-token.js.map +1 -1
- package/dist/internal/planning/starbase-player-owner.d.ts.map +1 -1
- package/dist/internal/planning/starbase-player-owner.js +5 -13
- package/dist/internal/planning/starbase-player-owner.js.map +1 -1
- package/dist/internal/planning/wallet-starbase.d.ts +34 -0
- package/dist/internal/planning/wallet-starbase.d.ts.map +1 -0
- package/dist/internal/planning/wallet-starbase.js +39 -0
- package/dist/internal/planning/wallet-starbase.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,26 +1,11 @@
|
|
|
1
|
-
import {
|
|
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 {
|
|
16
|
-
import {
|
|
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
|
-
|
|
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
|
|
57
|
-
const
|
|
58
|
-
|
|
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 =
|
|
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
|
|
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.',
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
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:
|
|
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.
|
|
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:
|
|
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":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,GAElB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EACL,qCAAqC,EACrC,yBAAyB,GAE1B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EACL,UAAU,GAIX,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oCAAoC,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GAEzB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,GAAG,8CAAyD,CAAC;AAwB9E,SAAS,QAAQ,CACf,OAA+B,EAC/B,OAAgB;IAEhB,IAAI,CAAC,OAAO;QACV,eAAe,CACb,+BAA+B,OAAO,8EAA8E,EACpH,OAAO,CACR,CAAC;IACJ,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,GAAgB,EAChB,QAA8B,EAC9B,OAAyC;IAEzC,yBAAyB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACjD,IACE,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ;QAClC,OAAO,CAAC,MAAM,IAAI,EAAE;QACpB,OAAO,CAAC,MAAM,GAAG,qBAAqB;QAEtC,MAAM,IAAI,uBAAuB,CAC/B,QAAQ,EACR,OAAO,CAAC,MAAM,EACd,6CAA6C,EAC7C,6CAA6C,CAC9C,CAAC;IACJ,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC;QACtC,OAAO,CAAC,OAAO,GAAG,CAAC;QACnB,OAAO,CAAC,OAAO,GAAG,KAAK;QAEvB,MAAM,IAAI,uBAAuB,CAC/B,SAAS,EACT,OAAO,CAAC,OAAO,EACf,0BAA0B,EAC1B,yCAAyC,CAC1C,CAAC;IACJ,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAC5C,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,mBAAmB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxE,MAAM,IAAI,uBAAuB,CAC/B,oBAAoB,EACpB,QAAQ,EACR,0CAA0C,EAC1C,mEAAmE,CACpE,CAAC;IACJ,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAC9C,QAAQ,CAAC,MAAM,CAAC,OAAO,EACvB,SAAS,CACV,CAAC;IACF,IACE,QAAQ,CAAC,IAAI,KAAK,gBAAgB;QAClC,QAAQ,CAAC,OAAO,KAAK,MAAM;QAC3B,QAAQ,CAAC,aAAa,CAAC,OAAO,KAAK,OAAO,CAAC,aAAa,CAAC,OAAO;QAChE,QAAQ,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS;QAExC,eAAe,CACb,wFAAwF,EACxF,QAAQ,CAAC,OAAO,CACjB,CAAC;IACJ,MAAM,MAAM,GAAG,MAAM,oCAAoC,CACvD,GAAG,EACH,OAAO,CAAC,OAAO,CAChB,CAAC;IACF,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,MAAM,wBAAwB,CAAC;QACnD,cAAc,EAAE,oBAAoB;QACpC,KAAK,EAAE;YACL,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC;YACjD,iBAAiB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;SACjC;KACF,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK;QACxB,eAAe,CACb,mEAAmE,EACnE,MAAM,CAAC,KAAK,CACb,CAAC;IACJ,MAAM,oBAAoB,GAAG,MAAM,wBAAwB,CACzD,OAAO,CAAC,SAAS,EACjB,MAAM,CAAC,KAAK,CAAC,IAAI,CAClB,CAAC;IACF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,oBAAoB,CAAC;IAChE,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxE,IAAI,WAAW,KAAK,MAAM;QACxB,eAAe,CACb,sKAAsK,EACtK,WAAW,CACZ,CAAC;IACJ,MAAM,SAAS,GAAG;QAChB,OAAO,CAAC,aAAa,CAAC,OAAO;QAC7B,SAAS;QACT,MAAM;QACN,QAAQ,CAAC,MAAM,CAAC,OAAO;QACvB,KAAK;QACL,MAAM,CAAC,KAAK,CAAC,IAAI;QACjB,MAAM;KACP,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,GAAG,EAAE;QACnD,GAAG,SAAS;QACZ,WAAW;QACX,OAAO,CAAC,SAAS;KAClB,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAChD,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CACrC,CAAC;IACF,MAAM,CACJ,UAAU,EACV,YAAY,EACZ,SAAS,EACT,SAAS,EACT,QAAQ,EACR,OAAO,EACP,QAAQ,EACT,GAAG,QAQH,CAAC;IACF,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtD,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,0BAA0B,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,+BAA+B,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,2BAA2B,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjE,IACE,aAAa,CAAC,IAAI,KAAK,IAAI;QAC3B,aAAa,CAAC,aAAa,KAAK,OAAO,CAAC,aAAa,CAAC,OAAO;QAC7D,UAAU,CAAC,aAAa,KAAK,OAAO,CAAC,aAAa,CAAC,OAAO;QAC1D,UAAU,CAAC,SAAS,KAAK,SAAS;QAClC,UAAU,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAC,OAAO;QAC7C,UAAU,CAAC,IAAI,KAAK,IAAI;QACxB,CAAC,MAAM,uBAAuB,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;YACxD,QAAQ,CAAC,MAAM,CAAC,OAAO;QAEzB,eAAe,CACb,sGAAsG,EACtG,MAAM,CACP,CAAC;IACJ,MAAM,WAAW,GAAG;QAClB,IAAI,EAAE,iBAA0B;QAChC,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,IAAI;QACJ,kBAAkB,EAAE,UAAU,CAAC,UAAU;QACzC,SAAS,EACP,6GAA6G;KAChH,CAAC;IACF,MAAM,sBAAsB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,wBAAwB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,CAAC;QAChB,eAAe,CACb,4KAA4K,EAC5K,MAAM,CAAC,KAAK,CAAC,IAAI,CAClB,CAAC;IACJ,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxE,IAAI,cAAc;QAChB,mBAAmB,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5E,IACE,YAAY;QACZ,YAAY,CAAC,IAAI,CAAC,MAAM,KAAK,GAAG;QAChC,CAAC,YAAY,CAAC,KAAK,KAAK,sBAAsB;YAC5C,YAAY,CAAC,KAAK;gBACf,6CAAyD,CAAC;QAE/D,eAAe,CACb,4EAA4E,EAC5E,OAAO,CAAC,SAAS,CAClB,CAAC;IACJ,MAAM,WAAW,GACf,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC;QACvE,EAAE,MAAM,IAAI,EAAE,CAAC;IACnB,IAAI,WAAW,GAAG,OAAO,CAAC,MAAM;QAC9B,eAAe,CACb,qCAAqC,MAAM,CAAC,WAAW,CAAC,uBAAuB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,sEAAsE,EAC3K,MAAM,CACP,CAAC;IACJ,IAAI,OAAO,GAAG,OAAO,CAAC,MAAM;QAC1B,eAAe,CACb,6BAA6B,MAAM,CAAC,OAAO,CAAC,uBAAuB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,oCAAoC,EAC7H,MAAM,CACP,CAAC;IACJ,IAAI,MAAM,CAAC,KAAK,CAAC,qBAAqB,KAAK,CAAC;QAC1C,eAAe,CACb,iEAAiE,EACjE,IAAI,CACL,CAAC;IACJ,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc;QAC9C,eAAe,CACb,oEAAoE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,sBAAsB,EAC7H,KAAK,CACN,CAAC;IACJ,MAAM,aAAa,GAAuB,MAAM,OAAO,CAAC,GAAG,CAEvD;QACE,CAAC,UAAU,EAAE,uBAAuB,CAAC;QACrC,CAAC,YAAY,EAAE,oBAAoB,CAAC;QACpC,CAAC,SAAS,EAAE,6BAA6B,CAAC;QAC1C,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,kBAAkB,CAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAEzE,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAChE,CAAC;IACF,aAAa,CAAC,IAAI,CAChB,WAAW,EACX;QACE,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ;QACR,SAAS,EAAE,QAAQ,OAAO,CAAC,OAAO,8GAA8G;KACjJ,EACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS,EACP,sJAAsJ;KACzJ,EACD;QACE,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,KAAK;QACd,IAAI;QACJ,IAAI;QACJ,SAAS,EACP,wFAAwF;KAC3F,EACD;QACE,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;QACvB,KAAK,EAAE,KAAK;QACZ,cAAc,EAAE,OAAO,CAAC,MAAM;QAC9B,SAAS,EACP,8FAA8F;KACjG,EACD,GAAG,CAAC,cAAc;QAChB,CAAC,CAAC;YACE;gBACE,IAAI,EAAE,eAAwB;gBAC9B,OAAO,EAAE,WAAW;gBACpB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;gBACvB,KAAK,EAAE,OAAO,CAAC,SAAS;gBACxB,cAAc,EAAE,EAAE;gBAClB,SAAS,EACP,+FAA+F;aAClG;SACF;QACH,CAAC,CAAC,EAAE,CAAC,CACR,CAAC;IACF,IAAI,CAAC,YAAY;QACf,aAAa,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,OAAO,CAAC,SAAS;YAC1B,SAAS,EACP,8GAA8G;SACjH,CAAC,CAAC;IACL,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,IAAI,WAAW,KAAK,oBAAoB;YACnD,eAAe,CACb,yIAAyI,EACzI,WAAW,CACZ,CAAC;QACJ,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC;YACnC,eAAe,CACb,wDAAwD,EACxD,QAAQ,CAAC,KAAK,CACf,CAAC;QACJ,MAAM,cAAc,GAAG;YACrB,YAAY;YACZ,QAAQ,CAAC,KAAK;YACd,WAAW;YACX,cAAc;YACd,sBAAsB;SACvB,CAAC;QACF,MAAM,eAAe,GAAG,MAAM,sBAAsB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAClD,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAC1C,CAAC;QACF,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,GAAG,KAIlC,CAAC;QACF,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;YACjD,eAAe,CACb,wHAAwH,EACxH,WAAW,CACZ,CAAC;QACJ,uEAAuE;QACvE,wEAAwE;QACxE,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3C,IACE,KAAK,CAAC,KAAK,KAAK,cAAc;YAC9B,KAAK,CAAC,UAAU;YAChB,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YACvB,KAAK,CAAC,QAAQ,GAAG,cAAc;YAE/B,eAAe,CACb,mDAAmD,MAAM,CAAC,cAAc,CAAC,yDAAyD,EAClI,QAAQ,CAAC,KAAK,CACf,CAAC;QACJ,aAAa,CAAC,IAAI,CAChB,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CACnB,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAC3B,oBAAoB,CAClB,OAAO,EACP;YACE,oBAAoB;YACpB,oBAAoB;YACpB,0BAA0B;YAC1B,gBAAgB;YAChB,eAAe;SAChB,CAAC,KAAK,CAAE,CACV,CACF,CACF,CAAC,EACF;YACE,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;YACvB,KAAK,EAAE,OAAO,CAAC,SAAS;YACxB,SAAS,EACP,iIAAiI;SACpI,CACF,CAAC;QACF,KAAK,CAAC,IAAI,CAAC;YACT,SAAS,EAAE,sCAAsC,WAAW,wBAAwB,QAAQ,CAAC,KAAK,UAAU,MAAM,CAAC,cAAc,CAAC,2FAA2F;YAC7N,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzB,WAAW,EAAE;gBACX,cAAc,EAAE,WAAW;gBAC3B,QAAQ,EAAE;oBACR,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,eAAe,EAAE;oBAC9D,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE;oBACpD,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE;oBAC1D,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE;oBAC1D,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE;oBACvD,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE;iBAChE;gBACD,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1B;SACF,CAAC,CAAC;IACL,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,YAAY,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,6BAA6B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,2BAA2B,MAAM,OAAO,WAAW,iCAAiC,OAAO,CAAC,SAAS,wEAAwE,MAAM,uBAAuB,OAAO,CAAC,aAAa,CAAC,SAAS,4EAA4E,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,wBAAwB,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,qBAAqB,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,+BAA+B,olBAAolB,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oGAAoG,EAAE,CAAC;IACt1C,KAAK,CAAC,IAAI,CAAC;QACT,SAAS;QACT,OAAO,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC;QAC1C,WAAW,EAAE,qCAAqC,CAAC;YACjD,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,6BAA6B,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO;YACtD,qCAAqC,EAAE,MAAM;YAC7C,IAAI;YACJ,UAAU,EAAE,KAAK;YACjB,MAAM;YACN,WAAW;YACX,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;KACH,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;QAChB,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,SAAS;QAClB,aAAa;QACb,KAAK;KACN,CAAC,CAAC;AACL,CAAC"}
|
|
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":"
|
|
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 {
|
|
17
|
-
import {
|
|
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
|
|
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
|
|
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
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
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
|
-
|
|
149
|
+
profile: authorization.profile,
|
|
150
|
+
character,
|
|
151
|
+
system: starbase.system.address,
|
|
167
152
|
requireCss: true,
|
|
168
|
-
|
|
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 =
|
|
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 =
|
|
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
|
|
264
|
-
creation.payer,
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
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.
|
|
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"}
|