@aephia/atlas-kit 0.7.0-next.2 → 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/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 +1 -1
- 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
|
@@ -298,11 +298,11 @@ export async function planPlaceClaimStake(ctx, body, player, input) {
|
|
|
298
298
|
if (body.game !== game) {
|
|
299
299
|
fail(`Celestial Body ${body.address} does not match the configured Game ${game}. Refresh the Body through this context and retry.`, body.address);
|
|
300
300
|
}
|
|
301
|
-
const canonicalBody = await deriveCelestialBodyAddress(game, body.id);
|
|
301
|
+
const canonicalBody = await deriveCelestialBodyAddress(ctx.programs, game, body.id);
|
|
302
302
|
if (canonicalBody !== body.address) {
|
|
303
303
|
fail(`Celestial Body ${body.address} is not the canonical Body ${String(body.id)} for the configured Game. Refresh the Body and retry.`, body.address);
|
|
304
304
|
}
|
|
305
|
-
const character = await requireProfileStarbasePlayer(player, options.authorization.profile, game);
|
|
305
|
+
const character = await requireProfileStarbasePlayer(ctx.programs, player, options.authorization.profile, game);
|
|
306
306
|
if (body.system.address !== player.system.address) {
|
|
307
307
|
fail(`Celestial Body ${body.address} belongs to System ${body.system.address}, but Starbase Player ${player.address} belongs to System ${player.system.address}. Choose both snapshots from the same System and retry.`, body.address);
|
|
308
308
|
}
|
|
@@ -348,11 +348,11 @@ export async function planPlaceClaimStake(ctx, body, player, input) {
|
|
|
348
348
|
const currentBodyAccount = requireAccount(bodyAccount, body.address, `Celestial Body ${body.address} is missing. Refresh the Body and retry placement.`);
|
|
349
349
|
const currentPlayerAccount = requireAccount(playerAccount, player.address, `Starbase Player ${player.address} is missing. Refresh it and retry placement.`);
|
|
350
350
|
const currentSystemAccount = requireAccount(systemAccount, body.system.address, `Star System ${body.system.address} is missing. Refresh the System and retry placement.`);
|
|
351
|
-
const currentBody = celestialBodyAccountDefinition.decode(currentBodyAccount);
|
|
352
|
-
const currentPlayer = starbasePlayerAccountDefinition.decode(currentPlayerAccount);
|
|
353
|
-
const { account: currentCharacterAccount, current: currentCharacter } = requireProfileCharacter(characterAccount, character, options.authorization.profile, game, 'placement');
|
|
354
|
-
const currentSystem = starSystemAccountDefinition.decode(currentSystemAccount);
|
|
355
|
-
const canonicalSystem = await deriveStarSystemAddress(game, currentSystem.systemId);
|
|
351
|
+
const currentBody = celestialBodyAccountDefinition.decode(currentBodyAccount, ctx.programs);
|
|
352
|
+
const currentPlayer = starbasePlayerAccountDefinition.decode(currentPlayerAccount, ctx.programs);
|
|
353
|
+
const { account: currentCharacterAccount, current: currentCharacter } = requireProfileCharacter(ctx.programs, characterAccount, character, options.authorization.profile, game, 'placement');
|
|
354
|
+
const currentSystem = starSystemAccountDefinition.decode(currentSystemAccount, ctx.programs);
|
|
355
|
+
const canonicalSystem = await deriveStarSystemAddress(ctx.programs, game, currentSystem.systemId);
|
|
356
356
|
if (canonicalSystem !== body.system.address ||
|
|
357
357
|
currentSystem.game !== game ||
|
|
358
358
|
currentSystem.starbase === undefined) {
|
|
@@ -406,9 +406,9 @@ export async function planPlaceClaimStake(ctx, body, player, input) {
|
|
|
406
406
|
const rentDeposit = options.initialRentAmount ?? 0n;
|
|
407
407
|
if (currentCharacter.atlasRaw < placementFee + rentDeposit)
|
|
408
408
|
fail(`Character ${character} has ${String(currentCharacter.atlasRaw)} raw ATLAS, below the ${String(placementFee)} raw placement fee plus ${String(rentDeposit)} raw initial rent. Add ATLAS or lower the rent, then retry.`, character);
|
|
409
|
-
const profileFaction = await deriveProfileFactionAddress(options.authorization.profile);
|
|
410
|
-
const currencyCache = await deriveCurrencyCache(game).then(([address]) => address);
|
|
411
|
-
const instruction = adaptPlaceClaimStakeInstruction({
|
|
409
|
+
const profileFaction = await deriveProfileFactionAddress(ctx.programs, options.authorization.profile);
|
|
410
|
+
const currencyCache = await deriveCurrencyCache(ctx.programs, game).then(([address]) => address);
|
|
411
|
+
const instruction = adaptPlaceClaimStakeInstruction(ctx.programs, {
|
|
412
412
|
authorization: options.authorization,
|
|
413
413
|
celestialBody: body.address,
|
|
414
414
|
character,
|
|
@@ -426,7 +426,7 @@ export async function planPlaceClaimStake(ctx, body, player, input) {
|
|
|
426
426
|
// The new stake and the claimed plot are funded from the Profile vault.
|
|
427
427
|
const storage = await planClaimStakeStorage(ctx, instruction, options.authorization.profile, [freshGame.account, currentBodyAccount, currentSystemAccount], 'Claim Stake placement');
|
|
428
428
|
const description = `Place ${definition.name} on Planet ${body.name} (${body.address}) with bundled hub ${hub.name}, ${String(hub.neededCrew)} crew, a ${String(placementFee)} raw ATLAS placement fee and ${String(rentDeposit)} raw initial rent. ${storage.disclosure}`;
|
|
429
|
-
return buildPlannerPlan({
|
|
429
|
+
return buildPlannerPlan(ctx.programs, {
|
|
430
430
|
kind: 'claim-stakes.place',
|
|
431
431
|
preconditions: [
|
|
432
432
|
...(await Promise.all([
|
|
@@ -462,8 +462,8 @@ async function planClaimStakeStorage(ctx, instruction, profile, known, label) {
|
|
|
462
462
|
[profile, profileAccount],
|
|
463
463
|
[RENT_ADDRESS, rentAccount],
|
|
464
464
|
]);
|
|
465
|
-
return planStorageFunding({
|
|
466
|
-
action: readClaimStakeStorageAction(instruction, accounts),
|
|
465
|
+
return planStorageFunding(ctx.programs, {
|
|
466
|
+
action: readClaimStakeStorageAction(ctx.programs, instruction, accounts),
|
|
467
467
|
accounts,
|
|
468
468
|
label,
|
|
469
469
|
});
|
|
@@ -512,14 +512,14 @@ function requireCommittedCrewVersion(current, stake, outcome) {
|
|
|
512
512
|
// `action` completes the shared remedies ("retry <action>").
|
|
513
513
|
/** Requires the loaded Claim Stake to belong to the configured Game and to the
|
|
514
514
|
* authorization Profile, and returns that Profile's canonical Character. */
|
|
515
|
-
async function requireOwnedStake(stake, game, profile) {
|
|
515
|
+
async function requireOwnedStake(programs, stake, game, profile) {
|
|
516
516
|
if (stake.game !== game) {
|
|
517
517
|
fail(`Claim Stake ${stake.address} does not match the configured Game ${game}. Refresh it through this context and retry.`, stake.address);
|
|
518
518
|
}
|
|
519
519
|
if (stake.ownerProfile.address !== profile) {
|
|
520
520
|
fail(`Claim Stake ${stake.address} belongs to Profile ${stake.ownerProfile.address}, not authorization Profile ${profile}. Choose a Claim Stake this Profile owns, refresh it, and retry.`, stake.address);
|
|
521
521
|
}
|
|
522
|
-
return findCharacterPda(profile, game);
|
|
522
|
+
return findCharacterPda(programs, profile, game);
|
|
523
523
|
}
|
|
524
524
|
/** Reads and decodes the fresh Claim Stake and Body, with `extra` accounts in
|
|
525
525
|
* the same batch. */
|
|
@@ -533,8 +533,8 @@ async function readOwnedStake(ctx, stake, action, extra = []) {
|
|
|
533
533
|
const bodyAccount = requireAccount(bodyCandidate, stake.body.address, `Celestial Body ${stake.body.address} is missing. Refresh the Claim Stake Body and retry ${action}.`);
|
|
534
534
|
return {
|
|
535
535
|
bodyAccount,
|
|
536
|
-
currentBody: celestialBodyAccountDefinition.decode(bodyAccount),
|
|
537
|
-
currentStake: claimStakeAccountDefinition.decode(stakeAccount),
|
|
536
|
+
currentBody: celestialBodyAccountDefinition.decode(bodyAccount, ctx.programs),
|
|
537
|
+
currentStake: claimStakeAccountDefinition.decode(stakeAccount, ctx.programs),
|
|
538
538
|
extraAccounts,
|
|
539
539
|
stakeAccount,
|
|
540
540
|
};
|
|
@@ -586,11 +586,11 @@ function sameTransferFleet(current, fleet, game, profile) {
|
|
|
586
586
|
}
|
|
587
587
|
/** Requires the fresh Body to be the Claim Stake's canonical Planet in the
|
|
588
588
|
* configured Game at the Claim Stake's System generation. */
|
|
589
|
-
async function requireStakePlanet(currentBody, stake, game, action) {
|
|
589
|
+
async function requireStakePlanet(programs, currentBody, stake, game, action) {
|
|
590
590
|
if (currentBody.kind !== 'planet' ||
|
|
591
591
|
currentBody.game !== game ||
|
|
592
592
|
currentBody.systemSequenceId !== stake.systemSeqId ||
|
|
593
|
-
(await deriveCelestialBodyAddress(game, currentBody.id)) !==
|
|
593
|
+
(await deriveCelestialBodyAddress(programs, game, currentBody.id)) !==
|
|
594
594
|
stake.body.address) {
|
|
595
595
|
fail(`Celestial Body ${stake.body.address} does not match the Claim Stake's configured Game, canonical Planet identity, or System generation. Refresh the Body and Claim Stake before retrying ${action}.`, stake.body.address);
|
|
596
596
|
}
|
|
@@ -611,16 +611,16 @@ function requireStakeRegistered(claimedPlots, stake, starbaseLevel, action) {
|
|
|
611
611
|
/** {@link requireStakePlanet} for building changes. An eviction is reported
|
|
612
612
|
* first: a takeover or destruction also advances the System generation, which
|
|
613
613
|
* would otherwise hide the real cause behind a refresh remedy. */
|
|
614
|
-
async function requireDesignStakePlanet(currentBody, stake, game, action) {
|
|
614
|
+
async function requireDesignStakePlanet(programs, currentBody, stake, game, action) {
|
|
615
615
|
if (currentBody.kind === 'planet')
|
|
616
616
|
requireStakeRegistered(currentBody.details.claimedPlots, stake, 'css', action);
|
|
617
|
-
return requireStakePlanet(currentBody, stake, game, action);
|
|
617
|
+
return requireStakePlanet(programs, currentBody, stake, game, action);
|
|
618
618
|
}
|
|
619
619
|
/** Requires and decodes the canonical Character of the authorization Profile in
|
|
620
620
|
* the configured Game. */
|
|
621
|
-
function requireProfileCharacter(candidate, character, profile, game, action) {
|
|
621
|
+
function requireProfileCharacter(programs, candidate, character, profile, game, action) {
|
|
622
622
|
const account = requireAccount(candidate, character, `Canonical Character ${character} is missing. Refresh the Profile Character and retry ${action}.`);
|
|
623
|
-
const current = characterAccountDefinition.decode(account);
|
|
623
|
+
const current = characterAccountDefinition.decode(account, programs);
|
|
624
624
|
if (current.playerProfile !== profile || current.game !== game) {
|
|
625
625
|
fail(`Character ${character} does not match authorization Profile ${profile} and configured Game ${game}. Refresh the Character and retry ${action}.`, character);
|
|
626
626
|
}
|
|
@@ -631,17 +631,17 @@ function requireProfileCharacter(candidate, character, profile, game, action) {
|
|
|
631
631
|
* canonical, current System with an active Starbase that lists the Body, and a
|
|
632
632
|
* Starbase Player of the Profile, Character and System. */
|
|
633
633
|
async function readStakeStarbase(ctx, stake, game, system, character, profile, action, extra = []) {
|
|
634
|
-
const player = await deriveStarbasePlayerAddress(system, character);
|
|
634
|
+
const player = await deriveStarbasePlayerAddress(ctx.programs, system, character);
|
|
635
635
|
const [systemCandidate, playerCandidate, ...extraAccounts] = await readContextRawAccounts(ctx, [system, player, ...extra]);
|
|
636
636
|
const systemAccount = requireAccount(systemCandidate, system, `Star System ${system} is missing. Refresh the Claim Stake's System and retry ${action}.`);
|
|
637
637
|
const playerAccount = requireAccount(playerCandidate, player, `Starbase Player ${player} is missing for authorization Profile ${profile}. Register or refresh it in the Claim Stake's System before retrying ${action}.`);
|
|
638
|
-
const currentSystem = starSystemAccountDefinition.decode(systemAccount);
|
|
639
|
-
const currentPlayer = starbasePlayerAccountDefinition.decode(playerAccount);
|
|
638
|
+
const currentSystem = starSystemAccountDefinition.decode(systemAccount, ctx.programs);
|
|
639
|
+
const currentPlayer = starbasePlayerAccountDefinition.decode(playerAccount, ctx.programs);
|
|
640
640
|
if (currentSystem.game !== game ||
|
|
641
641
|
currentSystem.sequenceId !== stake.systemSeqId ||
|
|
642
642
|
currentSystem.starbase === undefined ||
|
|
643
643
|
!currentSystem.celestialBodyAddresses.includes(stake.body.address) ||
|
|
644
|
-
(await deriveStarSystemAddress(game, currentSystem.systemId)) !== system) {
|
|
644
|
+
(await deriveStarSystemAddress(ctx.programs, game, currentSystem.systemId)) !== system) {
|
|
645
645
|
fail(`Star System ${system} does not match the configured Game, canonical identity, Claim Stake generation, active nested Starbase, or Claim Stake Body relationship. Refresh the System and retry ${action}.`, system);
|
|
646
646
|
}
|
|
647
647
|
if (currentPlayer.playerProfile !== profile ||
|
|
@@ -659,13 +659,13 @@ async function readStakeStarbase(ctx, stake, game, system, character, profile, a
|
|
|
659
659
|
systemAccount,
|
|
660
660
|
};
|
|
661
661
|
}
|
|
662
|
-
async function claimStakeCurrencyCache(game) {
|
|
663
|
-
const [currencyCache] = await deriveCurrencyCache(game);
|
|
662
|
+
async function claimStakeCurrencyCache(programs, game) {
|
|
663
|
+
const [currencyCache] = await deriveCurrencyCache(programs, game);
|
|
664
664
|
return currencyCache;
|
|
665
665
|
}
|
|
666
666
|
/** Requires the canonical CurrencyCache and returns its Plan guard. */
|
|
667
|
-
async function requireCurrencyCache(candidate, currencyCache, game, action, planName) {
|
|
668
|
-
await validateCurrencyCache(requireAccount(candidate, currencyCache, `Canonical CurrencyCache ${currencyCache} is missing for configured Game ${game}. Refresh the Game currency configuration and retry ${action}.`), game, planName);
|
|
667
|
+
async function requireCurrencyCache(programs, candidate, currencyCache, game, action, planName) {
|
|
668
|
+
await validateCurrencyCache(programs, requireAccount(candidate, currencyCache, `Canonical CurrencyCache ${currencyCache} is missing for configured Game ${game}. Refresh the Game currency configuration and retry ${action}.`), game, planName);
|
|
669
669
|
return {
|
|
670
670
|
kind: 'currency-cache',
|
|
671
671
|
address: currencyCache,
|
|
@@ -729,7 +729,7 @@ export async function planClaimStakeBuildingChanges(ctx, stake, input) {
|
|
|
729
729
|
if (stake.state.kind === 'deactivated') {
|
|
730
730
|
fail(`Claim Stake ${stake.address} is deactivated; building changes require an active or design Claim Stake. Refresh it or choose another owned Claim Stake before retrying.`, stake.address);
|
|
731
731
|
}
|
|
732
|
-
const character = await requireOwnedStake(stake, game, profile);
|
|
732
|
+
const character = await requireOwnedStake(ctx.programs, stake, game, profile);
|
|
733
733
|
const action = 'building changes';
|
|
734
734
|
const [freshGame, loaded, rent] = await Promise.all([
|
|
735
735
|
readFreshGameClaimStakeConfiguration(ctx),
|
|
@@ -747,17 +747,17 @@ export async function planClaimStakeBuildingChanges(ctx, stake, input) {
|
|
|
747
747
|
if (currentStake.constructionRemainingSeconds > 0n) {
|
|
748
748
|
fail(`Claim Stake ${stake.address} records ${String(currentStake.constructionRemainingSeconds)} seconds of construction remaining, and a stake under construction cannot change its buildings. The stored time advances only when a production tick processes the stake: wait for construction to finish, let a production tick record it, refresh the Claim Stake, and retry.`, stake.address);
|
|
749
749
|
}
|
|
750
|
-
const planetBody = await requireDesignStakePlanet(loaded.currentBody, stake, game, action);
|
|
750
|
+
const planetBody = await requireDesignStakePlanet(ctx.programs, loaded.currentBody, stake, game, action);
|
|
751
751
|
const { system } = planetBody;
|
|
752
|
-
const { account: characterAccount } = requireProfileCharacter(loaded.extraAccounts[0], character, profile, game, action);
|
|
752
|
+
const { account: characterAccount } = requireProfileCharacter(ctx.programs, loaded.extraAccounts[0], character, profile, game, action);
|
|
753
753
|
const [ownership, profileFaction] = await Promise.all([
|
|
754
|
-
deriveFactionOwnershipAddress(game, 'starbase', system),
|
|
755
|
-
deriveProfileFactionAddress(profile),
|
|
754
|
+
deriveFactionOwnershipAddress(ctx.programs, game, 'starbase', system),
|
|
755
|
+
deriveProfileFactionAddress(ctx.programs, profile),
|
|
756
756
|
]);
|
|
757
757
|
const { currentPlayer, currentSystem, extraAccounts: [ownershipAccount, profileFactionCandidate], player, playerAccount, starbase, systemAccount, } = await readStakeStarbase(ctx, stake, game, system, character, profile, action, [ownership, profileFaction]);
|
|
758
758
|
requireStakeRegistered(planetBody.details.claimedPlots, stake, starbase.level, action);
|
|
759
759
|
const profileFactionAccount = requireAccount(profileFactionCandidate, profileFaction, `ProfileFaction ${profileFaction} is missing for authorization Profile ${profile}. Choose or repair the Profile faction, refresh it, and retry building changes.`);
|
|
760
|
-
const currentProfileFaction = profileFactionIdentityAccountDefinition.decode(profileFactionAccount);
|
|
760
|
+
const currentProfileFaction = profileFactionIdentityAccountDefinition.decode(profileFactionAccount, ctx.programs);
|
|
761
761
|
if (currentProfileFaction.profile !== profile) {
|
|
762
762
|
fail(`ProfileFaction ${profileFaction} does not match authorization Profile ${profile}. Refresh or repair the Profile faction before retrying building changes.`, profileFaction);
|
|
763
763
|
}
|
|
@@ -767,7 +767,7 @@ export async function planClaimStakeBuildingChanges(ctx, stake, input) {
|
|
|
767
767
|
ownershipPrecondition = accountAbsentPrecondition(ownership, `The canonical Starbase FactionOwnership ${ownership} remains unallocated so the chain applies its legacy controller gate.`);
|
|
768
768
|
}
|
|
769
769
|
else {
|
|
770
|
-
const currentOwnership = factionOwnershipAccountDefinition.decode(ownershipAccount);
|
|
770
|
+
const currentOwnership = factionOwnershipAccountDefinition.decode(ownershipAccount, ctx.programs);
|
|
771
771
|
if (currentOwnership.game !== game ||
|
|
772
772
|
currentOwnership.asset.kind !== 'starbase' ||
|
|
773
773
|
currentOwnership.asset.system !== system ||
|
|
@@ -920,9 +920,9 @@ export async function planClaimStakeBuildingChanges(ctx, stake, input) {
|
|
|
920
920
|
if (currentStake.production.cargoPod.storageCost > resourceStorageRaw) {
|
|
921
921
|
fail(`The resulting Claim Stake design provides ${String(resourceStorageRaw)} raw storage capacity, below the fresh known cargo usage of ${String(currentStake.production.cargoPod.storageCost)}. Keep enough storage buildings, remove cargo, refresh the Claim Stake, and retry building changes.`, stake.address);
|
|
922
922
|
}
|
|
923
|
-
const currencyCache = await claimStakeCurrencyCache(game);
|
|
923
|
+
const currencyCache = await claimStakeCurrencyCache(ctx.programs, game);
|
|
924
924
|
const xp = await resolveClaimStakeXp(ctx, game, stake.address);
|
|
925
|
-
const instruction = adaptClaimStakeBuildingChangesInstruction({
|
|
925
|
+
const instruction = adaptClaimStakeBuildingChangesInstruction(ctx.programs, {
|
|
926
926
|
...xp.accounts,
|
|
927
927
|
authorization: options.authorization,
|
|
928
928
|
buildingChanges: options.buildingChanges.map(({ buildingId, kind, quantity }) => [buildingId, kind === 'add' ? quantity : -quantity]),
|
|
@@ -940,7 +940,7 @@ export async function planClaimStakeBuildingChanges(ctx, stake, input) {
|
|
|
940
940
|
// The grown design is funded from the Profile vault.
|
|
941
941
|
const storage = await planClaimStakeStorage(ctx, instruction, profile, [stakeAccount], 'Claim Stake building changes');
|
|
942
942
|
const description = `Change buildings on Claim Stake ${stake.address}: ${descriptions.join('; ')}. ${storage.disclosure}`;
|
|
943
|
-
return buildPlannerPlan({
|
|
943
|
+
return buildPlannerPlan(ctx.programs, {
|
|
944
944
|
kind: 'claim-stakes.building-changes',
|
|
945
945
|
preconditions: [
|
|
946
946
|
...(await Promise.all([
|
|
@@ -1007,7 +1007,7 @@ export async function planFinalizeClaimStakeBuildingChanges(ctx, stake, input) {
|
|
|
1007
1007
|
if (stake.state.kind !== 'design') {
|
|
1008
1008
|
fail(`Claim Stake ${stake.address} is not in design state. Refresh it and finalize only a pending building design.`, stake.address);
|
|
1009
1009
|
}
|
|
1010
|
-
const character = await requireOwnedStake(stake, game, profile);
|
|
1010
|
+
const character = await requireOwnedStake(ctx.programs, stake, game, profile);
|
|
1011
1011
|
if (stake.rentBalanceRaw <= 0n) {
|
|
1012
1012
|
fail(`Claim Stake ${stake.address} has a known delinquent rent balance of ${String(stake.rentBalanceRaw)} raw units. Top up rent, refresh the Claim Stake, and retry finalization.`, stake.address);
|
|
1013
1013
|
}
|
|
@@ -1033,16 +1033,16 @@ export async function planFinalizeClaimStakeBuildingChanges(ctx, stake, input) {
|
|
|
1033
1033
|
fail(`Claim Stake ${stake.address} changed or does not match its loaded ownership, Body, definitions, buildings, design sequence, rent, or System generation. Refresh it and retry finalization.`, stake.address);
|
|
1034
1034
|
}
|
|
1035
1035
|
requireCommittedCrewVersion(currentStake, stake, 'finalized');
|
|
1036
|
-
const planet = await requireDesignStakePlanet(loaded.currentBody, stake, game, action);
|
|
1036
|
+
const planet = await requireDesignStakePlanet(ctx.programs, loaded.currentBody, stake, game, action);
|
|
1037
1037
|
const { system } = planet;
|
|
1038
|
-
const { account: characterAccount } = requireProfileCharacter(loaded.extraAccounts[0], character, profile, game, action);
|
|
1039
|
-
const currencyCache = await claimStakeCurrencyCache(game);
|
|
1038
|
+
const { account: characterAccount } = requireProfileCharacter(ctx.programs, loaded.extraAccounts[0], character, profile, game, action);
|
|
1039
|
+
const currencyCache = await claimStakeCurrencyCache(ctx.programs, game);
|
|
1040
1040
|
const { currentSystem, extraAccounts: [currencyCandidate], player, playerAccount, starbase, systemAccount, } = await readStakeStarbase(ctx, stake, game, system, character, profile, action, [currencyCache]);
|
|
1041
1041
|
requireStakeRegistered(planet.details.claimedPlots, stake, starbase.level, action);
|
|
1042
|
-
const currencyGuard = await requireCurrencyCache(currencyCandidate, currencyCache, game, action, 'Claim Stake finalization');
|
|
1042
|
+
const currencyGuard = await requireCurrencyCache(ctx.programs, currencyCandidate, currencyCache, game, action, 'Claim Stake finalization');
|
|
1043
1043
|
const description = `Finalize building changes on Claim Stake ${stake.address}. A building refund that opens a Starbase Player cargo line, or a new resource that raises the stake's rent floor, is funded from the Profile vault with the signing key, which this Plan does not bound; simulate before signing.`;
|
|
1044
1044
|
const xp = await resolveClaimStakeXp(ctx, game, stake.address, character);
|
|
1045
|
-
return buildPlannerPlan({
|
|
1045
|
+
return buildPlannerPlan(ctx.programs, {
|
|
1046
1046
|
kind: 'claim-stakes.finalize-building-changes',
|
|
1047
1047
|
preconditions: [
|
|
1048
1048
|
xp.guard,
|
|
@@ -1060,7 +1060,7 @@ export async function planFinalizeClaimStakeBuildingChanges(ctx, stake, input) {
|
|
|
1060
1060
|
steps: [
|
|
1061
1061
|
{
|
|
1062
1062
|
describes: description,
|
|
1063
|
-
instruction: adaptFinalizeClaimStakeBuildingChangesInstruction({
|
|
1063
|
+
instruction: adaptFinalizeClaimStakeBuildingChangesInstruction(ctx.programs, {
|
|
1064
1064
|
...xp.accounts,
|
|
1065
1065
|
authorization: options.authorization,
|
|
1066
1066
|
celestialBody: stake.body.address,
|
|
@@ -1111,7 +1111,7 @@ export async function planCancelClaimStakeBuildingChanges(ctx, stake, input) {
|
|
|
1111
1111
|
if (stake.state.kind !== 'design') {
|
|
1112
1112
|
fail(`Claim Stake ${stake.address} is not in design state. Refresh it and cancel only a pending building design.`, stake.address);
|
|
1113
1113
|
}
|
|
1114
|
-
const character = await requireOwnedStake(stake, game, profile);
|
|
1114
|
+
const character = await requireOwnedStake(ctx.programs, stake, game, profile);
|
|
1115
1115
|
const action = 'cancellation';
|
|
1116
1116
|
const [{ bodyAccount, currentBody, currentStake, stakeAccount }, rent] = await Promise.all([
|
|
1117
1117
|
readOwnedStake(ctx, stake, action),
|
|
@@ -1123,15 +1123,15 @@ export async function planCancelClaimStakeBuildingChanges(ctx, stake, input) {
|
|
|
1123
1123
|
!sameQuantities(currentStake.state.buildings, stake.state.buildings)) {
|
|
1124
1124
|
fail(`Claim Stake ${stake.address} changed or does not match its loaded ownership, Body, definitions, buildings, design sequence, or System generation. Refresh it and retry cancellation.`, stake.address);
|
|
1125
1125
|
}
|
|
1126
|
-
const planet = await requireDesignStakePlanet(currentBody, stake, game, action);
|
|
1126
|
+
const planet = await requireDesignStakePlanet(ctx.programs, currentBody, stake, game, action);
|
|
1127
1127
|
const { system } = planet;
|
|
1128
|
-
const currencyCache = await claimStakeCurrencyCache(game);
|
|
1128
|
+
const currencyCache = await claimStakeCurrencyCache(ctx.programs, game);
|
|
1129
1129
|
const { currentSystem, extraAccounts: [currencyCandidate], player, playerAccount, starbase, systemAccount, } = await readStakeStarbase(ctx, stake, game, system, character, profile, action, [currencyCache]);
|
|
1130
1130
|
requireStakeRegistered(planet.details.claimedPlots, stake, starbase.level, action);
|
|
1131
|
-
const currencyGuard = await requireCurrencyCache(currencyCandidate, currencyCache, game, action, 'Claim Stake cancellation');
|
|
1131
|
+
const currencyGuard = await requireCurrencyCache(ctx.programs, currencyCandidate, currencyCache, game, action, 'Claim Stake cancellation');
|
|
1132
1132
|
const description = `Cancel the pending building design on Claim Stake ${stake.address} and return it to active state.`;
|
|
1133
1133
|
const xp = await resolveClaimStakeXp(ctx, game, stake.address);
|
|
1134
|
-
return buildPlannerPlan({
|
|
1134
|
+
return buildPlannerPlan(ctx.programs, {
|
|
1135
1135
|
kind: 'claim-stakes.cancel-building-changes',
|
|
1136
1136
|
preconditions: [
|
|
1137
1137
|
xp.guard,
|
|
@@ -1147,7 +1147,7 @@ export async function planCancelClaimStakeBuildingChanges(ctx, stake, input) {
|
|
|
1147
1147
|
steps: [
|
|
1148
1148
|
{
|
|
1149
1149
|
describes: description,
|
|
1150
|
-
instruction: adaptCancelClaimStakeBuildingChangesInstruction({
|
|
1150
|
+
instruction: adaptCancelClaimStakeBuildingChangesInstruction(ctx.programs, {
|
|
1151
1151
|
...xp.accounts,
|
|
1152
1152
|
authorization: options.authorization,
|
|
1153
1153
|
celestialBody: stake.body.address,
|
|
@@ -1195,7 +1195,7 @@ export async function planDeconstructClaimStake(ctx, stake, input) {
|
|
|
1195
1195
|
if (stake.state.kind !== 'active') {
|
|
1196
1196
|
fail(`Claim Stake ${stake.address} is not in active state. Refresh it, finalize or cancel any pending design, and retry deconstruction.`, stake.address);
|
|
1197
1197
|
}
|
|
1198
|
-
const character = await requireOwnedStake(stake, game, profile);
|
|
1198
|
+
const character = await requireOwnedStake(ctx.programs, stake, game, profile);
|
|
1199
1199
|
const action = 'deconstruction';
|
|
1200
1200
|
const [freshGame, { bodyAccount, currentBody, currentStake, stakeAccount }, rent,] = await Promise.all([
|
|
1201
1201
|
readFreshGameClaimStakeConfiguration(ctx),
|
|
@@ -1210,7 +1210,7 @@ export async function planDeconstructClaimStake(ctx, stake, input) {
|
|
|
1210
1210
|
fail(`Claim Stake ${stake.address} changed or does not match its loaded ownership, Body, definitions, buildings, active state, or System generation. Refresh it and retry deconstruction.`, stake.address);
|
|
1211
1211
|
}
|
|
1212
1212
|
requireCommittedCrewVersion(currentStake, stake, 'deconstructed');
|
|
1213
|
-
const planet = await requireStakePlanet(currentBody, stake, game, action);
|
|
1213
|
+
const planet = await requireStakePlanet(ctx.programs, currentBody, stake, game, action);
|
|
1214
1214
|
const { system } = planet;
|
|
1215
1215
|
if (freshGame.data.claimStakes.sequenceId !== stake.claimStakeDefinitionSeqId) {
|
|
1216
1216
|
fail(`Claim Stake ${stake.address} definition generation is stale against the current Game catalog. Refresh the Claim Stake and definitions to rule out stale local data. If the on-chain generation still differs, use a Claim Stake matching the current catalog before retrying deconstruction.`, stake.address);
|
|
@@ -1265,12 +1265,12 @@ export async function planDeconstructClaimStake(ctx, stake, input) {
|
|
|
1265
1265
|
}
|
|
1266
1266
|
const claimStakeLevel = CLAIM_STAKE_PLOT_LEVELS[row];
|
|
1267
1267
|
const [currencyCache, [xpAccrual]] = await Promise.all([
|
|
1268
|
-
claimStakeCurrencyCache(game),
|
|
1269
|
-
deriveStructureXpAccrualAddress(stake.address),
|
|
1268
|
+
claimStakeCurrencyCache(ctx.programs, game),
|
|
1269
|
+
deriveStructureXpAccrualAddress(ctx.programs, stake.address),
|
|
1270
1270
|
]);
|
|
1271
1271
|
const { currentSystem, extraAccounts: [characterCandidate, currencyCandidate, ledgerCandidate], player, playerAccount, systemAccount, } = await readStakeStarbase(ctx, stake, game, system, character, profile, action, [character, currencyCache, xpAccrual]);
|
|
1272
|
-
const { account: characterAccount } = requireProfileCharacter(characterCandidate, character, profile, game, action);
|
|
1273
|
-
const currencyGuard = await requireCurrencyCache(currencyCandidate, currencyCache, game, action, 'Claim Stake deconstruction');
|
|
1272
|
+
const { account: characterAccount } = requireProfileCharacter(ctx.programs, characterCandidate, character, profile, game, action);
|
|
1273
|
+
const currencyGuard = await requireCurrencyCache(ctx.programs, currencyCandidate, currencyCache, game, action, 'Claim Stake deconstruction');
|
|
1274
1274
|
// Deconstruction closes an existing XP ledger; a stake without one accrued nothing.
|
|
1275
1275
|
const xp = ledgerCandidate === undefined
|
|
1276
1276
|
? {
|
|
@@ -1279,7 +1279,7 @@ export async function planDeconstructClaimStake(ctx, stake, input) {
|
|
|
1279
1279
|
}
|
|
1280
1280
|
: await resolveClaimStakeXp(ctx, game, stake.address, character);
|
|
1281
1281
|
const description = `Deconstruct Claim Stake ${stake.address} and discard its bundled hub ${bundledHub.name}; rent settlement, cargo return, account closure, and any refund remain chain-authoritative.`;
|
|
1282
|
-
return buildPlannerPlan({
|
|
1282
|
+
return buildPlannerPlan(ctx.programs, {
|
|
1283
1283
|
kind: 'claim-stakes.deconstruct',
|
|
1284
1284
|
preconditions: [
|
|
1285
1285
|
...(await Promise.all([
|
|
@@ -1297,7 +1297,7 @@ export async function planDeconstructClaimStake(ctx, stake, input) {
|
|
|
1297
1297
|
steps: [
|
|
1298
1298
|
{
|
|
1299
1299
|
describes: description,
|
|
1300
|
-
instruction: adaptDeconstructClaimStakeInstruction({
|
|
1300
|
+
instruction: adaptDeconstructClaimStakeInstruction(ctx.programs, {
|
|
1301
1301
|
...xp.accounts,
|
|
1302
1302
|
authorization: options.authorization,
|
|
1303
1303
|
celestialBody: stake.body.address,
|
|
@@ -1350,7 +1350,7 @@ export async function planTopUpClaimStakeRent(ctx, stake, input) {
|
|
|
1350
1350
|
// Under Disabled rent a top-up has no lifecycle gate: a Deactivated stake
|
|
1351
1351
|
// accepts one, and that is how its owner avoids eviction.
|
|
1352
1352
|
const loadedState = stake.state;
|
|
1353
|
-
const character = await requireOwnedStake(stake, game, profile);
|
|
1353
|
+
const character = await requireOwnedStake(ctx.programs, stake, game, profile);
|
|
1354
1354
|
const action = 'the rent top-up';
|
|
1355
1355
|
const [{ bodyAccount, currentBody, currentStake, extraAccounts: [characterCandidate], stakeAccount, }, rent,] = await Promise.all([
|
|
1356
1356
|
readOwnedStake(ctx, stake, action, [character]),
|
|
@@ -1361,14 +1361,14 @@ export async function planTopUpClaimStakeRent(ctx, stake, input) {
|
|
|
1361
1361
|
!sameStakeState(currentStake.state, loadedState)) {
|
|
1362
1362
|
fail(`Claim Stake ${stake.address} changed or does not match its loaded ownership, Body, definitions, buildings, rent balance, lifecycle state, or System generation. Refresh it and retry the rent top-up.`, stake.address);
|
|
1363
1363
|
}
|
|
1364
|
-
const { system } = await requireStakePlanet(currentBody, stake, game, action);
|
|
1365
|
-
const { account: characterAccount, current: currentCharacter } = requireProfileCharacter(characterCandidate, character, profile, game, action);
|
|
1364
|
+
const { system } = await requireStakePlanet(ctx.programs, currentBody, stake, game, action);
|
|
1365
|
+
const { account: characterAccount, current: currentCharacter } = requireProfileCharacter(ctx.programs, characterCandidate, character, profile, game, action);
|
|
1366
1366
|
if (currentCharacter.atlasRaw < options.amount) {
|
|
1367
1367
|
fail(`Character ${character} has only ${String(currentCharacter.atlasRaw)} known raw ATLAS, below the requested ${String(options.amount)} raw rent top-up. Reduce the amount or add ATLAS, refresh the Character, and retry.`, character);
|
|
1368
1368
|
}
|
|
1369
1369
|
const { currentSystem, player, playerAccount, systemAccount } = await readStakeStarbase(ctx, stake, game, system, character, profile, action);
|
|
1370
1370
|
const description = `Top up Claim Stake ${stake.address} rent with ${String(options.amount)} raw rent units; rent arithmetic remains chain-authoritative.`;
|
|
1371
|
-
return buildPlannerPlan({
|
|
1371
|
+
return buildPlannerPlan(ctx.programs, {
|
|
1372
1372
|
kind: 'claim-stakes.top-up-rent',
|
|
1373
1373
|
preconditions: [
|
|
1374
1374
|
...(await Promise.all([
|
|
@@ -1383,7 +1383,7 @@ export async function planTopUpClaimStakeRent(ctx, stake, input) {
|
|
|
1383
1383
|
steps: [
|
|
1384
1384
|
{
|
|
1385
1385
|
describes: description,
|
|
1386
|
-
instruction: adaptTopUpClaimStakeRentInstruction({
|
|
1386
|
+
instruction: adaptTopUpClaimStakeRentInstruction(ctx.programs, {
|
|
1387
1387
|
amount: options.amount,
|
|
1388
1388
|
authorization: options.authorization,
|
|
1389
1389
|
celestialBody: stake.body.address,
|
|
@@ -1488,14 +1488,14 @@ export async function planStartClaimStakeFleetTransfer(ctx, fleet, stake, input)
|
|
|
1488
1488
|
if (stake.state.kind !== 'active') {
|
|
1489
1489
|
fail(`Claim Stake ${stake.address} is ${stake.state.kind}, but starting a Fleet transfer requires an active Claim Stake. Activate or restore it, refresh it, and retry.`, stake.address);
|
|
1490
1490
|
}
|
|
1491
|
-
const character = await requireOwnedStake(stake, game, profile);
|
|
1491
|
+
const character = await requireOwnedStake(ctx.programs, stake, game, profile);
|
|
1492
1492
|
const action = 'the Fleet transfer';
|
|
1493
1493
|
const [{ bodyAccount, currentBody, currentStake, extraAccounts: [fleetCandidate, characterCandidate], stakeAccount, }, rent,] = await Promise.all([
|
|
1494
1494
|
readOwnedStake(ctx, stake, action, [fleet.address, character]),
|
|
1495
1495
|
requireDisabledStakeRent(ctx, game, stake.address, action),
|
|
1496
1496
|
]);
|
|
1497
1497
|
const fleetAccount = requireAccount(fleetCandidate, fleet.address, `Fleet ${fleet.name} is missing. Refresh it and retry the Fleet transfer.`);
|
|
1498
|
-
const currentFleet = fleetAccountDefinition.decode(fleetAccount);
|
|
1498
|
+
const currentFleet = fleetAccountDefinition.decode(fleetAccount, ctx.programs);
|
|
1499
1499
|
if (!Number.isSafeInteger(currentFleet.crewCount) ||
|
|
1500
1500
|
currentFleet.crewCount <= 0) {
|
|
1501
1501
|
fail(crewFailure, fleet.address);
|
|
@@ -1503,22 +1503,22 @@ export async function planStartClaimStakeFleetTransfer(ctx, fleet, stake, input)
|
|
|
1503
1503
|
if (!sameTransferFleet(currentFleet, fleet, game, profile) ||
|
|
1504
1504
|
currentFleet.state.kind !== 'idle' ||
|
|
1505
1505
|
currentFleet.crewCount !== fleet.crewCount ||
|
|
1506
|
-
(await deriveFleetAddress(currentFleet)) !== fleet.address) {
|
|
1506
|
+
(await deriveFleetAddress(ctx.programs, currentFleet)) !== fleet.address) {
|
|
1507
1507
|
fail(`Fleet ${fleet.name} changed or no longer matches its loaded Game, owner, canonical address, name, idle state, normalized crew, cargo, or capacities. Refresh it and create a new Claim Stake transfer Plan.`, fleet.address);
|
|
1508
1508
|
}
|
|
1509
1509
|
if (!sameTransferStake(currentStake, stake, game, profile)) {
|
|
1510
1510
|
fail(`Claim Stake ${stake.address} changed or no longer matches its loaded Game, owner, Body, active state, resources, capacity, or System generation. Refresh it and create a new Fleet transfer Plan.`, stake.address);
|
|
1511
1511
|
}
|
|
1512
|
-
const { system } = await requireStakePlanet(currentBody, stake, game, action);
|
|
1513
|
-
const { account: characterAccount } = requireProfileCharacter(characterCandidate, character, profile, game, action);
|
|
1512
|
+
const { system } = await requireStakePlanet(ctx.programs, currentBody, stake, game, action);
|
|
1513
|
+
const { account: characterAccount } = requireProfileCharacter(ctx.programs, characterCandidate, character, profile, game, action);
|
|
1514
1514
|
const [currencyCache, crewBinding] = await Promise.all([
|
|
1515
|
-
claimStakeCurrencyCache(game),
|
|
1516
|
-
deriveFleetCrewBindingAddress(fleet.address),
|
|
1515
|
+
claimStakeCurrencyCache(ctx.programs, game),
|
|
1516
|
+
deriveFleetCrewBindingAddress(ctx.programs, fleet.address),
|
|
1517
1517
|
]);
|
|
1518
1518
|
const { currentSystem, extraAccounts: [currencyCandidate, crewCandidate], player, playerAccount, systemAccount, } = await readStakeStarbase(ctx, stake, game, system, character, profile, action, [currencyCache, crewBinding]);
|
|
1519
|
-
const currencyGuard = await requireCurrencyCache(currencyCandidate, currencyCache, game, action, 'Claim Stake Fleet transfer');
|
|
1519
|
+
const currencyGuard = await requireCurrencyCache(ctx.programs, currencyCandidate, currencyCache, game, action, 'Claim Stake Fleet transfer');
|
|
1520
1520
|
if (crewCandidate !== undefined) {
|
|
1521
|
-
const currentCrewBinding = fleetCrewBindingAccountDefinition.decode(crewCandidate);
|
|
1521
|
+
const currentCrewBinding = fleetCrewBindingAccountDefinition.decode(crewCandidate, ctx.programs);
|
|
1522
1522
|
if (crewCandidate.address !== crewBinding ||
|
|
1523
1523
|
!matchesFleetCrewBindingIdentity(currentCrewBinding, fleet.address, profile)) {
|
|
1524
1524
|
fail(`FleetCrewBinding ${crewCandidate.address} does not match Fleet ${fleet.address}, its owner Profile, or its canonical PDA. Refresh the Fleet crew registration or remove the invalid binding before retrying.`, crewCandidate.address);
|
|
@@ -1544,7 +1544,7 @@ export async function planStartClaimStakeFleetTransfer(ctx, fleet, stake, input)
|
|
|
1544
1544
|
...describeCargoRequests('unload', options.unload),
|
|
1545
1545
|
];
|
|
1546
1546
|
const xp = await resolveClaimStakeXp(ctx, game, stake.address);
|
|
1547
|
-
const instruction = adaptStartClaimStakeFleetTransferInstruction({
|
|
1547
|
+
const instruction = adaptStartClaimStakeFleetTransferInstruction(ctx.programs, {
|
|
1548
1548
|
...xp.accounts,
|
|
1549
1549
|
authorization: options.authorization,
|
|
1550
1550
|
celestialBody: stake.body.address,
|
|
@@ -1564,7 +1564,7 @@ export async function planStartClaimStakeFleetTransfer(ctx, fleet, stake, input)
|
|
|
1564
1564
|
// its rent floor, then from the Profile vault.
|
|
1565
1565
|
const storage = await planClaimStakeStorage(ctx, instruction, profile, [fleetAccount, stakeAccount], 'Claim Stake Fleet transfer start');
|
|
1566
1566
|
const description = `Start fleet ${fleet.name}'s transfer to Claim Stake ${stake.address}: ${descriptions.join('; ')}. Loaded cargo, including Fuel and Ammunition, arrives in the Fleet cargo hold; unloads come from the cargo hold only. Range and transfer duration remain chain-authoritative. ${storage.disclosure}`;
|
|
1567
|
-
return buildPlannerPlan({
|
|
1567
|
+
return buildPlannerPlan(ctx.programs, {
|
|
1568
1568
|
kind: 'claim-stakes.start-fleet-transfer',
|
|
1569
1569
|
preconditions: [
|
|
1570
1570
|
xp.guard,
|
|
@@ -1639,15 +1639,15 @@ export async function planRecoverClaimStakeFleetTransfer(ctx, fleet, stake, inpu
|
|
|
1639
1639
|
if (options.atUnixSeconds < fleet.state.endAtUnixSeconds) {
|
|
1640
1640
|
fail(`Fleet ${fleet.name}'s Claim Stake transfer lock has not elapsed at Unix timestamp ${String(options.atUnixSeconds)}; it ends at ${String(fleet.state.endAtUnixSeconds)}. Wait until the lock elapses, provide a current timestamp, and retry recovery.`, fleet.address);
|
|
1641
1641
|
}
|
|
1642
|
-
const character = await requireOwnedStake(stake, game, options.authorization.profile);
|
|
1642
|
+
const character = await requireOwnedStake(ctx.programs, stake, game, options.authorization.profile);
|
|
1643
1643
|
const [fleetCandidate, stakeCandidate] = await readContextRawAccounts(ctx, [
|
|
1644
1644
|
fleet.address,
|
|
1645
1645
|
stake.address,
|
|
1646
1646
|
]);
|
|
1647
1647
|
const fleetAccount = requireAccount(fleetCandidate, fleet.address, `Fleet ${fleet.name} is missing. Refresh it and retry Claim Stake transfer recovery.`);
|
|
1648
1648
|
const stakeAccount = requireAccount(stakeCandidate, stake.address, `Claim Stake ${stake.address} is missing. Refresh it and retry Fleet transfer recovery.`);
|
|
1649
|
-
const currentFleet = fleetAccountDefinition.decode(fleetAccount);
|
|
1650
|
-
const currentStake = claimStakeAccountDefinition.decode(stakeAccount);
|
|
1649
|
+
const currentFleet = fleetAccountDefinition.decode(fleetAccount, ctx.programs);
|
|
1650
|
+
const currentStake = claimStakeAccountDefinition.decode(stakeAccount, ctx.programs);
|
|
1651
1651
|
if (!sameTransferFleet(currentFleet, fleet, game, options.authorization.profile) ||
|
|
1652
1652
|
currentFleet.state.kind !== 'claimStakeTransfer' ||
|
|
1653
1653
|
currentFleet.state.claimStake !== stake.address ||
|
|
@@ -1655,7 +1655,7 @@ export async function planRecoverClaimStakeFleetTransfer(ctx, fleet, stake, inpu
|
|
|
1655
1655
|
currentFleet.state.endAtUnixSeconds !== fleet.state.endAtUnixSeconds ||
|
|
1656
1656
|
!sameCargoAmounts(currentFleet.state.load, fleet.state.load) ||
|
|
1657
1657
|
!sameCargoAmounts(currentFleet.state.unload, fleet.state.unload) ||
|
|
1658
|
-
(await deriveFleetAddress(currentFleet)) !== fleet.address) {
|
|
1658
|
+
(await deriveFleetAddress(ctx.programs, currentFleet)) !== fleet.address) {
|
|
1659
1659
|
fail(`Fleet ${fleet.name} changed or no longer matches its loaded owner, Game, canonical address, Claim Stake transfer snapshot, cargo, or capacities. Refresh it and retry recovery.`, fleet.address);
|
|
1660
1660
|
}
|
|
1661
1661
|
if (!sameTransferStake(currentStake, stake, game, options.authorization.profile)) {
|
|
@@ -1715,7 +1715,7 @@ export async function planRecoverClaimStakeFleetTransfer(ctx, fleet, stake, inpu
|
|
|
1715
1715
|
fail(`Fleet ${fleet.name}'s Claim Stake transfer is currently executable. Use the permissionless normal exit path; recovery is only for a locally proven non-executable transfer.`, fleet.address);
|
|
1716
1716
|
}
|
|
1717
1717
|
const description = `Recover fleet ${fleet.name} from its stuck Claim Stake transfer (${reason}); no cargo moves and the Fleet returns to idle.`;
|
|
1718
|
-
return buildPlannerPlan({
|
|
1718
|
+
return buildPlannerPlan(ctx.programs, {
|
|
1719
1719
|
kind: 'claim-stakes.recover-fleet-transfer',
|
|
1720
1720
|
preconditions: await Promise.all([
|
|
1721
1721
|
accountStatePrecondition(fleetAccount, `Fleet ${fleet.name} retains its owner and exact elapsed, non-executable Claim Stake transfer snapshot.`),
|
|
@@ -1729,7 +1729,7 @@ export async function planRecoverClaimStakeFleetTransfer(ctx, fleet, stake, inpu
|
|
|
1729
1729
|
steps: [
|
|
1730
1730
|
{
|
|
1731
1731
|
describes: description,
|
|
1732
|
-
instruction: adaptRecoverClaimStakeFleetTransferInstruction({
|
|
1732
|
+
instruction: adaptRecoverClaimStakeFleetTransferInstruction(ctx.programs, {
|
|
1733
1733
|
authorization: options.authorization,
|
|
1734
1734
|
claimStakeInstance: stake.address,
|
|
1735
1735
|
fleet: fleet.address,
|