@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-dock-funding.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-dock-funding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,WAAW,
|
|
1
|
+
{"version":3,"file":"fleet-dock-funding.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-dock-funding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,WAAW,EACX,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAQnC,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC3B,MAAM,+BAA+B,CAAC;AA0JvC,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,iBAAiB,EACzB,GAAG,EAAE,SAAS,UAAU,EAAE,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAsC7B;AACD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE,qBAAqB,EAC5B,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,EACtD,SAAS,EAAE,gBAAgB,GAAG,SAAS,GACtC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAoB9D"}
|
|
@@ -29,11 +29,11 @@ function requiredFundingAccount(raw, address, label) {
|
|
|
29
29
|
throw new SageSdkError('ACCOUNT_NOT_FOUND', `The ${label} account (${address}) was not returned while checking docking funding. Verify the deployment and provider, refresh the account, and recreate the Plan.`, { address });
|
|
30
30
|
return raw;
|
|
31
31
|
}
|
|
32
|
-
function qualifyDockAccounts(intent, accounts) {
|
|
32
|
+
function qualifyDockAccounts(programs, intent, accounts) {
|
|
33
33
|
const fleetRaw = accounts.get(intent.address), playerRaw = accounts.get(intent.starbasePlayer), systemRaw = accounts.get(intent.system);
|
|
34
34
|
if (!fleetRaw || !playerRaw || !systemRaw)
|
|
35
35
|
return unavailable('funding-state-unavailable');
|
|
36
|
-
const fleet = fleetAccountDefinition.decode(fleetRaw), player = starbasePlayerAccountDefinition.decode(playerRaw), system = starSystemAccountDefinition.decode(systemRaw);
|
|
36
|
+
const fleet = fleetAccountDefinition.decode(fleetRaw, programs), player = starbasePlayerAccountDefinition.decode(playerRaw, programs), system = starSystemAccountDefinition.decode(systemRaw, programs);
|
|
37
37
|
if (fleetRaw.executable ||
|
|
38
38
|
playerRaw.executable ||
|
|
39
39
|
systemRaw.executable ||
|
|
@@ -68,7 +68,7 @@ function qualifyDockAccounts(intent, accounts) {
|
|
|
68
68
|
return unavailable('stale-starbase-sequence');
|
|
69
69
|
return { status: 'qualified', fleetRaw, playerRaw, fleet, player };
|
|
70
70
|
}
|
|
71
|
-
function calculateDockFunding(intent, accounts, sequences, qualified = qualifyDockAccounts(intent, accounts)) {
|
|
71
|
+
function calculateDockFunding(programs, intent, accounts, sequences, qualified = qualifyDockAccounts(programs, intent, accounts)) {
|
|
72
72
|
if (qualified.status === 'unavailable')
|
|
73
73
|
return qualified;
|
|
74
74
|
const { fleetRaw, playerRaw, fleet, player } = qualified;
|
|
@@ -86,7 +86,7 @@ function calculateDockFunding(intent, accounts, sequences, qualified = qualifyDo
|
|
|
86
86
|
const profile = requiredFundingAccount(accounts.get(intent.profile), intent.profile, 'Profile'), rentRaw = requiredFundingAccount(accounts.get(RENT_ADDRESS), RENT_ADDRESS, 'Rent sysvar');
|
|
87
87
|
if (profile.executable)
|
|
88
88
|
return unavailable('funding-state-unavailable');
|
|
89
|
-
validateProfileAccountShape(profile);
|
|
89
|
+
validateProfileAccountShape(programs, profile);
|
|
90
90
|
const rent = readRent(rentRaw);
|
|
91
91
|
if ([fleetRaw, playerRaw].some((a) => a.lamports < rent(a.data.length)))
|
|
92
92
|
return unavailable('accounts-below-rent-reserve');
|
|
@@ -94,7 +94,7 @@ function calculateDockFunding(intent, accounts, sequences, qualified = qualifyDo
|
|
|
94
94
|
const maximumProfileDebit = dockGrowthDebit(rentLamportsPerByteYear, rentExemptionThreshold, fleetRaw.data.length);
|
|
95
95
|
// Docking always grows the Fleet; the program withdraws that from the
|
|
96
96
|
// Profile vault with the signing key.
|
|
97
|
-
requireStorageFundingKey({
|
|
97
|
+
requireStorageFundingKey(programs, {
|
|
98
98
|
profileRaw: profile,
|
|
99
99
|
authority: intent.authority,
|
|
100
100
|
keyIndex: intent.keyIndex,
|
|
@@ -120,7 +120,7 @@ export async function resolveDockFunding(ctx, intent, raw) {
|
|
|
120
120
|
const accounts = new Map(raw.map((a) => [a.address, a]));
|
|
121
121
|
// Core account decoding remains strict; only optional estimate inputs below
|
|
122
122
|
// may turn an otherwise supported dock into an unavailable quote.
|
|
123
|
-
const qualified = qualifyDockAccounts(intent, accounts);
|
|
123
|
+
const qualified = qualifyDockAccounts(ctx.programs, intent, accounts);
|
|
124
124
|
if (qualified.status === 'unavailable')
|
|
125
125
|
return qualified;
|
|
126
126
|
// One fresh batch, as at execution. Transport, lifecycle and programming
|
|
@@ -135,7 +135,7 @@ export async function resolveDockFunding(ctx, intent, raw) {
|
|
|
135
135
|
try {
|
|
136
136
|
// The Game is decoded behind the registry boundary; only typed
|
|
137
137
|
// account-format and Rent-value failures become an unavailable quote.
|
|
138
|
-
const current = calculateDockFunding(intent, accounts, decodeDockingSequences(accounts.get(intent.game)), qualified);
|
|
138
|
+
const current = calculateDockFunding(ctx.programs, intent, accounts, decodeDockingSequences(ctx.programs, accounts.get(intent.game)), qualified);
|
|
139
139
|
if (current.status === 'unavailable')
|
|
140
140
|
return current;
|
|
141
141
|
const { profileReserve: _profileReserve, ...amounts } = current;
|
|
@@ -145,10 +145,10 @@ export async function resolveDockFunding(ctx, intent, raw) {
|
|
|
145
145
|
return estimateFailure(error);
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
|
-
export function revalidateDockFunding(guard, accounts, sequences) {
|
|
148
|
+
export function revalidateDockFunding(programs, guard, accounts, sequences) {
|
|
149
149
|
if (guard.status === 'unavailable')
|
|
150
150
|
return undefined;
|
|
151
|
-
const current = calculateDockFunding(guard, accounts, sequences);
|
|
151
|
+
const current = calculateDockFunding(programs, guard, accounts, sequences);
|
|
152
152
|
if (current.status !== 'available' ||
|
|
153
153
|
current.maximumProfileDebit > guard.maximumProfileDebit ||
|
|
154
154
|
current.shipSequenceId !== guard.shipSequenceId ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-dock-funding.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-dock-funding.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fleet-dock-funding.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-dock-funding.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { PlanPrecondition, PlanStep } from '../../planning/index.js';
|
|
2
|
+
import type { SageProgramAddresses } from '../../client/contracts.js';
|
|
2
3
|
/** Binds the qualified current docking route to its mandatory faction policy safeguard. */
|
|
3
|
-
export declare function validateFleetDockingGuards(steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
|
|
4
|
+
export declare function validateFleetDockingGuards(programs: SageProgramAddresses, steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
|
|
4
5
|
//# sourceMappingURL=fleet-docking-guard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-docking-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-docking-guard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fleet-docking-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-docking-guard.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,2FAA2F;AAC3F,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CAiDN"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { AccountRole } from '@solana/kit';
|
|
2
2
|
import { SageSdkError } from '../../client/errors.js';
|
|
3
|
-
import { SAGE_PROGRAM_ADDRESS, PLAYER_PROFILE_PROGRAM_ADDRESS, } from '../c4/runtime-bindings.js';
|
|
4
3
|
import { IDLE_TO_DOCKED_DISCRIMINATOR } from '../c4/discriminators.js';
|
|
5
4
|
/** Binds the qualified current docking route to its mandatory faction policy safeguard. */
|
|
6
|
-
export function validateFleetDockingGuards(steps, guards) {
|
|
5
|
+
export function validateFleetDockingGuards(programs, steps, guards) {
|
|
7
6
|
for (const { instruction } of steps) {
|
|
8
|
-
if (instruction.programAddress !==
|
|
7
|
+
if (instruction.programAddress !== programs.sage ||
|
|
9
8
|
!IDLE_TO_DOCKED_DISCRIMINATOR.every((byte, index) => instruction.data?.[index] === byte))
|
|
10
9
|
continue;
|
|
11
10
|
const a = instruction.accounts;
|
|
@@ -29,8 +28,8 @@ export function validateFleetDockingGuards(steps, guards) {
|
|
|
29
28
|
if (instruction.data?.length !== 10 ||
|
|
30
29
|
a?.length !== 13 ||
|
|
31
30
|
roles.some((role, i) => a[i].role !== role) ||
|
|
32
|
-
a[3].address !==
|
|
33
|
-
[9, 10, 12].some((i) => a[i].address !==
|
|
31
|
+
a[3].address !== programs.playerProfile ||
|
|
32
|
+
[9, 10, 12].some((i) => a[i].address !== programs.sage) ||
|
|
34
33
|
!guards.some((g) => g.kind === 'fleet-docking-policy' &&
|
|
35
34
|
g.address === a[8].address &&
|
|
36
35
|
g.game === a[7].address &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-docking-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-docking-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"fleet-docking-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-docking-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAGvE,2FAA2F;AAC3F,MAAM,UAAU,0BAA0B,CACxC,QAA8B,EAC9B,KAA0B,EAC1B,MAAmC;IAEnC,KAAK,MAAM,EAAE,WAAW,EAAE,IAAI,KAAK,EAAE,CAAC;QACpC,IACE,WAAW,CAAC,cAAc,KAAK,QAAQ,CAAC,IAAI;YAC5C,CAAC,4BAA4B,CAAC,KAAK,CACjC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,CACpD;YAED,SAAS;QACX,MAAM,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC;QAC/B,MAAM,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC;QAC/B,MAAM,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC;QAC/B,MAAM,KAAK,GAAG;YACZ,WAAW,CAAC,eAAe;YAC3B,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;SACF,CAAC;QACF,IACE,WAAW,CAAC,IAAI,EAAE,MAAM,KAAK,EAAE;YAC/B,CAAC,EAAE,MAAM,KAAK,EAAE;YAChB,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,IAAI,CAAC;YAC5C,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO,KAAK,QAAQ,CAAC,aAAa;YACxC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI,CAAC;YACxD,CAAC,MAAM,CAAC,IAAI,CACV,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,sBAAsB;gBACjC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO;gBAC3B,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO;gBACxB,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO;gBAC1B,CAAC,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,OAAO;gBAClC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,EAAE,CAAE,CAAC,OAAO,CACjC,EACD,CAAC;YACD,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,8KAA8K,CAC/K,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Address } from '@solana/kit';
|
|
2
|
-
import type { RawAccount } from '../../client/contracts.js';
|
|
2
|
+
import type { RawAccount, SageProgramAddresses } from '../../client/contracts.js';
|
|
3
3
|
/** Validates the docking admission the program applies, for the cases the SDK
|
|
4
4
|
* can decide exactly. The legacy Starbase owner, Starbase generation and
|
|
5
5
|
* Starbase Player faction are decoded from the fresh System and Starbase
|
|
@@ -10,7 +10,7 @@ import type { RawAccount } from '../../client/contracts.js';
|
|
|
10
10
|
* stay unsupported. The controller is the legacy Starbase owner unless dynamic
|
|
11
11
|
* capture is enabled and a current ownership sidecar records another faction;
|
|
12
12
|
* an uninitialized sidecar means the legacy owner. */
|
|
13
|
-
export declare function validateFleetDockingPolicy(accounts: {
|
|
13
|
+
export declare function validateFleetDockingPolicy(programs: SageProgramAddresses, accounts: {
|
|
14
14
|
readonly tracker: RawAccount | undefined;
|
|
15
15
|
readonly ownership: RawAccount | undefined;
|
|
16
16
|
readonly system: RawAccount | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-docking.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-docking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"fleet-docking.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-docking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAM9D,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AA6CnC;;;;;;;;;sDASsD;AACtD,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,oBAAoB,EAC9B,QAAQ,EAAE;IACR,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,UAAU,GAAG,SAAS,CAAC;CACjD,EACD,KAAK,EAAE;IACL,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC,GACA,OAAO,CAAC,IAAI,CAAC,CAoIf"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getAddressEncoder } from '@solana/kit';
|
|
2
|
-
import {
|
|
2
|
+
import { getFactionOwnershipDecoder, getFactionRelationTrackerDecoder, } from '../c4/runtime-bindings.js';
|
|
3
3
|
import { defineAccount } from '../c4/account-decoding.js';
|
|
4
4
|
import { SageSdkError } from '../../client/errors.js';
|
|
5
5
|
import { FACTION_OWNERSHIP_DISCRIMINATOR, FACTION_RELATION_TRACKER_DISCRIMINATOR, } from '../c4/discriminators.js';
|
|
@@ -11,13 +11,13 @@ import { starSystemAccountDefinition } from '../c4/world.js';
|
|
|
11
11
|
// bringing unrelated faction gameplay projections into the Plan execution bundle.
|
|
12
12
|
const trackerDefinition = /* @__PURE__ */ defineAccount({
|
|
13
13
|
type: 'factionRelationTracker',
|
|
14
|
-
|
|
14
|
+
program: 'sage',
|
|
15
15
|
discriminator: FACTION_RELATION_TRACKER_DISCRIMINATOR,
|
|
16
16
|
length: 78,
|
|
17
17
|
}, getFactionRelationTrackerDecoder, (value) => value);
|
|
18
18
|
const ownershipDefinition = /* @__PURE__ */ defineAccount({
|
|
19
19
|
type: 'factionOwnership',
|
|
20
|
-
|
|
20
|
+
program: 'sage',
|
|
21
21
|
discriminator: FACTION_OWNERSHIP_DISCRIMINATOR,
|
|
22
22
|
length: 145,
|
|
23
23
|
exact: true,
|
|
@@ -35,7 +35,7 @@ const factionName = (id) => FACTION_NAMES[id];
|
|
|
35
35
|
* stay unsupported. The controller is the legacy Starbase owner unless dynamic
|
|
36
36
|
* capture is enabled and a current ownership sidecar records another faction;
|
|
37
37
|
* an uninitialized sidecar means the legacy owner. */
|
|
38
|
-
export async function validateFleetDockingPolicy(accounts, scope) {
|
|
38
|
+
export async function validateFleetDockingPolicy(programs, accounts, scope) {
|
|
39
39
|
const invalid = (address, cause) => {
|
|
40
40
|
throw new SageSdkError('ACTION_PRECONDITION_FAILED', `Docking at Star System ${scope.system}: ${cause}. Refresh the indicated faction account for the configured Game and System, verify its current binding version, and recreate the docking Plan.`, { address });
|
|
41
41
|
};
|
|
@@ -51,10 +51,10 @@ export async function validateFleetDockingPolicy(accounts, scope) {
|
|
|
51
51
|
};
|
|
52
52
|
const tracker = read(accounts.tracker, scope.address, 'Game faction relation tracker');
|
|
53
53
|
const [trackerPda, ownershipPda] = await Promise.all([
|
|
54
|
-
deriveFactionRelationTrackerPda(scope.game),
|
|
55
|
-
deriveStarbaseOwnershipPda(scope.game, scope.system),
|
|
54
|
+
deriveFactionRelationTrackerPda(programs, scope.game),
|
|
55
|
+
deriveStarbaseOwnershipPda(programs, scope.game, scope.system),
|
|
56
56
|
]);
|
|
57
|
-
const relation = trackerDefinition.decode(tracker);
|
|
57
|
+
const relation = trackerDefinition.decode(tracker, programs);
|
|
58
58
|
if (relation.version !== 0)
|
|
59
59
|
invalid(scope.address, `Game faction relation tracker ${scope.address} has unsupported account version ${String(relation.version)}`);
|
|
60
60
|
if (trackerPda[0] !== scope.address ||
|
|
@@ -63,19 +63,18 @@ export async function validateFleetDockingPolicy(accounts, scope) {
|
|
|
63
63
|
invalid(scope.address, `Game faction relation tracker ${scope.address} does not match its canonical Game identity or PDA`);
|
|
64
64
|
if (ownershipPda[0] !== scope.ownership)
|
|
65
65
|
invalid(scope.ownership, `System ownership ${scope.ownership} is not the canonical ownership PDA for this System`);
|
|
66
|
-
const system = starSystemAccountDefinition.decode(read(accounts.system, scope.system, 'Star System'));
|
|
66
|
+
const system = starSystemAccountDefinition.decode(read(accounts.system, scope.system, 'Star System'), programs);
|
|
67
67
|
if (system.game !== scope.game || system.starbase === undefined)
|
|
68
68
|
invalid(scope.system, `Star System ${scope.system} is not an active Starbase System of this Game`);
|
|
69
|
-
const player = starbasePlayerAccountDefinition.decode(read(accounts.starbasePlayer, scope.starbasePlayer, 'Starbase Player'));
|
|
69
|
+
const player = starbasePlayerAccountDefinition.decode(read(accounts.starbasePlayer, scope.starbasePlayer, 'Starbase Player'), programs);
|
|
70
70
|
if (player.system !== scope.system ||
|
|
71
|
-
(await deriveStarbasePlayerAddress(scope.system, player.character)) !==
|
|
72
|
-
scope.starbasePlayer)
|
|
71
|
+
(await deriveStarbasePlayerAddress(programs, scope.system, player.character)) !== scope.starbasePlayer)
|
|
73
72
|
invalid(scope.starbasePlayer, `Starbase Player ${scope.starbasePlayer} is not its Character's canonical Starbase Player at this System`);
|
|
74
73
|
const playerFaction = factionValue(player.faction);
|
|
75
74
|
// An uninitialized ownership sidecar means the legacy Starbase owner.
|
|
76
75
|
let controller = factionValue(system.starbase.owner);
|
|
77
76
|
if (accounts.ownership !== undefined) {
|
|
78
|
-
const owner = ownershipDefinition.decode(read(accounts.ownership, scope.ownership, 'System ownership'));
|
|
77
|
+
const owner = ownershipDefinition.decode(read(accounts.ownership, scope.ownership, 'System ownership'), programs);
|
|
79
78
|
if (owner.version !== 0)
|
|
80
79
|
invalid(scope.ownership, `System ownership ${scope.ownership} has unsupported account version ${String(owner.version)}`);
|
|
81
80
|
if (owner.bump !== ownershipPda[1] ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-docking.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-docking.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAgB,MAAM,aAAa,CAAC;AAC9D,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"fleet-docking.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-docking.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Address } from '@solana/kit';
|
|
2
|
+
import type { SageProgramAddresses } from '../../client/contracts.js';
|
|
2
3
|
/** How a Fleet with a sub-profile is held: the SAGE program address marks a
|
|
3
4
|
* Fleet listed for rent with no renter; any other address is the renter. */
|
|
4
|
-
export declare function describeFleetRental(subProfile: Address): string;
|
|
5
|
+
export declare function describeFleetRental(programs: SageProgramAddresses, subProfile: Address): string;
|
|
5
6
|
//# sourceMappingURL=fleet-rental.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-rental.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-rental.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"fleet-rental.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-rental.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE;4EAC4E;AAC5E,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,oBAAoB,EAC9B,UAAU,EAAE,OAAO,GAClB,MAAM,CAIR"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { SAGE_PROGRAM_ADDRESS } from '../c4/runtime-bindings.js';
|
|
2
1
|
/** How a Fleet with a sub-profile is held: the SAGE program address marks a
|
|
3
2
|
* Fleet listed for rent with no renter; any other address is the renter. */
|
|
4
|
-
export function describeFleetRental(subProfile) {
|
|
5
|
-
return subProfile ===
|
|
3
|
+
export function describeFleetRental(programs, subProfile) {
|
|
4
|
+
return subProfile === programs.sage
|
|
6
5
|
? 'listed for rent'
|
|
7
6
|
: `rented to Profile ${subProfile}`;
|
|
8
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-rental.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-rental.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fleet-rental.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-rental.ts"],"names":[],"mappings":"AAGA;4EAC4E;AAC5E,MAAM,UAAU,mBAAmB,CACjC,QAA8B,EAC9B,UAAmB;IAEnB,OAAO,UAAU,KAAK,QAAQ,CAAC,IAAI;QACjC,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,qBAAqB,UAAU,EAAE,CAAC;AACxC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-respawn.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-respawn.ts"],"names":[],"mappings":"AAIA,OAAO,EAAqB,KAAK,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAc,WAAW,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"fleet-respawn.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-respawn.ts"],"names":[],"mappings":"AAIA,OAAO,EAAqB,KAAK,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAc,WAAW,EAAE,MAAM,2BAA2B,CAAC;AA0CzE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAOD,6FAA6F;AAC7F,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,kBAAkB,EACzB,QAAQ,CAAC,EAAE;IACT,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC,EACD,UAAU,GAAE,UAAwB;;;;;;;;;;GAoOrC"}
|
|
@@ -12,7 +12,6 @@ import { starSystemAccountDefinition, deriveStarSystemAddress, } from '../c4/wor
|
|
|
12
12
|
import { starbasePlayerAccountDefinition, deriveStarbasePlayerAddress, } from '../c4/starbase.js';
|
|
13
13
|
import { deriveRegionTrackerAddress, regionTrackerAccountDefinition, } from '../c4/factions.js';
|
|
14
14
|
import { deriveFleetCrewBindingAddress, fleetCrewBindingAccountDefinition, matchesFleetCrewBindingIdentity, } from '../c4/fleet-crew-binding.js';
|
|
15
|
-
import { PROFILE_SCOPE, SAGE_SCOPE } from '../c4/profile-permissions.js';
|
|
16
15
|
import { fleetRespawnSize, fleetRespawnInstruction, } from '../c4/fleet-respawn.js';
|
|
17
16
|
import { CLOCK_ADDRESS, readClock } from './faction-enrollment.js';
|
|
18
17
|
import { RENT_ADDRESS, readRent } from './rent.js';
|
|
@@ -32,12 +31,12 @@ export async function resolveFleetRespawn(ctx, input, expected, commitment = 'co
|
|
|
32
31
|
isOffCurveAddress(intent.authority))
|
|
33
32
|
fail('Recovery requires this deployment’s Game and an on-curve direct Profile key with a valid key index.');
|
|
34
33
|
const [character, regionTracker, crewBinding, [currencyCache]] = await Promise.all([
|
|
35
|
-
findCharacterPda(intent.profile, intent.game),
|
|
36
|
-
deriveRegionTrackerAddress(intent.game),
|
|
37
|
-
deriveFleetCrewBindingAddress(intent.fleet),
|
|
38
|
-
deriveCurrencyCache(intent.game),
|
|
34
|
+
findCharacterPda(ctx.programs, intent.profile, intent.game),
|
|
35
|
+
deriveRegionTrackerAddress(ctx.programs, intent.game),
|
|
36
|
+
deriveFleetCrewBindingAddress(ctx.programs, intent.fleet),
|
|
37
|
+
deriveCurrencyCache(ctx.programs, intent.game),
|
|
39
38
|
]);
|
|
40
|
-
const starbasePlayer = await deriveStarbasePlayerAddress(intent.system, character);
|
|
39
|
+
const starbasePlayer = await deriveStarbasePlayerAddress(ctx.programs, intent.system, character);
|
|
41
40
|
const addresses = [
|
|
42
41
|
intent.fleet,
|
|
43
42
|
intent.profile,
|
|
@@ -56,17 +55,16 @@ export async function resolveFleetRespawn(ctx, input, expected, commitment = 'co
|
|
|
56
55
|
const accounts = new Map(addresses.map((address, i) => [address, rows[i]]));
|
|
57
56
|
const required = (address) => accounts.get(address) ?? fail(`Recovery account ${address} is missing.`);
|
|
58
57
|
const fleetRaw = required(intent.fleet), profileRaw = required(intent.profile);
|
|
59
|
-
const fleet = fleetAccountDefinition.decode(fleetRaw), profile = profileAccountDefinition.decode(profileRaw), system = starSystemAccountDefinition.decode(required(intent.system));
|
|
58
|
+
const fleet = fleetAccountDefinition.decode(fleetRaw, ctx.programs), profile = profileAccountDefinition.decode(profileRaw, ctx.programs), system = starSystemAccountDefinition.decode(required(intent.system), ctx.programs);
|
|
60
59
|
if (fleet.game !== intent.game ||
|
|
61
60
|
fleet.ownerProfile !== intent.profile ||
|
|
62
61
|
fleet.npcFactionId !== 0 ||
|
|
63
62
|
fleet.faction === 'unaligned' ||
|
|
64
|
-
(await deriveFleetAddress(fleet)) !== intent.fleet ||
|
|
63
|
+
(await deriveFleetAddress(ctx.programs, fleet)) !== intent.fleet ||
|
|
65
64
|
fleet.subProfile !== '11111111111111111111111111111111')
|
|
66
65
|
fail('Recovery requires a canonical owned player Fleet without a SubProfile route.');
|
|
67
66
|
if (system.game !== intent.game ||
|
|
68
|
-
(await deriveStarSystemAddress(intent.game, system.systemId)) !==
|
|
69
|
-
intent.system ||
|
|
67
|
+
(await deriveStarSystemAddress(ctx.programs, intent.game, system.systemId)) !== intent.system ||
|
|
70
68
|
system.starbase?.level !== 'css' ||
|
|
71
69
|
system.starbase.owner !== fleet.faction)
|
|
72
70
|
fail('Recovery destination must be the canonical same-Game CSS matching the Fleet faction.');
|
|
@@ -86,16 +84,16 @@ export async function resolveFleetRespawn(ctx, input, expected, commitment = 'co
|
|
|
86
84
|
let recoveryFee = 0n;
|
|
87
85
|
let selectedCrew;
|
|
88
86
|
if (intent.phase === 'start') {
|
|
89
|
-
const owner = characterAccountDefinition.decode(required(character));
|
|
87
|
+
const owner = characterAccountDefinition.decode(required(character), ctx.programs);
|
|
90
88
|
if (owner.playerProfile !== intent.profile || owner.game !== intent.game)
|
|
91
89
|
fail('Recovery Character does not belong to the selected Profile and Game.');
|
|
92
|
-
const tracker = regionTrackerAccountDefinition.decode(required(regionTracker));
|
|
90
|
+
const tracker = regionTrackerAccountDefinition.decode(required(regionTracker), ctx.programs);
|
|
93
91
|
if (tracker.game !== intent.game)
|
|
94
92
|
fail('Recovery RegionTracker belongs to a different Game.');
|
|
95
|
-
await validateCurrencyCache(required(currencyCache), intent.game, 'Fleet recovery');
|
|
93
|
+
await validateCurrencyCache(ctx.programs, required(currencyCache), intent.game, 'Fleet recovery');
|
|
96
94
|
const binding = accounts.get(crewBinding);
|
|
97
95
|
if (binding) {
|
|
98
|
-
if (!matchesFleetCrewBindingIdentity(fleetCrewBindingAccountDefinition.decode(binding), intent.fleet, intent.profile))
|
|
96
|
+
if (!matchesFleetCrewBindingIdentity(fleetCrewBindingAccountDefinition.decode(binding, ctx.programs), intent.fleet, intent.profile))
|
|
99
97
|
fail('Recovery CrewBinding belongs to a different Fleet or Profile.');
|
|
100
98
|
selectedCrew = crewBinding;
|
|
101
99
|
}
|
|
@@ -120,7 +118,7 @@ export async function resolveFleetRespawn(ctx, input, expected, commitment = 'co
|
|
|
120
118
|
commitment,
|
|
121
119
|
})) !== 2)
|
|
122
120
|
fail('Recovery completion requires the supported current Game runtime.');
|
|
123
|
-
const player = starbasePlayerAccountDefinition.decode(required(starbasePlayer));
|
|
121
|
+
const player = starbasePlayerAccountDefinition.decode(required(starbasePlayer), ctx.programs);
|
|
124
122
|
if (player.character !== character ||
|
|
125
123
|
player.playerProfile !== intent.profile ||
|
|
126
124
|
player.system !== intent.system ||
|
|
@@ -138,13 +136,13 @@ export async function resolveFleetRespawn(ctx, input, expected, commitment = 'co
|
|
|
138
136
|
const key = directProfileKey(profile.keys, intent.keyIndex, intent.authority);
|
|
139
137
|
if (!key || profileKeyExpired(key, now))
|
|
140
138
|
fail('Recovery authority is not the selected current unexpired direct Profile key.');
|
|
141
|
-
const auth = grantsPermission(key,
|
|
142
|
-
if (!auth && !grantsPermission(key,
|
|
139
|
+
const auth = grantsPermission(key, ctx.programs.playerProfile, 0n);
|
|
140
|
+
if (!auth && !grantsPermission(key, ctx.programs.sage, 21n))
|
|
143
141
|
fail('Recovery requires a direct Profile AUTH key or SAGE respawn permission.');
|
|
144
142
|
if (profileDebit > 0n && !auth && !hasPermissionBit(key, 63n))
|
|
145
143
|
fail('Recovery storage growth requires Profile vault funding authority. Explicitly prefund the Fleet or choose an authorized drainSolVault key.');
|
|
146
144
|
return {
|
|
147
|
-
instruction: fleetRespawnInstruction(intent, {
|
|
145
|
+
instruction: fleetRespawnInstruction(ctx.programs, intent, {
|
|
148
146
|
character,
|
|
149
147
|
regionTracker,
|
|
150
148
|
currencyCache,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-respawn.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-respawn.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAiC,MAAM,aAAa,CAAC;AAE/E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,6BAA6B,EAC7B,iCAAiC,EACjC,+BAA+B,GAChC,MAAM,6BAA6B,CAAC;AACrC,OAAO,
|
|
1
|
+
{"version":3,"file":"fleet-respawn.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-respawn.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ShipAssemblyCatalog } from '../../registry/ships.js';
|
|
2
2
|
import { type Address } from '@solana/kit';
|
|
3
|
-
import type { RawAccount } from '../../client/contracts.js';
|
|
3
|
+
import type { RawAccount, SageProgramAddresses } from '../../client/contracts.js';
|
|
4
4
|
export interface FleetShipAssemblyIntent {
|
|
5
5
|
readonly address: Address;
|
|
6
6
|
readonly game: Address;
|
|
@@ -23,8 +23,8 @@ export interface FleetShipAssemblyAccounts {
|
|
|
23
23
|
readonly rent: Address;
|
|
24
24
|
readonly clock: Address;
|
|
25
25
|
}
|
|
26
|
-
export declare function resolveFleetShipAssembly(input: FleetShipAssemblyIntent): Promise<FleetShipAssemblyAccounts>;
|
|
27
|
-
export declare function validateFleetShipAssembly(input: FleetShipAssemblyIntent, resolved: FleetShipAssemblyAccounts, accounts: ReadonlyMap<Address, RawAccount | undefined>, expected?: {
|
|
26
|
+
export declare function resolveFleetShipAssembly(programs: SageProgramAddresses, input: FleetShipAssemblyIntent): Promise<FleetShipAssemblyAccounts>;
|
|
27
|
+
export declare function validateFleetShipAssembly(programs: SageProgramAddresses, input: FleetShipAssemblyIntent, resolved: FleetShipAssemblyAccounts, accounts: ReadonlyMap<Address, RawAccount | undefined>, expected?: {
|
|
28
28
|
readonly configHash: string;
|
|
29
29
|
readonly maximumProfileDebit: bigint;
|
|
30
30
|
}, catalog?: ShipAssemblyCatalog): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-ship-assembly.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-ship-assembly.ts"],"names":[],"mappings":"AAaA,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"fleet-ship-assembly.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-ship-assembly.ts"],"names":[],"mappings":"AAaA,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAenC,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AACD,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,yBAAyB,CAAC,CAsBpC;AAID,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE,uBAAuB,EAC9B,QAAQ,EAAE,yBAAyB,EACnC,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,EACtD,QAAQ,CAAC,EAAE;IACT,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC,EACD,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC;IACT,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC,CAAC,CA6OD"}
|
|
@@ -8,16 +8,15 @@ import { SageSdkError } from '../../client/errors.js';
|
|
|
8
8
|
import { findCharacterPda } from '../c4/character.js';
|
|
9
9
|
import { deriveProfileFactionAddress } from '../c4/profile-faction.js';
|
|
10
10
|
import { deriveStarbasePlayerAddress } from '../c4/starbase.js';
|
|
11
|
-
import { PROFILE_SCOPE, SAGE_SCOPE } from '../c4/profile-permissions.js';
|
|
12
11
|
import { CLOCK_ADDRESS, readClock } from './faction-enrollment.js';
|
|
13
12
|
import { RENT_ADDRESS, readRent } from './rent.js';
|
|
14
13
|
import { directProfileKey, grantsPermission, hasPermissionBit, profileKeyExpired, } from './profile-key.js';
|
|
15
14
|
import { readOwnStarbaseFacts } from './own-starbase-facts.js';
|
|
16
|
-
export async function resolveFleetShipAssembly(input) {
|
|
15
|
+
export async function resolveFleetShipAssembly(programs, input) {
|
|
17
16
|
const intent = { ...input };
|
|
18
17
|
const [character, profileFaction] = await Promise.all([
|
|
19
|
-
findCharacterPda(intent.profile, intent.game),
|
|
20
|
-
deriveProfileFactionAddress(intent.profile),
|
|
18
|
+
findCharacterPda(programs, intent.profile, intent.game),
|
|
19
|
+
deriveProfileFactionAddress(programs, intent.profile),
|
|
21
20
|
]);
|
|
22
21
|
return {
|
|
23
22
|
game: intent.game,
|
|
@@ -27,7 +26,7 @@ export async function resolveFleetShipAssembly(input) {
|
|
|
27
26
|
character,
|
|
28
27
|
profileFaction,
|
|
29
28
|
fleet: intent.address,
|
|
30
|
-
starbasePlayer: await deriveStarbasePlayerAddress(intent.system, character),
|
|
29
|
+
starbasePlayer: await deriveStarbasePlayerAddress(programs, intent.system, character),
|
|
31
30
|
rent: RENT_ADDRESS,
|
|
32
31
|
clock: CLOCK_ADDRESS,
|
|
33
32
|
};
|
|
@@ -35,7 +34,7 @@ export async function resolveFleetShipAssembly(input) {
|
|
|
35
34
|
function fail(address, message) {
|
|
36
35
|
throw new SageSdkError('ACTION_PRECONDITION_FAILED', message, { address });
|
|
37
36
|
}
|
|
38
|
-
export async function validateFleetShipAssembly(input, resolved, accounts, expected, catalog) {
|
|
37
|
+
export async function validateFleetShipAssembly(programs, input, resolved, accounts, expected, catalog) {
|
|
39
38
|
const intent = { ...input };
|
|
40
39
|
if (isOffCurveAddress(intent.authority))
|
|
41
40
|
fail(intent.profile, 'Ship assembly requires an on-curve direct Profile authority. Select a current direct key and replan.');
|
|
@@ -49,15 +48,15 @@ export async function validateFleetShipAssembly(input, resolved, accounts, expec
|
|
|
49
48
|
};
|
|
50
49
|
// The program assembles at any Starbase where the Character has a current
|
|
51
50
|
// StarbasePlayer of the Fleet's faction, whoever owns the Starbase.
|
|
52
|
-
const { profileRaw, profile, character, faction, system, player } = await readOwnStarbaseFacts(intent, resolved, required, {
|
|
51
|
+
const { profileRaw, profile, character, faction, system, player } = await readOwnStarbaseFacts(programs, intent, resolved, required, {
|
|
53
52
|
replan: 'replan ship assembly',
|
|
54
53
|
before: 'before assembling ships',
|
|
55
54
|
}, { anyStarbase: true });
|
|
56
55
|
if (player.sequenceId !== system.sequenceId)
|
|
57
56
|
fail(resolved.starbasePlayer, `The StarbasePlayer belongs to Starbase generation ${String(player.sequenceId)}, but the Starbase is at generation ${String(system.sequenceId)}; the program treats it as destroyed. Register a current StarbasePlayer at this Starbase and replan ship assembly.`);
|
|
58
57
|
const fleetRaw = required(resolved.fleet, 'Fleet');
|
|
59
|
-
const fleet = fleetAccountDefinition.decode(fleetRaw);
|
|
60
|
-
if ((await deriveFleetAddress(fleet)) !== intent.address ||
|
|
58
|
+
const fleet = fleetAccountDefinition.decode(fleetRaw, programs);
|
|
59
|
+
if ((await deriveFleetAddress(programs, fleet)) !== intent.address ||
|
|
61
60
|
fleet.game !== intent.game ||
|
|
62
61
|
fleet.ownerProfile !== intent.profile ||
|
|
63
62
|
fleet.faction !== faction.faction ||
|
|
@@ -68,7 +67,7 @@ export async function validateFleetShipAssembly(input, resolved, accounts, expec
|
|
|
68
67
|
// A Fleet listed for rent (SAGE address) or rented to a sub-profile is
|
|
69
68
|
// never given ships by the program.
|
|
70
69
|
if (fleet.subProfile !== SYSTEM_PROGRAM)
|
|
71
|
-
fail(resolved.fleet, `The Fleet is ${describeFleetRental(fleet.subProfile)}, and ships cannot be added to it. End the rental, refresh the Fleet, and replan ship assembly.`);
|
|
70
|
+
fail(resolved.fleet, `The Fleet is ${describeFleetRental(programs, fleet.subProfile)}, and ships cannot be added to it. End the rental, refresh the Fleet, and replan ship assembly.`);
|
|
72
71
|
// The program needs full AP, SP and HP. HP can only recover from the
|
|
73
72
|
// pending repair reservoir, so a Fleet whose HP plus reservoir is below its
|
|
74
73
|
// maximum can never qualify; AP and SP recover on timers and stay
|
|
@@ -76,7 +75,7 @@ export async function validateFleetShipAssembly(input, resolved, accounts, expec
|
|
|
76
75
|
if (fleet.hp + fleet.pendingHp < fleet.stats.combat.hp)
|
|
77
76
|
fail(resolved.fleet, `The Fleet has ${String(fleet.hp)} HP and ${String(fleet.pendingHp)} pending repair, below its ${String(fleet.stats.combat.hp)} maximum, and ships can only be added to a fully repaired Fleet. Repair the Fleet, refresh it, and replan ship assembly.`);
|
|
78
77
|
const gameRaw = required(resolved.game, 'Game');
|
|
79
|
-
const definitions = catalog ?? decodeGameShipAssemblyCatalog(gameRaw);
|
|
78
|
+
const definitions = catalog ?? decodeGameShipAssemblyCatalog(programs, gameRaw);
|
|
80
79
|
if (fleet.shipDefinitionsSeqId !== definitions.sequenceId)
|
|
81
80
|
fail(resolved.fleet, 'The Fleet was built under older ship definitions. The program resynchronizes it inside the assembly, which can change its stats, and this SDK plans current Fleets only. Plan planSyncFleetWithGame, confirm it, then replan.');
|
|
82
81
|
const selected = definitions.rows.find((row) => row.id === intent.shipId);
|
|
@@ -155,8 +154,8 @@ export async function validateFleetShipAssembly(input, resolved, accounts, expec
|
|
|
155
154
|
fail(resolved.profile, 'The selected direct Profile key is absent or belongs to another authority. Select the current key index for this authority and replan.');
|
|
156
155
|
if (profileKeyExpired(key, now))
|
|
157
156
|
fail(resolved.profile, 'The selected Profile key has expired. Renew it or select a current direct key and replan ship assembly.');
|
|
158
|
-
const auth = grantsPermission(key,
|
|
159
|
-
const manages = grantsPermission(key,
|
|
157
|
+
const auth = grantsPermission(key, programs.playerProfile, 0n);
|
|
158
|
+
const manages = grantsPermission(key, programs.sage, 18n) ||
|
|
160
159
|
grantsPermission(key, intent.address, 18n);
|
|
161
160
|
if (!auth && !manages)
|
|
162
161
|
fail(resolved.profile, 'The selected key cannot manage Fleets. Use a direct Profile AUTH key or a manageFleet key scoped to SAGE or this Fleet, and replan.');
|