@aephia/atlas-kit 0.7.0-next.1 → 0.7.0-next.3
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/README.md +5 -0
- package/dist/cargo/actions/deposit.d.ts.map +1 -1
- package/dist/cargo/actions/deposit.js +4 -4
- package/dist/cargo/actions/deposit.js.map +1 -1
- package/dist/cargo/actions/index.d.ts.map +1 -1
- package/dist/cargo/actions/index.js +20 -20
- package/dist/cargo/actions/index.js.map +1 -1
- package/dist/cargo/actions/transfer-bounds.d.ts +4 -3
- package/dist/cargo/actions/transfer-bounds.d.ts.map +1 -1
- package/dist/cargo/actions/transfer-bounds.js +11 -7
- package/dist/cargo/actions/transfer-bounds.js.map +1 -1
- package/dist/cargo/actions/wallet-context.d.ts.map +1 -1
- package/dist/cargo/actions/wallet-context.js +4 -4
- package/dist/cargo/actions/wallet-context.js.map +1 -1
- package/dist/cargo/actions/withdrawal.js +2 -2
- package/dist/cargo/actions/withdrawal.js.map +1 -1
- package/dist/cargo/index.js +2 -2
- package/dist/cargo/index.js.map +1 -1
- package/dist/claim-stakes/actions/index.d.ts.map +1 -1
- package/dist/claim-stakes/actions/index.js +84 -84
- package/dist/claim-stakes/actions/index.js.map +1 -1
- package/dist/client/context.d.ts.map +1 -1
- package/dist/client/context.js +49 -20
- package/dist/client/context.js.map +1 -1
- package/dist/client/contracts.d.ts +42 -4
- package/dist/client/contracts.d.ts.map +1 -1
- package/dist/client/deployments.d.ts +11 -1
- package/dist/client/deployments.d.ts.map +1 -1
- package/dist/client/deployments.js +14 -0
- package/dist/client/deployments.js.map +1 -1
- package/dist/client/index.d.ts +18 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +17 -0
- package/dist/client/index.js.map +1 -1
- package/dist/combat/actions/index.d.ts.map +1 -1
- package/dist/combat/actions/index.js +70 -66
- package/dist/combat/actions/index.js.map +1 -1
- package/dist/combat/index.d.ts.map +1 -1
- package/dist/combat/index.js +2 -2
- package/dist/combat/index.js.map +1 -1
- package/dist/crafting/actions/fee-rate.d.ts.map +1 -1
- package/dist/crafting/actions/fee-rate.js +1 -1
- package/dist/crafting/actions/fee-rate.js.map +1 -1
- package/dist/crafting/actions/index.d.ts.map +1 -1
- package/dist/crafting/actions/index.js +44 -45
- package/dist/crafting/actions/index.js.map +1 -1
- package/dist/crafting/index.d.ts.map +1 -1
- package/dist/crafting/index.js +4 -4
- package/dist/crafting/index.js.map +1 -1
- package/dist/factions/actions/index.d.ts.map +1 -1
- package/dist/factions/actions/index.js +7 -8
- package/dist/factions/actions/index.js.map +1 -1
- package/dist/factions/index.d.ts.map +1 -1
- package/dist/factions/index.js +12 -12
- package/dist/factions/index.js.map +1 -1
- package/dist/factions/profile-faction.js +2 -2
- package/dist/factions/profile-faction.js.map +1 -1
- package/dist/fleets/actions/add-ship.d.ts.map +1 -1
- package/dist/fleets/actions/add-ship.js +5 -5
- package/dist/fleets/actions/add-ship.js.map +1 -1
- package/dist/fleets/actions/create-fleet.d.ts.map +1 -1
- package/dist/fleets/actions/create-fleet.js +4 -4
- package/dist/fleets/actions/create-fleet.js.map +1 -1
- package/dist/fleets/actions/crew-transfer.d.ts.map +1 -1
- package/dist/fleets/actions/crew-transfer.js +5 -2
- package/dist/fleets/actions/crew-transfer.js.map +1 -1
- package/dist/fleets/actions/deployment-storage.d.ts.map +1 -1
- package/dist/fleets/actions/deployment-storage.js +4 -4
- package/dist/fleets/actions/deployment-storage.js.map +1 -1
- package/dist/fleets/actions/disband.d.ts.map +1 -1
- package/dist/fleets/actions/disband.js +6 -6
- package/dist/fleets/actions/disband.js.map +1 -1
- package/dist/fleets/actions/dock-bounds.d.ts +3 -2
- package/dist/fleets/actions/dock-bounds.d.ts.map +1 -1
- package/dist/fleets/actions/dock-bounds.js +8 -1
- package/dist/fleets/actions/dock-bounds.js.map +1 -1
- package/dist/fleets/actions/index.d.ts.map +1 -1
- package/dist/fleets/actions/index.js +85 -84
- package/dist/fleets/actions/index.js.map +1 -1
- package/dist/fleets/actions/respawn.js +1 -1
- package/dist/fleets/actions/respawn.js.map +1 -1
- package/dist/fleets/actions/ship-import.d.ts.map +1 -1
- package/dist/fleets/actions/ship-import.js +7 -8
- package/dist/fleets/actions/ship-import.js.map +1 -1
- package/dist/fleets/actions/sync.d.ts.map +1 -1
- package/dist/fleets/actions/sync.js +5 -4
- package/dist/fleets/actions/sync.js.map +1 -1
- package/dist/fleets/index.js +1 -1
- package/dist/fleets/index.js.map +1 -1
- package/dist/identity/actions/create-profile.d.ts.map +1 -1
- package/dist/identity/actions/create-profile.js +11 -8
- package/dist/identity/actions/create-profile.js.map +1 -1
- package/dist/identity/actions/index.d.ts.map +1 -1
- package/dist/identity/actions/index.js +5 -5
- package/dist/identity/actions/index.js.map +1 -1
- package/dist/identity/actions/research-unlock.d.ts.map +1 -1
- package/dist/identity/actions/research-unlock.js +5 -5
- package/dist/identity/actions/research-unlock.js.map +1 -1
- package/dist/identity/index.d.ts +0 -14
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +5 -19
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/permissions.d.ts +31 -23
- package/dist/identity/permissions.d.ts.map +1 -1
- package/dist/identity/permissions.js +27 -30
- package/dist/identity/permissions.js.map +1 -1
- package/dist/index.d.ts +1 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -14
- package/dist/index.js.map +1 -1
- package/dist/internal/c4/account-decoding.d.ts +9 -5
- package/dist/internal/c4/account-decoding.d.ts.map +1 -1
- package/dist/internal/c4/account-decoding.js +8 -7
- package/dist/internal/c4/account-decoding.js.map +1 -1
- package/dist/internal/c4/adapter.d.ts +2 -2
- package/dist/internal/c4/adapter.d.ts.map +1 -1
- package/dist/internal/c4/career-xp.d.ts.map +1 -1
- package/dist/internal/c4/career-xp.js +3 -3
- package/dist/internal/c4/career-xp.js.map +1 -1
- package/dist/internal/c4/character-registration.d.ts +2 -1
- package/dist/internal/c4/character-registration.d.ts.map +1 -1
- package/dist/internal/c4/character-registration.js +3 -3
- package/dist/internal/c4/character-registration.js.map +1 -1
- package/dist/internal/c4/character.d.ts +3 -3
- package/dist/internal/c4/character.d.ts.map +1 -1
- package/dist/internal/c4/character.js +6 -6
- package/dist/internal/c4/character.js.map +1 -1
- package/dist/internal/c4/claim-stake-storage.d.ts +2 -2
- package/dist/internal/c4/claim-stake-storage.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake-storage.js +2 -2
- package/dist/internal/c4/claim-stake-storage.js.map +1 -1
- package/dist/internal/c4/claim-stake.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake.js +2 -2
- package/dist/internal/c4/claim-stake.js.map +1 -1
- package/dist/internal/c4/combat-storage.d.ts +2 -2
- package/dist/internal/c4/combat-storage.d.ts.map +1 -1
- package/dist/internal/c4/combat-storage.js +4 -2
- package/dist/internal/c4/combat-storage.js.map +1 -1
- package/dist/internal/c4/combat.d.ts +2 -2
- package/dist/internal/c4/combat.d.ts.map +1 -1
- package/dist/internal/c4/combat.js +4 -4
- package/dist/internal/c4/combat.js.map +1 -1
- package/dist/internal/c4/crafting.d.ts +4 -4
- package/dist/internal/c4/crafting.d.ts.map +1 -1
- package/dist/internal/c4/crafting.js +10 -10
- package/dist/internal/c4/crafting.js.map +1 -1
- package/dist/internal/c4/currency-cache.d.ts +3 -3
- package/dist/internal/c4/currency-cache.d.ts.map +1 -1
- package/dist/internal/c4/currency-cache.js +6 -6
- package/dist/internal/c4/currency-cache.js.map +1 -1
- package/dist/internal/c4/faction-enrollment.d.ts +0 -3
- package/dist/internal/c4/faction-enrollment.d.ts.map +1 -1
- package/dist/internal/c4/faction-enrollment.js +1 -3
- package/dist/internal/c4/faction-enrollment.js.map +1 -1
- package/dist/internal/c4/faction-epoch-meter.d.ts +3 -3
- package/dist/internal/c4/faction-epoch-meter.d.ts.map +1 -1
- package/dist/internal/c4/faction-epoch-meter.js +5 -5
- package/dist/internal/c4/faction-epoch-meter.js.map +1 -1
- package/dist/internal/c4/faction-treasury.d.ts +2 -1
- package/dist/internal/c4/faction-treasury.d.ts.map +1 -1
- package/dist/internal/c4/faction-treasury.js +4 -4
- package/dist/internal/c4/faction-treasury.js.map +1 -1
- package/dist/internal/c4/factions.d.ts +12 -12
- package/dist/internal/c4/factions.d.ts.map +1 -1
- package/dist/internal/c4/factions.js +31 -31
- package/dist/internal/c4/factions.js.map +1 -1
- package/dist/internal/c4/fleet-arrival.d.ts +2 -2
- package/dist/internal/c4/fleet-arrival.d.ts.map +1 -1
- package/dist/internal/c4/fleet-arrival.js +3 -3
- package/dist/internal/c4/fleet-arrival.js.map +1 -1
- package/dist/internal/c4/fleet-creation.d.ts +3 -2
- package/dist/internal/c4/fleet-creation.d.ts.map +1 -1
- package/dist/internal/c4/fleet-creation.js +7 -8
- package/dist/internal/c4/fleet-creation.js.map +1 -1
- package/dist/internal/c4/fleet-crew-binding.d.ts +2 -2
- package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
- package/dist/internal/c4/fleet-crew-binding.js +4 -4
- package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
- package/dist/internal/c4/fleet-disband.d.ts +2 -2
- package/dist/internal/c4/fleet-disband.d.ts.map +1 -1
- package/dist/internal/c4/fleet-disband.js +7 -8
- package/dist/internal/c4/fleet-disband.js.map +1 -1
- package/dist/internal/c4/fleet-respawn.d.ts +2 -4
- package/dist/internal/c4/fleet-respawn.d.ts.map +1 -1
- package/dist/internal/c4/fleet-respawn.js +6 -8
- package/dist/internal/c4/fleet-respawn.js.map +1 -1
- package/dist/internal/c4/fleet-ship-assembly.d.ts +2 -2
- package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -1
- package/dist/internal/c4/fleet-ship-assembly.js +5 -6
- package/dist/internal/c4/fleet-ship-assembly.js.map +1 -1
- package/dist/internal/c4/fleet-sync.d.ts +2 -1
- package/dist/internal/c4/fleet-sync.d.ts.map +1 -1
- package/dist/internal/c4/fleet-sync.js +3 -3
- package/dist/internal/c4/fleet-sync.js.map +1 -1
- package/dist/internal/c4/fleet.d.ts +4 -4
- package/dist/internal/c4/fleet.d.ts.map +1 -1
- package/dist/internal/c4/fleet.js +9 -9
- package/dist/internal/c4/fleet.js.map +1 -1
- package/dist/internal/c4/game.d.ts +12 -12
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +24 -24
- package/dist/internal/c4/game.js.map +1 -1
- package/dist/internal/c4/identity.d.ts +2 -2
- package/dist/internal/c4/identity.d.ts.map +1 -1
- package/dist/internal/c4/identity.js +6 -6
- package/dist/internal/c4/identity.js.map +1 -1
- package/dist/internal/c4/local-market-order.d.ts +2 -3
- package/dist/internal/c4/local-market-order.d.ts.map +1 -1
- package/dist/internal/c4/local-market-order.js +4 -9
- package/dist/internal/c4/local-market-order.js.map +1 -1
- package/dist/internal/c4/loot.d.ts.map +1 -1
- package/dist/internal/c4/loot.js +2 -2
- package/dist/internal/c4/loot.js.map +1 -1
- package/dist/internal/c4/loyalty.d.ts +4 -4
- package/dist/internal/c4/loyalty.d.ts.map +1 -1
- package/dist/internal/c4/loyalty.js +10 -10
- package/dist/internal/c4/loyalty.js.map +1 -1
- package/dist/internal/c4/market.d.ts +3 -3
- package/dist/internal/c4/market.d.ts.map +1 -1
- package/dist/internal/c4/market.js +7 -7
- package/dist/internal/c4/market.js.map +1 -1
- package/dist/internal/c4/open-signal.d.ts +3 -4
- package/dist/internal/c4/open-signal.d.ts.map +1 -1
- package/dist/internal/c4/open-signal.js +7 -10
- package/dist/internal/c4/open-signal.js.map +1 -1
- package/dist/internal/c4/pda.d.ts +18 -18
- package/dist/internal/c4/pda.d.ts.map +1 -1
- package/dist/internal/c4/pda.js +35 -36
- package/dist/internal/c4/pda.js.map +1 -1
- package/dist/internal/c4/profile-creation.d.ts +3 -2
- package/dist/internal/c4/profile-creation.d.ts.map +1 -1
- package/dist/internal/c4/profile-creation.js +6 -7
- package/dist/internal/c4/profile-creation.js.map +1 -1
- package/dist/internal/c4/profile-faction.d.ts +2 -2
- package/dist/internal/c4/profile-faction.d.ts.map +1 -1
- package/dist/internal/c4/profile-faction.js +4 -4
- package/dist/internal/c4/profile-faction.js.map +1 -1
- package/dist/internal/c4/profile-permissions.d.ts +3 -4
- package/dist/internal/c4/profile-permissions.d.ts.map +1 -1
- package/dist/internal/c4/profile-permissions.js +7 -9
- package/dist/internal/c4/profile-permissions.js.map +1 -1
- package/dist/internal/c4/rewards.d.ts +3 -3
- package/dist/internal/c4/rewards.d.ts.map +1 -1
- package/dist/internal/c4/rewards.js +8 -8
- package/dist/internal/c4/rewards.js.map +1 -1
- package/dist/internal/c4/runtime-bindings.d.ts +1 -2
- package/dist/internal/c4/runtime-bindings.d.ts.map +1 -1
- package/dist/internal/c4/runtime-bindings.js +1 -2
- package/dist/internal/c4/runtime-bindings.js.map +1 -1
- package/dist/internal/c4/scan-lifecycle.d.ts +2 -2
- package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -1
- package/dist/internal/c4/scan-lifecycle.js +4 -4
- package/dist/internal/c4/scan-lifecycle.js.map +1 -1
- package/dist/internal/c4/scanning.d.ts +2 -2
- package/dist/internal/c4/scanning.d.ts.map +1 -1
- package/dist/internal/c4/scanning.js +4 -4
- package/dist/internal/c4/scanning.js.map +1 -1
- package/dist/internal/c4/starbase.d.ts +2 -2
- package/dist/internal/c4/starbase.d.ts.map +1 -1
- package/dist/internal/c4/starbase.js +5 -5
- package/dist/internal/c4/starbase.js.map +1 -1
- package/dist/internal/c4/wallet-cargo-cache.d.ts +2 -2
- package/dist/internal/c4/wallet-cargo-cache.d.ts.map +1 -1
- package/dist/internal/c4/wallet-cargo-cache.js +3 -3
- package/dist/internal/c4/wallet-cargo-cache.js.map +1 -1
- package/dist/internal/c4/world.d.ts +3 -3
- package/dist/internal/c4/world.d.ts.map +1 -1
- package/dist/internal/c4/world.js +9 -9
- package/dist/internal/c4/world.js.map +1 -1
- package/dist/internal/planning/arrival-guards.d.ts +2 -1
- package/dist/internal/planning/arrival-guards.d.ts.map +1 -1
- package/dist/internal/planning/arrival-guards.js +4 -5
- package/dist/internal/planning/arrival-guards.js.map +1 -1
- package/dist/internal/planning/authorization-adapter.d.ts +35 -34
- package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
- package/dist/internal/planning/authorization-adapter.js +105 -105
- package/dist/internal/planning/authorization-adapter.js.map +1 -1
- package/dist/internal/planning/cargo-storage-actions.d.ts +2 -2
- package/dist/internal/planning/cargo-storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/cargo-storage-actions.js +7 -5
- package/dist/internal/planning/cargo-storage-actions.js.map +1 -1
- package/dist/internal/planning/character-access.d.ts +3 -3
- package/dist/internal/planning/character-access.d.ts.map +1 -1
- package/dist/internal/planning/character-access.js +6 -5
- package/dist/internal/planning/character-access.js.map +1 -1
- package/dist/internal/planning/character-registration-guard.d.ts +2 -1
- package/dist/internal/planning/character-registration-guard.d.ts.map +1 -1
- package/dist/internal/planning/character-registration-guard.js +3 -4
- package/dist/internal/planning/character-registration-guard.js.map +1 -1
- package/dist/internal/planning/character-registration.d.ts.map +1 -1
- package/dist/internal/planning/character-registration.js +2 -2
- package/dist/internal/planning/character-registration.js.map +1 -1
- package/dist/internal/planning/claim-stake-storage-actions.d.ts +2 -2
- package/dist/internal/planning/claim-stake-storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/claim-stake-storage-actions.js +3 -3
- package/dist/internal/planning/claim-stake-storage-actions.js.map +1 -1
- package/dist/internal/planning/combat-storage-actions.d.ts +2 -2
- package/dist/internal/planning/combat-storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/combat-storage-actions.js +3 -3
- package/dist/internal/planning/combat-storage-actions.js.map +1 -1
- package/dist/internal/planning/crafting-storage-actions.d.ts +2 -2
- package/dist/internal/planning/crafting-storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/crafting-storage-actions.js +6 -6
- package/dist/internal/planning/crafting-storage-actions.js.map +1 -1
- package/dist/internal/planning/currency-cache-guard.d.ts +2 -1
- package/dist/internal/planning/currency-cache-guard.d.ts.map +1 -1
- package/dist/internal/planning/currency-cache-guard.js +2 -3
- package/dist/internal/planning/currency-cache-guard.js.map +1 -1
- package/dist/internal/planning/democracy-history.d.ts.map +1 -1
- package/dist/internal/planning/democracy-history.js +9 -9
- package/dist/internal/planning/democracy-history.js.map +1 -1
- package/dist/internal/planning/faction-enrollment.d.ts +2 -2
- package/dist/internal/planning/faction-enrollment.d.ts.map +1 -1
- package/dist/internal/planning/faction-enrollment.js +6 -6
- package/dist/internal/planning/faction-enrollment.js.map +1 -1
- package/dist/internal/planning/faction-trade-state.d.ts +4 -4
- package/dist/internal/planning/faction-trade-state.d.ts.map +1 -1
- package/dist/internal/planning/faction-trade-state.js +9 -9
- package/dist/internal/planning/faction-trade-state.js.map +1 -1
- package/dist/internal/planning/fleet-arrival.d.ts.map +1 -1
- package/dist/internal/planning/fleet-arrival.js +8 -9
- package/dist/internal/planning/fleet-arrival.js.map +1 -1
- package/dist/internal/planning/fleet-attack-xp.d.ts +2 -2
- package/dist/internal/planning/fleet-attack-xp.d.ts.map +1 -1
- package/dist/internal/planning/fleet-attack-xp.js +7 -7
- package/dist/internal/planning/fleet-attack-xp.js.map +1 -1
- package/dist/internal/planning/fleet-creation.d.ts +3 -3
- package/dist/internal/planning/fleet-creation.d.ts.map +1 -1
- package/dist/internal/planning/fleet-creation.js +9 -10
- package/dist/internal/planning/fleet-creation.js.map +1 -1
- package/dist/internal/planning/fleet-crew-guard.d.ts +4 -3
- package/dist/internal/planning/fleet-crew-guard.d.ts.map +1 -1
- package/dist/internal/planning/fleet-crew-guard.js +7 -8
- package/dist/internal/planning/fleet-crew-guard.js.map +1 -1
- package/dist/internal/planning/fleet-crew-transfer.d.ts.map +1 -1
- package/dist/internal/planning/fleet-crew-transfer.js +16 -17
- package/dist/internal/planning/fleet-crew-transfer.js.map +1 -1
- package/dist/internal/planning/fleet-disband-guard.d.ts +2 -1
- package/dist/internal/planning/fleet-disband-guard.d.ts.map +1 -1
- package/dist/internal/planning/fleet-disband-guard.js +4 -5
- package/dist/internal/planning/fleet-disband-guard.js.map +1 -1
- package/dist/internal/planning/fleet-disband.d.ts +3 -3
- package/dist/internal/planning/fleet-disband.d.ts.map +1 -1
- package/dist/internal/planning/fleet-disband.js +11 -12
- package/dist/internal/planning/fleet-disband.js.map +1 -1
- package/dist/internal/planning/fleet-dock-funding-guard.d.ts +2 -1
- package/dist/internal/planning/fleet-dock-funding-guard.d.ts.map +1 -1
- package/dist/internal/planning/fleet-dock-funding-guard.js +2 -3
- package/dist/internal/planning/fleet-dock-funding-guard.js.map +1 -1
- package/dist/internal/planning/fleet-dock-funding.d.ts +2 -2
- package/dist/internal/planning/fleet-dock-funding.d.ts.map +1 -1
- package/dist/internal/planning/fleet-dock-funding.js +9 -9
- package/dist/internal/planning/fleet-dock-funding.js.map +1 -1
- package/dist/internal/planning/fleet-docking-guard.d.ts +2 -1
- package/dist/internal/planning/fleet-docking-guard.d.ts.map +1 -1
- package/dist/internal/planning/fleet-docking-guard.js +4 -5
- package/dist/internal/planning/fleet-docking-guard.js.map +1 -1
- package/dist/internal/planning/fleet-docking.d.ts +2 -2
- package/dist/internal/planning/fleet-docking.d.ts.map +1 -1
- package/dist/internal/planning/fleet-docking.js +11 -12
- package/dist/internal/planning/fleet-docking.js.map +1 -1
- package/dist/internal/planning/fleet-rental.d.ts +2 -1
- package/dist/internal/planning/fleet-rental.d.ts.map +1 -1
- package/dist/internal/planning/fleet-rental.js +2 -3
- package/dist/internal/planning/fleet-rental.js.map +1 -1
- package/dist/internal/planning/fleet-respawn.d.ts.map +1 -1
- package/dist/internal/planning/fleet-respawn.js +16 -18
- package/dist/internal/planning/fleet-respawn.js.map +1 -1
- package/dist/internal/planning/fleet-ship-assembly.d.ts +3 -3
- package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -1
- package/dist/internal/planning/fleet-ship-assembly.js +12 -13
- package/dist/internal/planning/fleet-ship-assembly.js.map +1 -1
- package/dist/internal/planning/governance-fees.d.ts.map +1 -1
- package/dist/internal/planning/governance-fees.js +12 -12
- package/dist/internal/planning/governance-fees.js.map +1 -1
- package/dist/internal/planning/local-market-order-funding.d.ts +2 -2
- package/dist/internal/planning/local-market-order-funding.d.ts.map +1 -1
- package/dist/internal/planning/local-market-order-funding.js +11 -11
- package/dist/internal/planning/local-market-order-funding.js.map +1 -1
- package/dist/internal/planning/local-market-order.d.ts +2 -1
- package/dist/internal/planning/local-market-order.d.ts.map +1 -1
- package/dist/internal/planning/local-market-order.js +4 -4
- package/dist/internal/planning/local-market-order.js.map +1 -1
- package/dist/internal/planning/market-storage-actions.d.ts +2 -2
- package/dist/internal/planning/market-storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/market-storage-actions.js +3 -3
- package/dist/internal/planning/market-storage-actions.js.map +1 -1
- package/dist/internal/planning/mining-stop.d.ts +3 -3
- package/dist/internal/planning/mining-stop.d.ts.map +1 -1
- package/dist/internal/planning/mining-stop.js +5 -6
- package/dist/internal/planning/mining-stop.js.map +1 -1
- package/dist/internal/planning/mining-storage-actions.d.ts +2 -2
- package/dist/internal/planning/mining-storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/mining-storage-actions.js +2 -2
- package/dist/internal/planning/mining-storage-actions.js.map +1 -1
- package/dist/internal/planning/movement-storage-actions.d.ts +2 -2
- package/dist/internal/planning/movement-storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/movement-storage-actions.js +2 -2
- package/dist/internal/planning/movement-storage-actions.js.map +1 -1
- package/dist/internal/planning/movement-xp-guard.d.ts +2 -1
- package/dist/internal/planning/movement-xp-guard.d.ts.map +1 -1
- package/dist/internal/planning/movement-xp-guard.js +3 -3
- package/dist/internal/planning/movement-xp-guard.js.map +1 -1
- package/dist/internal/planning/open-signal-guard.d.ts +2 -1
- package/dist/internal/planning/open-signal-guard.d.ts.map +1 -1
- package/dist/internal/planning/open-signal-guard.js +4 -4
- package/dist/internal/planning/open-signal-guard.js.map +1 -1
- package/dist/internal/planning/open-signal.d.ts +3 -3
- package/dist/internal/planning/open-signal.d.ts.map +1 -1
- package/dist/internal/planning/open-signal.js +12 -13
- package/dist/internal/planning/open-signal.js.map +1 -1
- package/dist/internal/planning/own-starbase-facts.d.ts +2 -2
- package/dist/internal/planning/own-starbase-facts.d.ts.map +1 -1
- package/dist/internal/planning/own-starbase-facts.js +7 -7
- package/dist/internal/planning/own-starbase-facts.js.map +1 -1
- package/dist/internal/planning/profile-storage-funding-guard.d.ts +3 -2
- package/dist/internal/planning/profile-storage-funding-guard.d.ts.map +1 -1
- package/dist/internal/planning/profile-storage-funding-guard.js +4 -5
- package/dist/internal/planning/profile-storage-funding-guard.js.map +1 -1
- package/dist/internal/planning/profile-storage-funding.d.ts +3 -3
- package/dist/internal/planning/profile-storage-funding.d.ts.map +1 -1
- package/dist/internal/planning/profile-storage-funding.js +5 -6
- package/dist/internal/planning/profile-storage-funding.js.map +1 -1
- package/dist/internal/planning/qualified-deployment.d.ts +11 -0
- package/dist/internal/planning/qualified-deployment.d.ts.map +1 -0
- package/dist/internal/planning/qualified-deployment.js +15 -0
- package/dist/internal/planning/qualified-deployment.js.map +1 -0
- package/dist/internal/planning/recipe-state.d.ts +3 -3
- package/dist/internal/planning/recipe-state.d.ts.map +1 -1
- package/dist/internal/planning/recipe-state.js +5 -5
- package/dist/internal/planning/recipe-state.js.map +1 -1
- package/dist/internal/planning/region-access.d.ts +5 -5
- package/dist/internal/planning/region-access.d.ts.map +1 -1
- package/dist/internal/planning/region-access.js +12 -12
- package/dist/internal/planning/region-access.js.map +1 -1
- package/dist/internal/planning/rent-catalog.d.ts +2 -2
- package/dist/internal/planning/rent-catalog.d.ts.map +1 -1
- package/dist/internal/planning/rent-catalog.js +8 -9
- package/dist/internal/planning/rent-catalog.js.map +1 -1
- package/dist/internal/planning/research-unlock.d.ts +4 -4
- package/dist/internal/planning/research-unlock.d.ts.map +1 -1
- package/dist/internal/planning/research-unlock.js +19 -21
- package/dist/internal/planning/research-unlock.js.map +1 -1
- package/dist/internal/planning/respawn-guards.d.ts +2 -1
- package/dist/internal/planning/respawn-guards.d.ts.map +1 -1
- package/dist/internal/planning/respawn-guards.js +2 -3
- package/dist/internal/planning/respawn-guards.js.map +1 -1
- package/dist/internal/planning/runtime-guards.d.ts +2 -2
- package/dist/internal/planning/runtime-guards.d.ts.map +1 -1
- package/dist/internal/planning/runtime-guards.js +10 -11
- package/dist/internal/planning/runtime-guards.js.map +1 -1
- package/dist/internal/planning/scan-completion-guard.d.ts +4 -3
- package/dist/internal/planning/scan-completion-guard.d.ts.map +1 -1
- package/dist/internal/planning/scan-completion-guard.js +7 -8
- package/dist/internal/planning/scan-completion-guard.js.map +1 -1
- package/dist/internal/planning/scan-completion.d.ts +1 -1
- package/dist/internal/planning/scan-completion.d.ts.map +1 -1
- package/dist/internal/planning/scan-completion.js +12 -14
- package/dist/internal/planning/scan-completion.js.map +1 -1
- package/dist/internal/planning/scan-detect-guard.d.ts +5 -4
- package/dist/internal/planning/scan-detect-guard.d.ts.map +1 -1
- package/dist/internal/planning/scan-detect-guard.js +7 -8
- package/dist/internal/planning/scan-detect-guard.js.map +1 -1
- package/dist/internal/planning/scan-detect.d.ts +2 -2
- package/dist/internal/planning/scan-detect.d.ts.map +1 -1
- package/dist/internal/planning/scan-detect.js +17 -18
- package/dist/internal/planning/scan-detect.js.map +1 -1
- package/dist/internal/planning/ship-import-funding.d.ts +3 -3
- package/dist/internal/planning/ship-import-funding.d.ts.map +1 -1
- package/dist/internal/planning/ship-import-funding.js +7 -7
- package/dist/internal/planning/ship-import-funding.js.map +1 -1
- package/dist/internal/planning/starbase-player-owner.d.ts +2 -1
- package/dist/internal/planning/starbase-player-owner.d.ts.map +1 -1
- package/dist/internal/planning/starbase-player-owner.js +3 -4
- package/dist/internal/planning/starbase-player-owner.js.map +1 -1
- package/dist/internal/planning/starbase-player-recovery-guard.d.ts +2 -1
- package/dist/internal/planning/starbase-player-recovery-guard.d.ts.map +1 -1
- package/dist/internal/planning/starbase-player-recovery-guard.js +4 -5
- package/dist/internal/planning/starbase-player-recovery-guard.js.map +1 -1
- package/dist/internal/planning/starbase-system-guard.d.ts +3 -2
- package/dist/internal/planning/starbase-system-guard.d.ts.map +1 -1
- package/dist/internal/planning/starbase-system-guard.js +8 -8
- package/dist/internal/planning/starbase-system-guard.js.map +1 -1
- package/dist/internal/planning/starbase-system.d.ts +2 -2
- package/dist/internal/planning/starbase-system.d.ts.map +1 -1
- package/dist/internal/planning/starbase-system.js +3 -3
- package/dist/internal/planning/starbase-system.js.map +1 -1
- package/dist/internal/planning/storage-action-readers.d.ts +2 -2
- package/dist/internal/planning/storage-action-readers.d.ts.map +1 -1
- package/dist/internal/planning/storage-action-readers.js +7 -5
- package/dist/internal/planning/storage-action-readers.js.map +1 -1
- package/dist/internal/planning/storage-actions.d.ts +4 -4
- package/dist/internal/planning/storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/storage-actions.js +7 -7
- package/dist/internal/planning/storage-actions.js.map +1 -1
- package/dist/internal/planning/trade-faction-market.d.ts +2 -1
- package/dist/internal/planning/trade-faction-market.d.ts.map +1 -1
- package/dist/internal/planning/trade-faction-market.js +6 -6
- package/dist/internal/planning/trade-faction-market.js.map +1 -1
- package/dist/internal/planning/wallet-starbase.d.ts +2 -2
- package/dist/internal/planning/wallet-starbase.d.ts.map +1 -1
- package/dist/internal/planning/wallet-starbase.js +7 -8
- package/dist/internal/planning/wallet-starbase.js.map +1 -1
- package/dist/internal/planning/xp-runtime.d.ts.map +1 -1
- package/dist/internal/planning/xp-runtime.js +13 -13
- package/dist/internal/planning/xp-runtime.js.map +1 -1
- package/dist/loyalty/actions/index.d.ts.map +1 -1
- package/dist/loyalty/actions/index.js +7 -7
- package/dist/loyalty/actions/index.js.map +1 -1
- package/dist/loyalty/index.d.ts.map +1 -1
- package/dist/loyalty/index.js +9 -9
- package/dist/loyalty/index.js.map +1 -1
- package/dist/markets/actions/index.d.ts +4 -2
- package/dist/markets/actions/index.d.ts.map +1 -1
- package/dist/markets/actions/index.js +28 -20
- package/dist/markets/actions/index.js.map +1 -1
- package/dist/markets/actions/trade-faction-market.d.ts.map +1 -1
- package/dist/markets/actions/trade-faction-market.js +22 -23
- package/dist/markets/actions/trade-faction-market.js.map +1 -1
- package/dist/markets/index.d.ts +12 -5
- package/dist/markets/index.d.ts.map +1 -1
- package/dist/markets/index.js +17 -10
- package/dist/markets/index.js.map +1 -1
- package/dist/mining/actions/index.d.ts.map +1 -1
- package/dist/mining/actions/index.js +25 -24
- package/dist/mining/actions/index.js.map +1 -1
- package/dist/mining/index.d.ts.map +1 -1
- package/dist/mining/index.js +2 -2
- package/dist/mining/index.js.map +1 -1
- package/dist/planning/assembly.d.ts +2 -2
- package/dist/planning/assembly.d.ts.map +1 -1
- package/dist/planning/assembly.js +6 -3
- package/dist/planning/assembly.js.map +1 -1
- package/dist/planning/execution.d.ts.map +1 -1
- package/dist/planning/execution.js +34 -35
- package/dist/planning/execution.js.map +1 -1
- package/dist/planning/index.d.ts +15 -3
- package/dist/planning/index.d.ts.map +1 -1
- package/dist/planning/index.js +32 -11
- package/dist/planning/index.js.map +1 -1
- package/dist/planning/plan-construction.d.ts +5 -2
- package/dist/planning/plan-construction.d.ts.map +1 -1
- package/dist/planning/plan-construction.js +16 -4
- package/dist/planning/plan-construction.js.map +1 -1
- package/dist/planning/plan-validation.d.ts +4 -3
- package/dist/planning/plan-validation.d.ts.map +1 -1
- package/dist/planning/plan-validation.js +56 -56
- package/dist/planning/plan-validation.js.map +1 -1
- package/dist/planning/simulation.js +1 -1
- package/dist/planning/simulation.js.map +1 -1
- package/dist/registry/cargo.d.ts.map +1 -1
- package/dist/registry/cargo.js +2 -2
- package/dist/registry/cargo.js.map +1 -1
- package/dist/registry/claim-stakes.d.ts.map +1 -1
- package/dist/registry/claim-stakes.js +1 -1
- package/dist/registry/claim-stakes.js.map +1 -1
- package/dist/registry/docking.d.ts +2 -2
- package/dist/registry/docking.d.ts.map +1 -1
- package/dist/registry/docking.js +2 -2
- package/dist/registry/docking.js.map +1 -1
- package/dist/registry/index.js +1 -1
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/onboarding.d.ts +2 -2
- package/dist/registry/onboarding.d.ts.map +1 -1
- package/dist/registry/onboarding.js +4 -4
- package/dist/registry/onboarding.js.map +1 -1
- package/dist/registry/scanning.js +1 -1
- package/dist/registry/scanning.js.map +1 -1
- package/dist/registry/ships.d.ts +3 -3
- package/dist/registry/ships.d.ts.map +1 -1
- package/dist/registry/ships.js +10 -7
- package/dist/registry/ships.js.map +1 -1
- package/dist/registry/xp-runtime.js +1 -1
- package/dist/registry/xp-runtime.js.map +1 -1
- package/dist/rewards/index.d.ts.map +1 -1
- package/dist/rewards/index.js +3 -3
- package/dist/rewards/index.js.map +1 -1
- package/dist/scanning/actions/index.d.ts.map +1 -1
- package/dist/scanning/actions/index.js +7 -7
- package/dist/scanning/actions/index.js.map +1 -1
- package/dist/scanning/index.d.ts.map +1 -1
- package/dist/scanning/index.js +4 -4
- package/dist/scanning/index.js.map +1 -1
- package/dist/scanning/signals.d.ts.map +1 -1
- package/dist/scanning/signals.js +1 -1
- package/dist/scanning/signals.js.map +1 -1
- package/dist/starbases/actions/index.d.ts.map +1 -1
- package/dist/starbases/actions/index.js +25 -26
- package/dist/starbases/actions/index.js.map +1 -1
- package/dist/starbases/index.d.ts.map +1 -1
- package/dist/starbases/index.js +1 -1
- package/dist/starbases/index.js.map +1 -1
- package/dist/world/index.d.ts +7 -4
- package/dist/world/index.d.ts.map +1 -1
- package/dist/world/index.js +11 -9
- package/dist/world/index.js.map +1 -1
- package/package.json +61 -31
- package/dist/internal/c4/mining-instructions.d.ts +0 -2
- package/dist/internal/c4/mining-instructions.d.ts.map +0 -1
- package/dist/internal/c4/mining-instructions.js +0 -3
- package/dist/internal/c4/mining-instructions.js.map +0 -1
|
@@ -277,7 +277,7 @@ export async function planFleetApplyCombatStimulant(ctx, fleet, stimulant, input
|
|
|
277
277
|
}
|
|
278
278
|
const [currentAccount] = await readContextRawAccounts(ctx, [fleet.address]);
|
|
279
279
|
const account = requireAccount(currentAccount, fleet.address, `Fleet ${fleet.name} (${fleet.address}) is missing. Refresh Fleet discovery and retry applying ${catalogued.cargo.name}.`);
|
|
280
|
-
const current = fleetAccountDefinition.decode(account);
|
|
280
|
+
const current = fleetAccountDefinition.decode(account, ctx.programs);
|
|
281
281
|
const snapshotFingerprint = [
|
|
282
282
|
fleet.address,
|
|
283
283
|
fleet.game,
|
|
@@ -296,14 +296,14 @@ export async function planFleetApplyCombatStimulant(ctx, fleet, stimulant, input
|
|
|
296
296
|
current.crewCount,
|
|
297
297
|
rawCargoFingerprint(current),
|
|
298
298
|
].join('|');
|
|
299
|
-
if ((await deriveFleetAddress(current)) !== fleet.address ||
|
|
299
|
+
if ((await deriveFleetAddress(ctx.programs, current)) !== fleet.address ||
|
|
300
300
|
currentFingerprint !== snapshotFingerprint) {
|
|
301
301
|
fail(`Fleet ${fleet.name} (${fleet.address}) changed or does not match its canonical Game, owner, label, state, crew count, or cargo hold. Refresh the Fleet through this context and retry.`, fleet.address);
|
|
302
302
|
}
|
|
303
303
|
if (current.crewCount <= 0) {
|
|
304
304
|
fail(`Fleet ${fleet.name} (${fleet.address}) has no crew and cannot apply a combat stimulant. Crew the Fleet, refresh it through this context, and retry.`, fleet.address);
|
|
305
305
|
}
|
|
306
|
-
const instruction = adaptApplyCombatStimulantInstruction({
|
|
306
|
+
const instruction = adaptApplyCombatStimulantInstruction(ctx.programs, {
|
|
307
307
|
authorization: options.authorization,
|
|
308
308
|
fleet: fleet.address,
|
|
309
309
|
game,
|
|
@@ -313,7 +313,7 @@ export async function planFleetApplyCombatStimulant(ctx, fleet, stimulant, input
|
|
|
313
313
|
// that from the Profile vault with the signing key.
|
|
314
314
|
const storage = await planFleetStorage(ctx, instruction, [account.address], options.authorization.profile, 'combat stimulant', catalogued.effects.map(({ stat }) => stimulantStatId(stat)));
|
|
315
315
|
const description = `Apply one ${catalogued.cargo.name} combat stimulant from Fleet ${fleet.name} (${fleet.address}); permission, stacking, charge application, and combat outcomes remain chain-authoritative. ${storage.disclosure}`;
|
|
316
|
-
return buildPlannerPlan({
|
|
316
|
+
return buildPlannerPlan(ctx.programs, {
|
|
317
317
|
kind: 'combat.apply-stimulant',
|
|
318
318
|
preconditions: [
|
|
319
319
|
await accountStatePrecondition(account, `Fleet ${fleet.name} retains its configured Game, owning Profile, supported crewed state, and known ${catalogued.cargo.name} cargo balance.`),
|
|
@@ -361,9 +361,9 @@ function attackFleetFingerprint(address, fleet, ships) {
|
|
|
361
361
|
ships,
|
|
362
362
|
].join('|');
|
|
363
363
|
}
|
|
364
|
-
async function validateCurrentAttackFleet(fleet, account) {
|
|
364
|
+
async function validateCurrentAttackFleet(programs, fleet, account) {
|
|
365
365
|
const currentAccount = requireAccount(account, fleet.address, `Fleet ${fleet.name} (${fleet.address}) is missing. Refresh Fleet discovery and retry the attack.`);
|
|
366
|
-
const current = fleetAccountDefinition.decode(currentAccount);
|
|
366
|
+
const current = fleetAccountDefinition.decode(currentAccount, programs);
|
|
367
367
|
const currentFingerprint = [
|
|
368
368
|
currentAccount.address,
|
|
369
369
|
currentAccount.address,
|
|
@@ -377,7 +377,7 @@ async function validateCurrentAttackFleet(fleet, account) {
|
|
|
377
377
|
current.npcFactionId,
|
|
378
378
|
rawShipFingerprint(current),
|
|
379
379
|
].join('|');
|
|
380
|
-
if ((await deriveFleetAddress(current)) !== fleet.address ||
|
|
380
|
+
if ((await deriveFleetAddress(programs, current)) !== fleet.address ||
|
|
381
381
|
currentFingerprint !==
|
|
382
382
|
attackFleetFingerprint(fleet.address, fleet, shipFingerprint(fleet))) {
|
|
383
383
|
fail(`Fleet ${fleet.name} (${fleet.address}) changed or does not match its canonical Game, owner, label, state, crew, AP, faction, or ship composition. Refresh both Fleets and retry.`, fleet.address);
|
|
@@ -388,9 +388,9 @@ async function validateCurrentAttackFleet(fleet, account) {
|
|
|
388
388
|
* chain time (a finished warp counts as Idle), carries its required crew, and
|
|
389
389
|
* has usable AP: stored AP refills right after an attack, but stays unusable
|
|
390
390
|
* until the reload completes. */
|
|
391
|
-
function validateAttackerReadiness(fleet, account, clock) {
|
|
391
|
+
function validateAttackerReadiness(programs, fleet, account, clock) {
|
|
392
392
|
const now = readClock(requireAccount(clock, CLOCK_ADDRESS, 'The Clock sysvar is missing. Refresh chain time and retry the attack.'));
|
|
393
|
-
const current = fleetAccountDefinition.decode(account);
|
|
393
|
+
const current = fleetAccountDefinition.decode(account, programs);
|
|
394
394
|
const label = `Attacking Fleet ${fleet.name} (${fleet.address})`;
|
|
395
395
|
const { state } = current;
|
|
396
396
|
if (state.kind !== 'idle' &&
|
|
@@ -404,7 +404,7 @@ function validateAttackerReadiness(fleet, account, clock) {
|
|
|
404
404
|
fail(`${label} has no usable ability power at chain time ${String(now)}: stored AP ${String(current.ap)} with reload completing at ${String(current.apReloadExpiresAt)}. Wait for the reload, refresh the Fleet, and retry.`, fleet.address);
|
|
405
405
|
}
|
|
406
406
|
async function optionalCrewBinding(ctx, fleet) {
|
|
407
|
-
const address = await deriveFleetCrewBindingAddress(fleet.address);
|
|
407
|
+
const address = await deriveFleetCrewBindingAddress(ctx.programs, fleet.address);
|
|
408
408
|
const [envelope] = await ctx.data.readMany(fleetCrewBindingAccountDefinition, [address]);
|
|
409
409
|
if (envelope !== undefined &&
|
|
410
410
|
!matchesFleetCrewBindingIdentity(envelope.data, fleet.address, fleet.ownerProfile.address)) {
|
|
@@ -417,8 +417,8 @@ async function resolveRewardAccounts(ctx, fleet, registry, config, epochIndex) {
|
|
|
417
417
|
if (resolvedFaction === 0)
|
|
418
418
|
return { config, registry };
|
|
419
419
|
const [epochAddress, contributionAddress] = await Promise.all([
|
|
420
|
-
deriveLoyaltyEpochAddress(fleet.game, resolvedFaction, epochIndex),
|
|
421
|
-
deriveLoyaltyContributionAddress(fleet.game, fleet.ownerProfile.address, resolvedFaction, epochIndex),
|
|
420
|
+
deriveLoyaltyEpochAddress(ctx.programs, fleet.game, resolvedFaction, epochIndex),
|
|
421
|
+
deriveLoyaltyContributionAddress(ctx.programs, fleet.game, fleet.ownerProfile.address, resolvedFaction, epochIndex),
|
|
422
422
|
]);
|
|
423
423
|
const [[epoch], [contribution]] = await Promise.all([
|
|
424
424
|
ctx.data.readMany(loyaltyEpochAccountDefinition, [epochAddress]),
|
|
@@ -454,13 +454,16 @@ async function resolveNpcAccounts(ctx, fleet, withFaction) {
|
|
|
454
454
|
if (fleet.npcFactionId === 0)
|
|
455
455
|
return {};
|
|
456
456
|
const addresses = await Promise.all([
|
|
457
|
-
deriveFactionOwnershipAddress(fleet.game, 'fleet', fleet.address),
|
|
457
|
+
deriveFactionOwnershipAddress(ctx.programs, fleet.game, 'fleet', fleet.address),
|
|
458
458
|
...(withFaction
|
|
459
|
-
? [
|
|
459
|
+
? [
|
|
460
|
+
deriveFactionAccountAddress(ctx.programs, fleet.game, fleet.npcFactionId),
|
|
461
|
+
]
|
|
460
462
|
: []),
|
|
461
463
|
]);
|
|
462
464
|
const [ownership, faction] = await readContextRawAccounts(ctx, addresses);
|
|
463
|
-
const ownershipData = ownership &&
|
|
465
|
+
const ownershipData = ownership &&
|
|
466
|
+
factionOwnershipAccountDefinition.decode(ownership, ctx.programs);
|
|
464
467
|
if (ownership === undefined ||
|
|
465
468
|
ownershipData?.game !== fleet.game ||
|
|
466
469
|
ownershipData.asset.kind !== 'fleet' ||
|
|
@@ -470,7 +473,7 @@ async function resolveNpcAccounts(ctx, fleet, withFaction) {
|
|
|
470
473
|
}
|
|
471
474
|
if (!withFaction)
|
|
472
475
|
return { ownership };
|
|
473
|
-
const factionData = faction && factionAccountDefinition.decode(faction);
|
|
476
|
+
const factionData = faction && factionAccountDefinition.decode(faction, ctx.programs);
|
|
474
477
|
if (faction === undefined ||
|
|
475
478
|
factionData?.game !== fleet.game ||
|
|
476
479
|
factionData.factionId !== fleet.npcFactionId) {
|
|
@@ -565,16 +568,16 @@ export async function planFleetAttackFleet(ctx, attacker, defender, inputStance,
|
|
|
565
568
|
fail(`Loot account ${options.loot} already exists. Generate a new unused Loot signer address and retry.`, options.loot);
|
|
566
569
|
}
|
|
567
570
|
const [attackerAccount, defenderAccount] = await Promise.all([
|
|
568
|
-
validateCurrentAttackFleet(attacker, currentAccounts[0]),
|
|
569
|
-
validateCurrentAttackFleet(defender, currentAccounts[1]),
|
|
571
|
+
validateCurrentAttackFleet(ctx.programs, attacker, currentAccounts[0]),
|
|
572
|
+
validateCurrentAttackFleet(ctx.programs, defender, currentAccounts[1]),
|
|
570
573
|
]);
|
|
571
|
-
validateAttackerReadiness(attacker, attackerAccount, currentAccounts[3]);
|
|
572
|
-
const registryAddress = await deriveAtlasRewardRegistryAddress(game);
|
|
574
|
+
validateAttackerReadiness(ctx.programs, attacker, attackerAccount, currentAccounts[3]);
|
|
575
|
+
const registryAddress = await deriveAtlasRewardRegistryAddress(ctx.programs, game);
|
|
573
576
|
const registry = await ctx.data.read(atlasRewardRegistryAccountDefinition, registryAddress);
|
|
574
577
|
if (registry.data.game !== game) {
|
|
575
578
|
fail(`AtlasRewardRegistry ${registryAddress} belongs to another Game. Refresh the configured reward registry and retry.`, registryAddress);
|
|
576
579
|
}
|
|
577
|
-
const rewardConfig = await deriveAtlasRewardConfigAddress(game, registry.data.activeConfigVersion);
|
|
580
|
+
const rewardConfig = await deriveAtlasRewardConfigAddress(ctx.programs, game, registry.data.activeConfigVersion);
|
|
578
581
|
const [attackerRewards, defenderRewards, crewBinding, attackerNpc, defenderNpc,] = await Promise.all([
|
|
579
582
|
resolveRewardAccounts(ctx, attacker, registryAddress, rewardConfig, registry.data.currentEpoch),
|
|
580
583
|
resolveRewardAccounts(ctx, defender, registryAddress, rewardConfig, registry.data.currentEpoch),
|
|
@@ -583,10 +586,10 @@ export async function planFleetAttackFleet(ctx, attacker, defender, inputStance,
|
|
|
583
586
|
resolveNpcAccounts(ctx, defender, false),
|
|
584
587
|
]);
|
|
585
588
|
const [character, defenderCharacter, regionTracker, factionRelationTracker] = await Promise.all([
|
|
586
|
-
findCharacterPda(attacker.ownerProfile.address, game),
|
|
587
|
-
findCharacterPda(defender.ownerProfile.address, game),
|
|
588
|
-
deriveRegionTrackerAddress(game),
|
|
589
|
-
deriveFactionRelationTrackerAddress(game),
|
|
589
|
+
findCharacterPda(ctx.programs, attacker.ownerProfile.address, game),
|
|
590
|
+
findCharacterPda(ctx.programs, defender.ownerProfile.address, game),
|
|
591
|
+
deriveRegionTrackerAddress(ctx.programs, game),
|
|
592
|
+
deriveFactionRelationTrackerAddress(ctx.programs, game),
|
|
590
593
|
]);
|
|
591
594
|
const actorIntent = {
|
|
592
595
|
address: attacker.address,
|
|
@@ -612,7 +615,7 @@ export async function planFleetAttackFleet(ctx, attacker, defender, inputStance,
|
|
|
612
615
|
accounts: xp.accounts,
|
|
613
616
|
describes: 'Both operator XP budgets remain canonical and reconciled; earned XP and bank balances may change.',
|
|
614
617
|
}));
|
|
615
|
-
const instruction = adaptAttackFleetInstruction({
|
|
618
|
+
const instruction = adaptAttackFleetInstruction(ctx.programs, {
|
|
616
619
|
...(attackerNpc.faction === undefined
|
|
617
620
|
? {}
|
|
618
621
|
: { attackerFactionAccount: attackerNpc.faction.address }),
|
|
@@ -658,7 +661,7 @@ export async function planFleetAttackFleet(ctx, attacker, defender, inputStance,
|
|
|
658
661
|
stance: generatedStance(stance),
|
|
659
662
|
});
|
|
660
663
|
const description = `Attack Fleet ${defender.name} (${defender.address}) with Fleet ${attacker.name} (${attacker.address}) using ${stance.ammoUsage} ammunition; range, randomness, rewards, Loot, damage, and final combat arithmetic remain chain-authoritative.`;
|
|
661
|
-
return buildPlannerPlan({
|
|
664
|
+
return buildPlannerPlan(ctx.programs, {
|
|
662
665
|
kind: 'combat.attack-fleet',
|
|
663
666
|
preconditions: [
|
|
664
667
|
{
|
|
@@ -738,35 +741,36 @@ export async function planFleetAttackStarbase(ctx, attacker, target, inputStance
|
|
|
738
741
|
if (target.game !== game) {
|
|
739
742
|
fail(`Target Star System ${target.address} belongs to Game ${target.game}, not configured Game ${game}. Refresh the target through this context and retry.`, target.address);
|
|
740
743
|
}
|
|
741
|
-
if ((await deriveStarSystemAddress(game, target.systemId)) !==
|
|
744
|
+
if ((await deriveStarSystemAddress(ctx.programs, game, target.systemId)) !==
|
|
745
|
+
target.address) {
|
|
742
746
|
fail(`Target Star System ${target.address} is not the canonical member for Game ${game} and system id ${String(target.systemId)}. Refresh the target through this context and retry.`, target.address);
|
|
743
747
|
}
|
|
744
748
|
if (target.starbase === undefined) {
|
|
745
749
|
fail(`Target Star System ${target.name} (${target.address}) has no shared Starbase. Choose a System with a shared Starbase and retry.`, target.address);
|
|
746
750
|
}
|
|
747
751
|
const [relationTrackerAddress, ownershipAddress, registryAddress, kingTracker, character, regionTracker, crewBindingAddress,] = await Promise.all([
|
|
748
|
-
deriveFactionRelationTrackerAddress(game),
|
|
749
|
-
deriveFactionOwnershipAddress(game, 'starbase', target.address),
|
|
750
|
-
deriveAtlasRewardRegistryAddress(game),
|
|
751
|
-
deriveKingSystemTrackerAddress(game),
|
|
752
|
-
findCharacterPda(attacker.ownerProfile.address, game),
|
|
753
|
-
deriveRegionTrackerAddress(game),
|
|
754
|
-
deriveFleetCrewBindingAddress(attacker.address),
|
|
752
|
+
deriveFactionRelationTrackerAddress(ctx.programs, game),
|
|
753
|
+
deriveFactionOwnershipAddress(ctx.programs, game, 'starbase', target.address),
|
|
754
|
+
deriveAtlasRewardRegistryAddress(ctx.programs, game),
|
|
755
|
+
deriveKingSystemTrackerAddress(ctx.programs, game),
|
|
756
|
+
findCharacterPda(ctx.programs, attacker.ownerProfile.address, game),
|
|
757
|
+
deriveRegionTrackerAddress(ctx.programs, game),
|
|
758
|
+
deriveFleetCrewBindingAddress(ctx.programs, attacker.address),
|
|
755
759
|
]);
|
|
756
760
|
const [[probeRelationsAccount, probeRegistryAccount], attackerNpc, rent] = await Promise.all([
|
|
757
761
|
readContextRawAccounts(ctx, [relationTrackerAddress, registryAddress]),
|
|
758
762
|
resolveNpcAccounts(ctx, attacker, true),
|
|
759
763
|
requireDisabledLevelRent(ctx, game, target, 'the Starbase attack'),
|
|
760
764
|
]);
|
|
761
|
-
const probeRelations = factionRelationTrackerAccountDefinition.decode(requireAccount(probeRelationsAccount, relationTrackerAddress, `FactionRelationTracker ${relationTrackerAddress} is missing. Refresh faction relationships and retry.`));
|
|
762
|
-
const probeRegistry = atlasRewardRegistryAccountDefinition.decode(requireAccount(probeRegistryAccount, registryAddress, `AtlasRewardRegistry ${registryAddress} is missing. Refresh reward configuration and retry.`));
|
|
765
|
+
const probeRelations = factionRelationTrackerAccountDefinition.decode(requireAccount(probeRelationsAccount, relationTrackerAddress, `FactionRelationTracker ${relationTrackerAddress} is missing. Refresh faction relationships and retry.`), ctx.programs);
|
|
766
|
+
const probeRegistry = atlasRewardRegistryAccountDefinition.decode(requireAccount(probeRegistryAccount, registryAddress, `AtlasRewardRegistry ${registryAddress} is missing. Refresh reward configuration and retry.`), ctx.programs);
|
|
763
767
|
if (probeRelations.game !== game) {
|
|
764
768
|
fail(`FactionRelationTracker ${relationTrackerAddress} belongs to another Game. Refresh faction relationships and retry.`, relationTrackerAddress);
|
|
765
769
|
}
|
|
766
770
|
if (probeRegistry.game !== game) {
|
|
767
771
|
fail(`AtlasRewardRegistry ${registryAddress} belongs to another Game. Refresh the configured reward registry and retry.`, registryAddress);
|
|
768
772
|
}
|
|
769
|
-
const rewardConfigAddress = await deriveAtlasRewardConfigAddress(game, probeRegistry.activeConfigVersion);
|
|
773
|
+
const rewardConfigAddress = await deriveAtlasRewardConfigAddress(ctx.programs, game, probeRegistry.activeConfigVersion);
|
|
770
774
|
const requiresNpcEconomy = attacker.npcFactionId > 0 &&
|
|
771
775
|
probeRelations.dynamicCaptureEnabled &&
|
|
772
776
|
probeRelations.nemesisActive;
|
|
@@ -774,8 +778,8 @@ export async function planFleetAttackStarbase(ctx, attacker, target, inputStance
|
|
|
774
778
|
let captorTreasury;
|
|
775
779
|
if (requiresNpcEconomy) {
|
|
776
780
|
[factionEconomicsConfig, captorTreasury] = await Promise.all([
|
|
777
|
-
deriveFactionEconomicsConfigAddress(game),
|
|
778
|
-
deriveFactionTreasuryAddress(game, attacker.npcFactionId),
|
|
781
|
+
deriveFactionEconomicsConfigAddress(ctx.programs, game),
|
|
782
|
+
deriveFactionTreasuryAddress(ctx.programs, game, attacker.npcFactionId),
|
|
779
783
|
]);
|
|
780
784
|
}
|
|
781
785
|
const dependencyAddresses = [
|
|
@@ -802,17 +806,17 @@ export async function planFleetAttackStarbase(ctx, attacker, target, inputStance
|
|
|
802
806
|
if (current.get(options.loot) !== undefined) {
|
|
803
807
|
fail(`Loot account ${options.loot} already exists. Generate a new unused Loot signer address and retry.`, options.loot);
|
|
804
808
|
}
|
|
805
|
-
const attackerAccount = await validateCurrentAttackFleet(attacker, current.get(attacker.address));
|
|
806
|
-
validateAttackerReadiness(attacker, attackerAccount, current.get(CLOCK_ADDRESS));
|
|
809
|
+
const attackerAccount = await validateCurrentAttackFleet(ctx.programs, attacker, current.get(attacker.address));
|
|
810
|
+
validateAttackerReadiness(ctx.programs, attacker, attackerAccount, current.get(CLOCK_ADDRESS));
|
|
807
811
|
const systemAccount = requireAccount(current.get(target.address), target.address, `Target Star System ${target.name} (${target.address}) is missing. Refresh world state and retry the attack.`);
|
|
808
|
-
const currentSystem = starSystemAccountDefinition.decode(systemAccount);
|
|
809
|
-
if ((await deriveStarSystemAddress(currentSystem.game, currentSystem.systemId)) !== target.address ||
|
|
812
|
+
const currentSystem = starSystemAccountDefinition.decode(systemAccount, ctx.programs);
|
|
813
|
+
if ((await deriveStarSystemAddress(ctx.programs, currentSystem.game, currentSystem.systemId)) !== target.address ||
|
|
810
814
|
systemFingerprint({ ...currentSystem, address: systemAccount.address }) !==
|
|
811
815
|
systemFingerprint(target)) {
|
|
812
816
|
fail(`Target Star System ${target.name} (${target.address}) changed or does not match its canonical Game, identity, sequence, or shared Starbase state. Refresh the target and retry.`, target.address);
|
|
813
817
|
}
|
|
814
818
|
const relationsAccount = requireAccount(current.get(relationTrackerAddress), relationTrackerAddress, `FactionRelationTracker ${relationTrackerAddress} is missing. Refresh faction relationships and retry.`);
|
|
815
|
-
const relations = factionRelationTrackerAccountDefinition.decode(relationsAccount);
|
|
819
|
+
const relations = factionRelationTrackerAccountDefinition.decode(relationsAccount, ctx.programs);
|
|
816
820
|
if (relations.game !== game ||
|
|
817
821
|
relations.dynamicCaptureEnabled !== probeRelations.dynamicCaptureEnabled ||
|
|
818
822
|
relations.nemesisActive !== probeRelations.nemesisActive) {
|
|
@@ -823,7 +827,7 @@ export async function planFleetAttackStarbase(ctx, attacker, target, inputStance
|
|
|
823
827
|
: undefined;
|
|
824
828
|
const ownership = ownershipAccount === undefined
|
|
825
829
|
? undefined
|
|
826
|
-
: factionOwnershipAccountDefinition.decode(ownershipAccount);
|
|
830
|
+
: factionOwnershipAccountDefinition.decode(ownershipAccount, ctx.programs);
|
|
827
831
|
if (ownership === undefined && relations.dynamicCaptureEnabled) {
|
|
828
832
|
fail(`Target Starbase ${target.address} requires canonical FactionOwnership while dynamic capture is enabled. Refresh Starbase ownership and retry.`, ownershipAddress);
|
|
829
833
|
}
|
|
@@ -838,20 +842,20 @@ export async function planFleetAttackStarbase(ctx, attacker, target, inputStance
|
|
|
838
842
|
}
|
|
839
843
|
const effectiveOwner = ownership?.controllingFactionId ?? legacyOwner;
|
|
840
844
|
const registryAccount = requireAccount(current.get(registryAddress), registryAddress, `AtlasRewardRegistry ${registryAddress} is missing. Refresh reward configuration and retry.`);
|
|
841
|
-
const registry = atlasRewardRegistryAccountDefinition.decode(registryAccount);
|
|
845
|
+
const registry = atlasRewardRegistryAccountDefinition.decode(registryAccount, ctx.programs);
|
|
842
846
|
if (registry.game !== game ||
|
|
843
847
|
registry.activeConfigVersion !== probeRegistry.activeConfigVersion) {
|
|
844
848
|
fail(`AtlasRewardRegistry ${registryAddress} changed or belongs to another Game. Refresh the configured reward registry and retry.`, registryAddress);
|
|
845
849
|
}
|
|
846
850
|
const rewardConfigAccount = requireAccount(current.get(rewardConfigAddress), rewardConfigAddress, `AtlasRewardConfig ${rewardConfigAddress} is missing. Refresh reward configuration and retry.`);
|
|
847
|
-
const rewardConfig = atlasRewardConfigAccountDefinition.decode(rewardConfigAccount);
|
|
851
|
+
const rewardConfig = atlasRewardConfigAccountDefinition.decode(rewardConfigAccount, ctx.programs);
|
|
848
852
|
if (rewardConfig.game !== game ||
|
|
849
853
|
rewardConfig.configVersion !== registry.activeConfigVersion ||
|
|
850
854
|
rewardConfig.effectiveEpoch > registry.currentEpoch) {
|
|
851
855
|
fail(`AtlasRewardConfig ${rewardConfigAddress} does not match the configured Game and active registry version or is not yet effective for the current epoch. Refresh reward configuration and retry.`, rewardConfigAddress);
|
|
852
856
|
}
|
|
853
857
|
const kingAccount = requireAccount(current.get(kingTracker), kingTracker, `KingSystemTracker ${kingTracker} is missing. Refresh King-system ownership and retry.`);
|
|
854
|
-
const king = kingSystemTrackerAccountDefinition.decode(kingAccount);
|
|
858
|
+
const king = kingSystemTrackerAccountDefinition.decode(kingAccount, ctx.programs);
|
|
855
859
|
const kingTarget = king.systems.find(({ systemId }) => systemId === currentSystem.systemId);
|
|
856
860
|
if (king.game !== game ||
|
|
857
861
|
kingTarget === undefined ||
|
|
@@ -859,19 +863,19 @@ export async function planFleetAttackStarbase(ctx, attacker, target, inputStance
|
|
|
859
863
|
fail(`KingSystemTracker ${kingTracker} does not contain target System ${String(currentSystem.systemId)} with its current effective owner ${String(effectiveOwner)}. Refresh King-system ownership and retry.`, kingTracker);
|
|
860
864
|
}
|
|
861
865
|
const characterAccount = requireAccount(current.get(character), character, `Character ${character} is missing for Profile ${attacker.ownerProfile.address}. Refresh the Profile Character registration and retry.`);
|
|
862
|
-
const characterData = characterAccountDefinition.decode(characterAccount);
|
|
866
|
+
const characterData = characterAccountDefinition.decode(characterAccount, ctx.programs);
|
|
863
867
|
if (characterData.game !== game ||
|
|
864
868
|
characterData.playerProfile !== attacker.ownerProfile.address) {
|
|
865
869
|
fail(`Character ${character} does not match Profile ${attacker.ownerProfile.address} and configured Game ${game}. Refresh the Profile Character registration and retry.`, character);
|
|
866
870
|
}
|
|
867
871
|
const regionTrackerAccount = requireAccount(current.get(regionTracker), regionTracker, `RegionTracker ${regionTracker} is missing for configured Game ${game}. Refresh world region data and retry.`);
|
|
868
|
-
const regionTrackerData = regionTrackerAccountDefinition.decode(regionTrackerAccount);
|
|
872
|
+
const regionTrackerData = regionTrackerAccountDefinition.decode(regionTrackerAccount, ctx.programs);
|
|
869
873
|
if (regionTrackerData.game !== game) {
|
|
870
874
|
fail(`RegionTracker ${regionTracker} does not match configured Game ${game}. Refresh world region data and retry.`, regionTracker);
|
|
871
875
|
}
|
|
872
876
|
// The attack reads the target's stored Region. When the Region map agrees,
|
|
873
877
|
// guard only that Region's access data; otherwise keep the whole tracker.
|
|
874
|
-
const regionAccess = (await regionsContainingSystem(regionTrackerAccount, systemAccount, game))
|
|
878
|
+
const regionAccess = (await regionsContainingSystem(ctx.programs, regionTrackerAccount, systemAccount, game))
|
|
875
879
|
.map(({ id }) => id)
|
|
876
880
|
.join() === String(currentSystem.regionId ?? '')
|
|
877
881
|
? {
|
|
@@ -879,14 +883,14 @@ export async function planFleetAttackStarbase(ctx, attacker, target, inputStance
|
|
|
879
883
|
address: regionTracker,
|
|
880
884
|
game,
|
|
881
885
|
system: target.address,
|
|
882
|
-
accessHash: await hashRegionAccess(regionTrackerAccount, systemAccount, game),
|
|
886
|
+
accessHash: await hashRegionAccess(ctx.programs, regionTrackerAccount, systemAccount, game),
|
|
883
887
|
describes: `The Region holding target Star System ${target.name} keeps its owner, safety status and risk zone; other Regions may change.`,
|
|
884
888
|
}
|
|
885
889
|
: undefined;
|
|
886
890
|
const crewBindingAccount = current.get(crewBindingAddress);
|
|
887
891
|
const crewBinding = crewBindingAccount === undefined ? undefined : crewBindingAddress;
|
|
888
892
|
if (crewBindingAccount !== undefined) {
|
|
889
|
-
const data = fleetCrewBindingAccountDefinition.decode(crewBindingAccount);
|
|
893
|
+
const data = fleetCrewBindingAccountDefinition.decode(crewBindingAccount, ctx.programs);
|
|
890
894
|
if (!matchesFleetCrewBindingIdentity(data, attacker.address, attacker.ownerProfile.address)) {
|
|
891
895
|
fail(`FleetCrewBinding ${crewBindingAddress} does not belong to Fleet ${attacker.address} and Profile ${attacker.ownerProfile.address}. Refresh the Fleet crew relationship and retry.`, crewBindingAddress);
|
|
892
896
|
}
|
|
@@ -896,8 +900,8 @@ export async function planFleetAttackStarbase(ctx, attacker, target, inputStance
|
|
|
896
900
|
if (factionEconomicsConfig !== undefined && captorTreasury !== undefined) {
|
|
897
901
|
economicsAccount = requireAccount(current.get(factionEconomicsConfig), factionEconomicsConfig, `FactionEconomicsConfig ${factionEconomicsConfig} is missing. Refresh faction economics and retry.`);
|
|
898
902
|
treasuryAccount = requireAccount(current.get(captorTreasury), captorTreasury, `FactionTreasury ${captorTreasury} is missing. Refresh the captor treasury and retry.`);
|
|
899
|
-
const economics = factionEconomicsConfigAccountDefinition.decode(economicsAccount);
|
|
900
|
-
const treasury = factionTreasuryAccountDefinition.decode(treasuryAccount);
|
|
903
|
+
const economics = factionEconomicsConfigAccountDefinition.decode(economicsAccount, ctx.programs);
|
|
904
|
+
const treasury = factionTreasuryAccountDefinition.decode(treasuryAccount, ctx.programs);
|
|
901
905
|
if (economics.game !== game) {
|
|
902
906
|
fail(`FactionEconomicsConfig ${factionEconomicsConfig} belongs to another Game. Refresh faction economics and retry.`, factionEconomicsConfig);
|
|
903
907
|
}
|
|
@@ -990,11 +994,11 @@ export async function planFleetAttackStarbase(ctx, attacker, target, inputStance
|
|
|
990
994
|
mode: 'starbase-attack',
|
|
991
995
|
game,
|
|
992
996
|
system: target.address,
|
|
993
|
-
starbaseSeqId: starSystemAccountDefinition.decode(systemAccount).sequenceId,
|
|
997
|
+
starbaseSeqId: starSystemAccountDefinition.decode(systemAccount, ctx.programs).sequenceId,
|
|
994
998
|
character,
|
|
995
999
|
});
|
|
996
1000
|
const description = `Attack with Fleet ${attacker.name} (${attacker.address}) against the shared Starbase at ${target.name} (${target.address}) using ${stance.ammoUsage} ammunition; range, capture-cost debit outcome, randomness, rewards, Loot, damage, and final admissibility remain chain-authoritative.`;
|
|
997
|
-
return buildPlannerPlan({
|
|
1001
|
+
return buildPlannerPlan(ctx.programs, {
|
|
998
1002
|
kind: 'combat.attack-starbase',
|
|
999
1003
|
preconditions: [
|
|
1000
1004
|
...statePreconditions,
|
|
@@ -1006,7 +1010,7 @@ export async function planFleetAttackStarbase(ctx, attacker, target, inputStance
|
|
|
1006
1010
|
steps: [
|
|
1007
1011
|
{
|
|
1008
1012
|
describes: `${description} ${runtime.description}`,
|
|
1009
|
-
instruction: adaptAttackStarbaseInstruction({
|
|
1013
|
+
instruction: adaptAttackStarbaseInstruction(ctx.programs, {
|
|
1010
1014
|
...runtime.accounts,
|
|
1011
1015
|
...(attackerNpc.faction === undefined
|
|
1012
1016
|
? {}
|
|
@@ -1130,8 +1134,8 @@ export async function planFleetRetrieveLoot(ctx, fleet, loot, inputWant, inputOp
|
|
|
1130
1134
|
const selection = validateLootSelection(inputWant, loot, fleet, options.authorization.profile, options.atUnixSeconds);
|
|
1131
1135
|
const [fleetAccountValue, lootAccountValue] = await readContextRawAccounts(ctx, [fleet.address, loot.address]);
|
|
1132
1136
|
const fleetAccount = requireAccount(fleetAccountValue, fleet.address, `Fleet ${fleet.name} (${fleet.address}) is missing. Refresh Fleet discovery and retry retrieving Loot.`);
|
|
1133
|
-
const currentFleet = fleetAccountDefinition.decode(fleetAccount);
|
|
1134
|
-
if ((await deriveFleetAddress(currentFleet)) !== fleet.address ||
|
|
1137
|
+
const currentFleet = fleetAccountDefinition.decode(fleetAccount, ctx.programs);
|
|
1138
|
+
if ((await deriveFleetAddress(ctx.programs, currentFleet)) !== fleet.address ||
|
|
1135
1139
|
currentFleet.game !== fleet.game ||
|
|
1136
1140
|
currentFleet.ownerProfile !== fleet.ownerProfile.address ||
|
|
1137
1141
|
currentFleet.name !== fleet.name ||
|
|
@@ -1147,7 +1151,7 @@ export async function planFleetRetrieveLoot(ctx, fleet, loot, inputWant, inputOp
|
|
|
1147
1151
|
fail(`Fleet ${fleet.name} (${fleet.address}) has no usable ability power at ${String(options.atUnixSeconds)} Unix seconds: stored AP ${String(currentFleet.ap)} with reload completing at ${String(currentFleet.apReloadExpiresAt)}. Retrieving Loot spends the whole AP pool; wait for the reload, refresh the Fleet, and retry.`, fleet.address);
|
|
1148
1152
|
}
|
|
1149
1153
|
const lootAccount = requireAccount(lootAccountValue, loot.address, `Loot ${loot.address} is no longer available. Refresh Loot discovery and choose an available account before retrying.`);
|
|
1150
|
-
const currentLoot = lootAccountDefinition.decode(lootAccount);
|
|
1154
|
+
const currentLoot = lootAccountDefinition.decode(lootAccount, ctx.programs);
|
|
1151
1155
|
if (rawLootFingerprint(lootAccount.address, currentLoot) !==
|
|
1152
1156
|
lootSnapshotFingerprint(loot)) {
|
|
1153
1157
|
fail(`Loot ${loot.address} changed or no longer matches its loaded identity, Profile, coordinates, exclusivity, or known inventory. Refresh the Loot snapshot and retry.`, loot.address);
|
|
@@ -1155,7 +1159,7 @@ export async function planFleetRetrieveLoot(ctx, fleet, loot, inputWant, inputOp
|
|
|
1155
1159
|
const lootCreator = loot.profile.address === options.authorization.profile
|
|
1156
1160
|
? undefined
|
|
1157
1161
|
: loot.profile.address;
|
|
1158
|
-
const instruction = adaptRetrieveLootInstruction({
|
|
1162
|
+
const instruction = adaptRetrieveLootInstruction(ctx.programs, {
|
|
1159
1163
|
authorization: options.authorization,
|
|
1160
1164
|
fleet: fleet.address,
|
|
1161
1165
|
game,
|
|
@@ -1171,7 +1175,7 @@ export async function planFleetRetrieveLoot(ctx, fleet, loot, inputWant, inputOp
|
|
|
1171
1175
|
// Profile vault before the emptied Loot refunds its rent.
|
|
1172
1176
|
const storage = await planFleetStorage(ctx, instruction, [fleetAccount.address], options.authorization.profile, 'Loot retrieval');
|
|
1173
1177
|
const description = `Request ${selection.summary} from Loot ${loot.address} with Fleet ${fleet.name} (${fleet.address}); this spends the Fleet's whole ability power pool. Range, recent-slot randomness, cargo capacity, availability races, and final transfer quantities remain chain-authoritative. ${storage.disclosure}`;
|
|
1174
|
-
return buildPlannerPlan({
|
|
1178
|
+
return buildPlannerPlan(ctx.programs, {
|
|
1175
1179
|
kind: 'combat.retrieve-loot',
|
|
1176
1180
|
preconditions: [
|
|
1177
1181
|
await accountStatePrecondition(fleetAccount, `Fleet ${fleet.name} retains its configured Game, owning Profile, idle state, and normalized crew.`),
|
|
@@ -1195,8 +1199,8 @@ async function planFleetStorage(ctx, instruction, addresses, profile, label, sti
|
|
|
1195
1199
|
const all = [...addresses, profile, RENT_ADDRESS];
|
|
1196
1200
|
const rows = await readContextRawAccounts(ctx, all);
|
|
1197
1201
|
const accounts = new Map(all.map((address, index) => [address, rows[index]]));
|
|
1198
|
-
return planStorageFunding({
|
|
1199
|
-
action: readCombatStorageAction(instruction, accounts, stimulantStats),
|
|
1202
|
+
return planStorageFunding(ctx.programs, {
|
|
1203
|
+
action: readCombatStorageAction(ctx.programs, instruction, accounts, stimulantStats),
|
|
1200
1204
|
accounts,
|
|
1201
1205
|
label,
|
|
1202
1206
|
});
|