@aephia/atlas-kit 0.7.0-next.1 → 0.7.0-next.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/cargo/actions/deposit.d.ts.map +1 -1
- package/dist/cargo/actions/deposit.js +4 -4
- package/dist/cargo/actions/deposit.js.map +1 -1
- package/dist/cargo/actions/index.d.ts.map +1 -1
- package/dist/cargo/actions/index.js +20 -20
- package/dist/cargo/actions/index.js.map +1 -1
- package/dist/cargo/actions/transfer-bounds.d.ts +4 -3
- package/dist/cargo/actions/transfer-bounds.d.ts.map +1 -1
- package/dist/cargo/actions/transfer-bounds.js +11 -7
- package/dist/cargo/actions/transfer-bounds.js.map +1 -1
- package/dist/cargo/actions/wallet-context.d.ts.map +1 -1
- package/dist/cargo/actions/wallet-context.js +4 -4
- package/dist/cargo/actions/wallet-context.js.map +1 -1
- package/dist/cargo/actions/withdrawal.js +2 -2
- package/dist/cargo/actions/withdrawal.js.map +1 -1
- package/dist/cargo/index.js +2 -2
- package/dist/cargo/index.js.map +1 -1
- package/dist/claim-stakes/actions/index.d.ts.map +1 -1
- package/dist/claim-stakes/actions/index.js +84 -84
- package/dist/claim-stakes/actions/index.js.map +1 -1
- package/dist/client/context.d.ts.map +1 -1
- package/dist/client/context.js +49 -20
- package/dist/client/context.js.map +1 -1
- package/dist/client/contracts.d.ts +42 -4
- package/dist/client/contracts.d.ts.map +1 -1
- package/dist/client/deployments.d.ts +11 -1
- package/dist/client/deployments.d.ts.map +1 -1
- package/dist/client/deployments.js +14 -0
- package/dist/client/deployments.js.map +1 -1
- package/dist/client/index.d.ts +18 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +17 -0
- package/dist/client/index.js.map +1 -1
- package/dist/combat/actions/index.d.ts.map +1 -1
- package/dist/combat/actions/index.js +70 -66
- package/dist/combat/actions/index.js.map +1 -1
- package/dist/combat/index.d.ts.map +1 -1
- package/dist/combat/index.js +2 -2
- package/dist/combat/index.js.map +1 -1
- package/dist/crafting/actions/fee-rate.d.ts.map +1 -1
- package/dist/crafting/actions/fee-rate.js +1 -1
- package/dist/crafting/actions/fee-rate.js.map +1 -1
- package/dist/crafting/actions/index.d.ts.map +1 -1
- package/dist/crafting/actions/index.js +44 -45
- package/dist/crafting/actions/index.js.map +1 -1
- package/dist/crafting/index.d.ts.map +1 -1
- package/dist/crafting/index.js +4 -4
- package/dist/crafting/index.js.map +1 -1
- package/dist/factions/actions/index.d.ts.map +1 -1
- package/dist/factions/actions/index.js +7 -8
- package/dist/factions/actions/index.js.map +1 -1
- package/dist/factions/index.d.ts.map +1 -1
- package/dist/factions/index.js +12 -12
- package/dist/factions/index.js.map +1 -1
- package/dist/factions/profile-faction.js +2 -2
- package/dist/factions/profile-faction.js.map +1 -1
- package/dist/fleets/actions/add-ship.d.ts.map +1 -1
- package/dist/fleets/actions/add-ship.js +5 -5
- package/dist/fleets/actions/add-ship.js.map +1 -1
- package/dist/fleets/actions/create-fleet.d.ts.map +1 -1
- package/dist/fleets/actions/create-fleet.js +4 -4
- package/dist/fleets/actions/create-fleet.js.map +1 -1
- package/dist/fleets/actions/crew-transfer.d.ts.map +1 -1
- package/dist/fleets/actions/crew-transfer.js +5 -2
- package/dist/fleets/actions/crew-transfer.js.map +1 -1
- package/dist/fleets/actions/deployment-storage.d.ts.map +1 -1
- package/dist/fleets/actions/deployment-storage.js +4 -4
- package/dist/fleets/actions/deployment-storage.js.map +1 -1
- package/dist/fleets/actions/disband.d.ts.map +1 -1
- package/dist/fleets/actions/disband.js +6 -6
- package/dist/fleets/actions/disband.js.map +1 -1
- package/dist/fleets/actions/dock-bounds.d.ts +3 -2
- package/dist/fleets/actions/dock-bounds.d.ts.map +1 -1
- package/dist/fleets/actions/dock-bounds.js +8 -1
- package/dist/fleets/actions/dock-bounds.js.map +1 -1
- package/dist/fleets/actions/index.d.ts.map +1 -1
- package/dist/fleets/actions/index.js +85 -84
- package/dist/fleets/actions/index.js.map +1 -1
- package/dist/fleets/actions/respawn.js +1 -1
- package/dist/fleets/actions/respawn.js.map +1 -1
- package/dist/fleets/actions/ship-import.d.ts.map +1 -1
- package/dist/fleets/actions/ship-import.js +7 -8
- package/dist/fleets/actions/ship-import.js.map +1 -1
- package/dist/fleets/actions/sync.d.ts.map +1 -1
- package/dist/fleets/actions/sync.js +5 -4
- package/dist/fleets/actions/sync.js.map +1 -1
- package/dist/fleets/index.js +1 -1
- package/dist/fleets/index.js.map +1 -1
- package/dist/identity/actions/create-profile.d.ts.map +1 -1
- package/dist/identity/actions/create-profile.js +11 -8
- package/dist/identity/actions/create-profile.js.map +1 -1
- package/dist/identity/actions/index.d.ts.map +1 -1
- package/dist/identity/actions/index.js +5 -5
- package/dist/identity/actions/index.js.map +1 -1
- package/dist/identity/actions/research-unlock.d.ts.map +1 -1
- package/dist/identity/actions/research-unlock.js +5 -5
- package/dist/identity/actions/research-unlock.js.map +1 -1
- package/dist/identity/index.d.ts +0 -14
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +5 -19
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/permissions.d.ts +31 -23
- package/dist/identity/permissions.d.ts.map +1 -1
- package/dist/identity/permissions.js +27 -30
- package/dist/identity/permissions.js.map +1 -1
- package/dist/index.d.ts +1 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -14
- package/dist/index.js.map +1 -1
- package/dist/internal/c4/account-decoding.d.ts +9 -5
- package/dist/internal/c4/account-decoding.d.ts.map +1 -1
- package/dist/internal/c4/account-decoding.js +8 -7
- package/dist/internal/c4/account-decoding.js.map +1 -1
- package/dist/internal/c4/adapter.d.ts +2 -2
- package/dist/internal/c4/adapter.d.ts.map +1 -1
- package/dist/internal/c4/career-xp.d.ts.map +1 -1
- package/dist/internal/c4/career-xp.js +3 -3
- package/dist/internal/c4/career-xp.js.map +1 -1
- package/dist/internal/c4/character-registration.d.ts +2 -1
- package/dist/internal/c4/character-registration.d.ts.map +1 -1
- package/dist/internal/c4/character-registration.js +3 -3
- package/dist/internal/c4/character-registration.js.map +1 -1
- package/dist/internal/c4/character.d.ts +3 -3
- package/dist/internal/c4/character.d.ts.map +1 -1
- package/dist/internal/c4/character.js +6 -6
- package/dist/internal/c4/character.js.map +1 -1
- package/dist/internal/c4/claim-stake-storage.d.ts +2 -2
- package/dist/internal/c4/claim-stake-storage.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake-storage.js +2 -2
- package/dist/internal/c4/claim-stake-storage.js.map +1 -1
- package/dist/internal/c4/claim-stake.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake.js +2 -2
- package/dist/internal/c4/claim-stake.js.map +1 -1
- package/dist/internal/c4/combat-storage.d.ts +2 -2
- package/dist/internal/c4/combat-storage.d.ts.map +1 -1
- package/dist/internal/c4/combat-storage.js +4 -2
- package/dist/internal/c4/combat-storage.js.map +1 -1
- package/dist/internal/c4/combat.d.ts +2 -2
- package/dist/internal/c4/combat.d.ts.map +1 -1
- package/dist/internal/c4/combat.js +4 -4
- package/dist/internal/c4/combat.js.map +1 -1
- package/dist/internal/c4/crafting.d.ts +4 -4
- package/dist/internal/c4/crafting.d.ts.map +1 -1
- package/dist/internal/c4/crafting.js +10 -10
- package/dist/internal/c4/crafting.js.map +1 -1
- package/dist/internal/c4/currency-cache.d.ts +3 -3
- package/dist/internal/c4/currency-cache.d.ts.map +1 -1
- package/dist/internal/c4/currency-cache.js +6 -6
- package/dist/internal/c4/currency-cache.js.map +1 -1
- package/dist/internal/c4/faction-enrollment.d.ts +0 -3
- package/dist/internal/c4/faction-enrollment.d.ts.map +1 -1
- package/dist/internal/c4/faction-enrollment.js +1 -3
- package/dist/internal/c4/faction-enrollment.js.map +1 -1
- package/dist/internal/c4/faction-epoch-meter.d.ts +3 -3
- package/dist/internal/c4/faction-epoch-meter.d.ts.map +1 -1
- package/dist/internal/c4/faction-epoch-meter.js +5 -5
- package/dist/internal/c4/faction-epoch-meter.js.map +1 -1
- package/dist/internal/c4/faction-treasury.d.ts +2 -1
- package/dist/internal/c4/faction-treasury.d.ts.map +1 -1
- package/dist/internal/c4/faction-treasury.js +4 -4
- package/dist/internal/c4/faction-treasury.js.map +1 -1
- package/dist/internal/c4/factions.d.ts +12 -12
- package/dist/internal/c4/factions.d.ts.map +1 -1
- package/dist/internal/c4/factions.js +31 -31
- package/dist/internal/c4/factions.js.map +1 -1
- package/dist/internal/c4/fleet-arrival.d.ts +2 -2
- package/dist/internal/c4/fleet-arrival.d.ts.map +1 -1
- package/dist/internal/c4/fleet-arrival.js +3 -3
- package/dist/internal/c4/fleet-arrival.js.map +1 -1
- package/dist/internal/c4/fleet-creation.d.ts +3 -2
- package/dist/internal/c4/fleet-creation.d.ts.map +1 -1
- package/dist/internal/c4/fleet-creation.js +7 -8
- package/dist/internal/c4/fleet-creation.js.map +1 -1
- package/dist/internal/c4/fleet-crew-binding.d.ts +2 -2
- package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
- package/dist/internal/c4/fleet-crew-binding.js +4 -4
- package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
- package/dist/internal/c4/fleet-disband.d.ts +2 -2
- package/dist/internal/c4/fleet-disband.d.ts.map +1 -1
- package/dist/internal/c4/fleet-disband.js +7 -8
- package/dist/internal/c4/fleet-disband.js.map +1 -1
- package/dist/internal/c4/fleet-respawn.d.ts +2 -4
- package/dist/internal/c4/fleet-respawn.d.ts.map +1 -1
- package/dist/internal/c4/fleet-respawn.js +6 -8
- package/dist/internal/c4/fleet-respawn.js.map +1 -1
- package/dist/internal/c4/fleet-ship-assembly.d.ts +2 -2
- package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -1
- package/dist/internal/c4/fleet-ship-assembly.js +5 -6
- package/dist/internal/c4/fleet-ship-assembly.js.map +1 -1
- package/dist/internal/c4/fleet-sync.d.ts +2 -1
- package/dist/internal/c4/fleet-sync.d.ts.map +1 -1
- package/dist/internal/c4/fleet-sync.js +3 -3
- package/dist/internal/c4/fleet-sync.js.map +1 -1
- package/dist/internal/c4/fleet.d.ts +4 -4
- package/dist/internal/c4/fleet.d.ts.map +1 -1
- package/dist/internal/c4/fleet.js +9 -9
- package/dist/internal/c4/fleet.js.map +1 -1
- package/dist/internal/c4/game.d.ts +12 -12
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +24 -24
- package/dist/internal/c4/game.js.map +1 -1
- package/dist/internal/c4/identity.d.ts +2 -2
- package/dist/internal/c4/identity.d.ts.map +1 -1
- package/dist/internal/c4/identity.js +6 -6
- package/dist/internal/c4/identity.js.map +1 -1
- package/dist/internal/c4/local-market-order.d.ts +2 -3
- package/dist/internal/c4/local-market-order.d.ts.map +1 -1
- package/dist/internal/c4/local-market-order.js +4 -9
- package/dist/internal/c4/local-market-order.js.map +1 -1
- package/dist/internal/c4/loot.d.ts.map +1 -1
- package/dist/internal/c4/loot.js +2 -2
- package/dist/internal/c4/loot.js.map +1 -1
- package/dist/internal/c4/loyalty.d.ts +4 -4
- package/dist/internal/c4/loyalty.d.ts.map +1 -1
- package/dist/internal/c4/loyalty.js +10 -10
- package/dist/internal/c4/loyalty.js.map +1 -1
- package/dist/internal/c4/market.d.ts +3 -3
- package/dist/internal/c4/market.d.ts.map +1 -1
- package/dist/internal/c4/market.js +7 -7
- package/dist/internal/c4/market.js.map +1 -1
- package/dist/internal/c4/open-signal.d.ts +3 -4
- package/dist/internal/c4/open-signal.d.ts.map +1 -1
- package/dist/internal/c4/open-signal.js +7 -10
- package/dist/internal/c4/open-signal.js.map +1 -1
- package/dist/internal/c4/pda.d.ts +18 -18
- package/dist/internal/c4/pda.d.ts.map +1 -1
- package/dist/internal/c4/pda.js +35 -36
- package/dist/internal/c4/pda.js.map +1 -1
- package/dist/internal/c4/profile-creation.d.ts +3 -2
- package/dist/internal/c4/profile-creation.d.ts.map +1 -1
- package/dist/internal/c4/profile-creation.js +6 -7
- package/dist/internal/c4/profile-creation.js.map +1 -1
- package/dist/internal/c4/profile-faction.d.ts +2 -2
- package/dist/internal/c4/profile-faction.d.ts.map +1 -1
- package/dist/internal/c4/profile-faction.js +4 -4
- package/dist/internal/c4/profile-faction.js.map +1 -1
- package/dist/internal/c4/profile-permissions.d.ts +3 -4
- package/dist/internal/c4/profile-permissions.d.ts.map +1 -1
- package/dist/internal/c4/profile-permissions.js +7 -9
- package/dist/internal/c4/profile-permissions.js.map +1 -1
- package/dist/internal/c4/rewards.d.ts +3 -3
- package/dist/internal/c4/rewards.d.ts.map +1 -1
- package/dist/internal/c4/rewards.js +8 -8
- package/dist/internal/c4/rewards.js.map +1 -1
- package/dist/internal/c4/runtime-bindings.d.ts +1 -2
- package/dist/internal/c4/runtime-bindings.d.ts.map +1 -1
- package/dist/internal/c4/runtime-bindings.js +1 -2
- package/dist/internal/c4/runtime-bindings.js.map +1 -1
- package/dist/internal/c4/scan-lifecycle.d.ts +2 -2
- package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -1
- package/dist/internal/c4/scan-lifecycle.js +4 -4
- package/dist/internal/c4/scan-lifecycle.js.map +1 -1
- package/dist/internal/c4/scanning.d.ts +2 -2
- package/dist/internal/c4/scanning.d.ts.map +1 -1
- package/dist/internal/c4/scanning.js +4 -4
- package/dist/internal/c4/scanning.js.map +1 -1
- package/dist/internal/c4/starbase.d.ts +2 -2
- package/dist/internal/c4/starbase.d.ts.map +1 -1
- package/dist/internal/c4/starbase.js +5 -5
- package/dist/internal/c4/starbase.js.map +1 -1
- package/dist/internal/c4/wallet-cargo-cache.d.ts +2 -2
- package/dist/internal/c4/wallet-cargo-cache.d.ts.map +1 -1
- package/dist/internal/c4/wallet-cargo-cache.js +3 -3
- package/dist/internal/c4/wallet-cargo-cache.js.map +1 -1
- package/dist/internal/c4/world.d.ts +3 -3
- package/dist/internal/c4/world.d.ts.map +1 -1
- package/dist/internal/c4/world.js +9 -9
- package/dist/internal/c4/world.js.map +1 -1
- package/dist/internal/planning/arrival-guards.d.ts +2 -1
- package/dist/internal/planning/arrival-guards.d.ts.map +1 -1
- package/dist/internal/planning/arrival-guards.js +4 -5
- package/dist/internal/planning/arrival-guards.js.map +1 -1
- package/dist/internal/planning/authorization-adapter.d.ts +35 -34
- package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
- package/dist/internal/planning/authorization-adapter.js +105 -105
- package/dist/internal/planning/authorization-adapter.js.map +1 -1
- package/dist/internal/planning/cargo-storage-actions.d.ts +2 -2
- package/dist/internal/planning/cargo-storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/cargo-storage-actions.js +7 -5
- package/dist/internal/planning/cargo-storage-actions.js.map +1 -1
- package/dist/internal/planning/character-access.d.ts +3 -3
- package/dist/internal/planning/character-access.d.ts.map +1 -1
- package/dist/internal/planning/character-access.js +6 -5
- package/dist/internal/planning/character-access.js.map +1 -1
- package/dist/internal/planning/character-registration-guard.d.ts +2 -1
- package/dist/internal/planning/character-registration-guard.d.ts.map +1 -1
- package/dist/internal/planning/character-registration-guard.js +3 -4
- package/dist/internal/planning/character-registration-guard.js.map +1 -1
- package/dist/internal/planning/character-registration.d.ts.map +1 -1
- package/dist/internal/planning/character-registration.js +2 -2
- package/dist/internal/planning/character-registration.js.map +1 -1
- package/dist/internal/planning/claim-stake-storage-actions.d.ts +2 -2
- package/dist/internal/planning/claim-stake-storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/claim-stake-storage-actions.js +3 -3
- package/dist/internal/planning/claim-stake-storage-actions.js.map +1 -1
- package/dist/internal/planning/combat-storage-actions.d.ts +2 -2
- package/dist/internal/planning/combat-storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/combat-storage-actions.js +3 -3
- package/dist/internal/planning/combat-storage-actions.js.map +1 -1
- package/dist/internal/planning/crafting-storage-actions.d.ts +2 -2
- package/dist/internal/planning/crafting-storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/crafting-storage-actions.js +6 -6
- package/dist/internal/planning/crafting-storage-actions.js.map +1 -1
- package/dist/internal/planning/currency-cache-guard.d.ts +2 -1
- package/dist/internal/planning/currency-cache-guard.d.ts.map +1 -1
- package/dist/internal/planning/currency-cache-guard.js +2 -3
- package/dist/internal/planning/currency-cache-guard.js.map +1 -1
- package/dist/internal/planning/democracy-history.d.ts.map +1 -1
- package/dist/internal/planning/democracy-history.js +9 -9
- package/dist/internal/planning/democracy-history.js.map +1 -1
- package/dist/internal/planning/faction-enrollment.d.ts +2 -2
- package/dist/internal/planning/faction-enrollment.d.ts.map +1 -1
- package/dist/internal/planning/faction-enrollment.js +6 -6
- package/dist/internal/planning/faction-enrollment.js.map +1 -1
- package/dist/internal/planning/faction-trade-state.d.ts +4 -4
- package/dist/internal/planning/faction-trade-state.d.ts.map +1 -1
- package/dist/internal/planning/faction-trade-state.js +9 -9
- package/dist/internal/planning/faction-trade-state.js.map +1 -1
- package/dist/internal/planning/fleet-arrival.d.ts.map +1 -1
- package/dist/internal/planning/fleet-arrival.js +8 -9
- package/dist/internal/planning/fleet-arrival.js.map +1 -1
- package/dist/internal/planning/fleet-attack-xp.d.ts +2 -2
- package/dist/internal/planning/fleet-attack-xp.d.ts.map +1 -1
- package/dist/internal/planning/fleet-attack-xp.js +7 -7
- package/dist/internal/planning/fleet-attack-xp.js.map +1 -1
- package/dist/internal/planning/fleet-creation.d.ts +3 -3
- package/dist/internal/planning/fleet-creation.d.ts.map +1 -1
- package/dist/internal/planning/fleet-creation.js +9 -10
- package/dist/internal/planning/fleet-creation.js.map +1 -1
- package/dist/internal/planning/fleet-crew-guard.d.ts +4 -3
- package/dist/internal/planning/fleet-crew-guard.d.ts.map +1 -1
- package/dist/internal/planning/fleet-crew-guard.js +7 -8
- package/dist/internal/planning/fleet-crew-guard.js.map +1 -1
- package/dist/internal/planning/fleet-crew-transfer.d.ts.map +1 -1
- package/dist/internal/planning/fleet-crew-transfer.js +16 -17
- package/dist/internal/planning/fleet-crew-transfer.js.map +1 -1
- package/dist/internal/planning/fleet-disband-guard.d.ts +2 -1
- package/dist/internal/planning/fleet-disband-guard.d.ts.map +1 -1
- package/dist/internal/planning/fleet-disband-guard.js +4 -5
- package/dist/internal/planning/fleet-disband-guard.js.map +1 -1
- package/dist/internal/planning/fleet-disband.d.ts +3 -3
- package/dist/internal/planning/fleet-disband.d.ts.map +1 -1
- package/dist/internal/planning/fleet-disband.js +11 -12
- package/dist/internal/planning/fleet-disband.js.map +1 -1
- package/dist/internal/planning/fleet-dock-funding-guard.d.ts +2 -1
- package/dist/internal/planning/fleet-dock-funding-guard.d.ts.map +1 -1
- package/dist/internal/planning/fleet-dock-funding-guard.js +2 -3
- package/dist/internal/planning/fleet-dock-funding-guard.js.map +1 -1
- package/dist/internal/planning/fleet-dock-funding.d.ts +2 -2
- package/dist/internal/planning/fleet-dock-funding.d.ts.map +1 -1
- package/dist/internal/planning/fleet-dock-funding.js +9 -9
- package/dist/internal/planning/fleet-dock-funding.js.map +1 -1
- package/dist/internal/planning/fleet-docking-guard.d.ts +2 -1
- package/dist/internal/planning/fleet-docking-guard.d.ts.map +1 -1
- package/dist/internal/planning/fleet-docking-guard.js +4 -5
- package/dist/internal/planning/fleet-docking-guard.js.map +1 -1
- package/dist/internal/planning/fleet-docking.d.ts +2 -2
- package/dist/internal/planning/fleet-docking.d.ts.map +1 -1
- package/dist/internal/planning/fleet-docking.js +11 -12
- package/dist/internal/planning/fleet-docking.js.map +1 -1
- package/dist/internal/planning/fleet-rental.d.ts +2 -1
- package/dist/internal/planning/fleet-rental.d.ts.map +1 -1
- package/dist/internal/planning/fleet-rental.js +2 -3
- package/dist/internal/planning/fleet-rental.js.map +1 -1
- package/dist/internal/planning/fleet-respawn.d.ts.map +1 -1
- package/dist/internal/planning/fleet-respawn.js +16 -18
- package/dist/internal/planning/fleet-respawn.js.map +1 -1
- package/dist/internal/planning/fleet-ship-assembly.d.ts +3 -3
- package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -1
- package/dist/internal/planning/fleet-ship-assembly.js +12 -13
- package/dist/internal/planning/fleet-ship-assembly.js.map +1 -1
- package/dist/internal/planning/governance-fees.d.ts.map +1 -1
- package/dist/internal/planning/governance-fees.js +12 -12
- package/dist/internal/planning/governance-fees.js.map +1 -1
- package/dist/internal/planning/local-market-order-funding.d.ts +2 -2
- package/dist/internal/planning/local-market-order-funding.d.ts.map +1 -1
- package/dist/internal/planning/local-market-order-funding.js +11 -11
- package/dist/internal/planning/local-market-order-funding.js.map +1 -1
- package/dist/internal/planning/local-market-order.d.ts +2 -1
- package/dist/internal/planning/local-market-order.d.ts.map +1 -1
- package/dist/internal/planning/local-market-order.js +4 -4
- package/dist/internal/planning/local-market-order.js.map +1 -1
- package/dist/internal/planning/market-storage-actions.d.ts +2 -2
- package/dist/internal/planning/market-storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/market-storage-actions.js +3 -3
- package/dist/internal/planning/market-storage-actions.js.map +1 -1
- package/dist/internal/planning/mining-stop.d.ts +3 -3
- package/dist/internal/planning/mining-stop.d.ts.map +1 -1
- package/dist/internal/planning/mining-stop.js +5 -6
- package/dist/internal/planning/mining-stop.js.map +1 -1
- package/dist/internal/planning/mining-storage-actions.d.ts +2 -2
- package/dist/internal/planning/mining-storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/mining-storage-actions.js +2 -2
- package/dist/internal/planning/mining-storage-actions.js.map +1 -1
- package/dist/internal/planning/movement-storage-actions.d.ts +2 -2
- package/dist/internal/planning/movement-storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/movement-storage-actions.js +2 -2
- package/dist/internal/planning/movement-storage-actions.js.map +1 -1
- package/dist/internal/planning/movement-xp-guard.d.ts +2 -1
- package/dist/internal/planning/movement-xp-guard.d.ts.map +1 -1
- package/dist/internal/planning/movement-xp-guard.js +3 -3
- package/dist/internal/planning/movement-xp-guard.js.map +1 -1
- package/dist/internal/planning/open-signal-guard.d.ts +2 -1
- package/dist/internal/planning/open-signal-guard.d.ts.map +1 -1
- package/dist/internal/planning/open-signal-guard.js +4 -4
- package/dist/internal/planning/open-signal-guard.js.map +1 -1
- package/dist/internal/planning/open-signal.d.ts +3 -3
- package/dist/internal/planning/open-signal.d.ts.map +1 -1
- package/dist/internal/planning/open-signal.js +12 -13
- package/dist/internal/planning/open-signal.js.map +1 -1
- package/dist/internal/planning/own-starbase-facts.d.ts +2 -2
- package/dist/internal/planning/own-starbase-facts.d.ts.map +1 -1
- package/dist/internal/planning/own-starbase-facts.js +7 -7
- package/dist/internal/planning/own-starbase-facts.js.map +1 -1
- package/dist/internal/planning/profile-storage-funding-guard.d.ts +3 -2
- package/dist/internal/planning/profile-storage-funding-guard.d.ts.map +1 -1
- package/dist/internal/planning/profile-storage-funding-guard.js +4 -5
- package/dist/internal/planning/profile-storage-funding-guard.js.map +1 -1
- package/dist/internal/planning/profile-storage-funding.d.ts +3 -3
- package/dist/internal/planning/profile-storage-funding.d.ts.map +1 -1
- package/dist/internal/planning/profile-storage-funding.js +5 -6
- package/dist/internal/planning/profile-storage-funding.js.map +1 -1
- package/dist/internal/planning/qualified-deployment.d.ts +11 -0
- package/dist/internal/planning/qualified-deployment.d.ts.map +1 -0
- package/dist/internal/planning/qualified-deployment.js +15 -0
- package/dist/internal/planning/qualified-deployment.js.map +1 -0
- package/dist/internal/planning/recipe-state.d.ts +3 -3
- package/dist/internal/planning/recipe-state.d.ts.map +1 -1
- package/dist/internal/planning/recipe-state.js +5 -5
- package/dist/internal/planning/recipe-state.js.map +1 -1
- package/dist/internal/planning/region-access.d.ts +5 -5
- package/dist/internal/planning/region-access.d.ts.map +1 -1
- package/dist/internal/planning/region-access.js +12 -12
- package/dist/internal/planning/region-access.js.map +1 -1
- package/dist/internal/planning/rent-catalog.d.ts +2 -2
- package/dist/internal/planning/rent-catalog.d.ts.map +1 -1
- package/dist/internal/planning/rent-catalog.js +8 -9
- package/dist/internal/planning/rent-catalog.js.map +1 -1
- package/dist/internal/planning/research-unlock.d.ts +4 -4
- package/dist/internal/planning/research-unlock.d.ts.map +1 -1
- package/dist/internal/planning/research-unlock.js +19 -21
- package/dist/internal/planning/research-unlock.js.map +1 -1
- package/dist/internal/planning/respawn-guards.d.ts +2 -1
- package/dist/internal/planning/respawn-guards.d.ts.map +1 -1
- package/dist/internal/planning/respawn-guards.js +2 -3
- package/dist/internal/planning/respawn-guards.js.map +1 -1
- package/dist/internal/planning/runtime-guards.d.ts +2 -2
- package/dist/internal/planning/runtime-guards.d.ts.map +1 -1
- package/dist/internal/planning/runtime-guards.js +10 -11
- package/dist/internal/planning/runtime-guards.js.map +1 -1
- package/dist/internal/planning/scan-completion-guard.d.ts +4 -3
- package/dist/internal/planning/scan-completion-guard.d.ts.map +1 -1
- package/dist/internal/planning/scan-completion-guard.js +7 -8
- package/dist/internal/planning/scan-completion-guard.js.map +1 -1
- package/dist/internal/planning/scan-completion.d.ts +1 -1
- package/dist/internal/planning/scan-completion.d.ts.map +1 -1
- package/dist/internal/planning/scan-completion.js +12 -14
- package/dist/internal/planning/scan-completion.js.map +1 -1
- package/dist/internal/planning/scan-detect-guard.d.ts +5 -4
- package/dist/internal/planning/scan-detect-guard.d.ts.map +1 -1
- package/dist/internal/planning/scan-detect-guard.js +7 -8
- package/dist/internal/planning/scan-detect-guard.js.map +1 -1
- package/dist/internal/planning/scan-detect.d.ts +2 -2
- package/dist/internal/planning/scan-detect.d.ts.map +1 -1
- package/dist/internal/planning/scan-detect.js +17 -18
- package/dist/internal/planning/scan-detect.js.map +1 -1
- package/dist/internal/planning/ship-import-funding.d.ts +3 -3
- package/dist/internal/planning/ship-import-funding.d.ts.map +1 -1
- package/dist/internal/planning/ship-import-funding.js +7 -7
- package/dist/internal/planning/ship-import-funding.js.map +1 -1
- package/dist/internal/planning/starbase-player-owner.d.ts +2 -1
- package/dist/internal/planning/starbase-player-owner.d.ts.map +1 -1
- package/dist/internal/planning/starbase-player-owner.js +3 -4
- package/dist/internal/planning/starbase-player-owner.js.map +1 -1
- package/dist/internal/planning/starbase-player-recovery-guard.d.ts +2 -1
- package/dist/internal/planning/starbase-player-recovery-guard.d.ts.map +1 -1
- package/dist/internal/planning/starbase-player-recovery-guard.js +4 -5
- package/dist/internal/planning/starbase-player-recovery-guard.js.map +1 -1
- package/dist/internal/planning/starbase-system-guard.d.ts +3 -2
- package/dist/internal/planning/starbase-system-guard.d.ts.map +1 -1
- package/dist/internal/planning/starbase-system-guard.js +8 -8
- package/dist/internal/planning/starbase-system-guard.js.map +1 -1
- package/dist/internal/planning/starbase-system.d.ts +2 -2
- package/dist/internal/planning/starbase-system.d.ts.map +1 -1
- package/dist/internal/planning/starbase-system.js +3 -3
- package/dist/internal/planning/starbase-system.js.map +1 -1
- package/dist/internal/planning/storage-action-readers.d.ts +2 -2
- package/dist/internal/planning/storage-action-readers.d.ts.map +1 -1
- package/dist/internal/planning/storage-action-readers.js +7 -5
- package/dist/internal/planning/storage-action-readers.js.map +1 -1
- package/dist/internal/planning/storage-actions.d.ts +4 -4
- package/dist/internal/planning/storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/storage-actions.js +7 -7
- package/dist/internal/planning/storage-actions.js.map +1 -1
- package/dist/internal/planning/trade-faction-market.d.ts +2 -1
- package/dist/internal/planning/trade-faction-market.d.ts.map +1 -1
- package/dist/internal/planning/trade-faction-market.js +6 -6
- package/dist/internal/planning/trade-faction-market.js.map +1 -1
- package/dist/internal/planning/wallet-starbase.d.ts +2 -2
- package/dist/internal/planning/wallet-starbase.d.ts.map +1 -1
- package/dist/internal/planning/wallet-starbase.js +7 -8
- package/dist/internal/planning/wallet-starbase.js.map +1 -1
- package/dist/internal/planning/xp-runtime.d.ts.map +1 -1
- package/dist/internal/planning/xp-runtime.js +13 -13
- package/dist/internal/planning/xp-runtime.js.map +1 -1
- package/dist/loyalty/actions/index.d.ts.map +1 -1
- package/dist/loyalty/actions/index.js +7 -7
- package/dist/loyalty/actions/index.js.map +1 -1
- package/dist/loyalty/index.d.ts.map +1 -1
- package/dist/loyalty/index.js +9 -9
- package/dist/loyalty/index.js.map +1 -1
- package/dist/markets/actions/index.d.ts +4 -2
- package/dist/markets/actions/index.d.ts.map +1 -1
- package/dist/markets/actions/index.js +28 -20
- package/dist/markets/actions/index.js.map +1 -1
- package/dist/markets/actions/trade-faction-market.d.ts.map +1 -1
- package/dist/markets/actions/trade-faction-market.js +22 -23
- package/dist/markets/actions/trade-faction-market.js.map +1 -1
- package/dist/markets/index.d.ts +12 -5
- package/dist/markets/index.d.ts.map +1 -1
- package/dist/markets/index.js +17 -10
- package/dist/markets/index.js.map +1 -1
- package/dist/mining/actions/index.d.ts.map +1 -1
- package/dist/mining/actions/index.js +25 -24
- package/dist/mining/actions/index.js.map +1 -1
- package/dist/mining/index.d.ts.map +1 -1
- package/dist/mining/index.js +2 -2
- package/dist/mining/index.js.map +1 -1
- package/dist/planning/assembly.d.ts +2 -2
- package/dist/planning/assembly.d.ts.map +1 -1
- package/dist/planning/assembly.js +6 -3
- package/dist/planning/assembly.js.map +1 -1
- package/dist/planning/execution.d.ts.map +1 -1
- package/dist/planning/execution.js +34 -35
- package/dist/planning/execution.js.map +1 -1
- package/dist/planning/index.d.ts +15 -3
- package/dist/planning/index.d.ts.map +1 -1
- package/dist/planning/index.js +32 -11
- package/dist/planning/index.js.map +1 -1
- package/dist/planning/plan-construction.d.ts +5 -2
- package/dist/planning/plan-construction.d.ts.map +1 -1
- package/dist/planning/plan-construction.js +16 -4
- package/dist/planning/plan-construction.js.map +1 -1
- package/dist/planning/plan-validation.d.ts +4 -3
- package/dist/planning/plan-validation.d.ts.map +1 -1
- package/dist/planning/plan-validation.js +56 -56
- package/dist/planning/plan-validation.js.map +1 -1
- package/dist/planning/simulation.js +1 -1
- package/dist/planning/simulation.js.map +1 -1
- package/dist/registry/cargo.d.ts.map +1 -1
- package/dist/registry/cargo.js +2 -2
- package/dist/registry/cargo.js.map +1 -1
- package/dist/registry/claim-stakes.d.ts.map +1 -1
- package/dist/registry/claim-stakes.js +1 -1
- package/dist/registry/claim-stakes.js.map +1 -1
- package/dist/registry/docking.d.ts +2 -2
- package/dist/registry/docking.d.ts.map +1 -1
- package/dist/registry/docking.js +2 -2
- package/dist/registry/docking.js.map +1 -1
- package/dist/registry/index.js +1 -1
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/onboarding.d.ts +2 -2
- package/dist/registry/onboarding.d.ts.map +1 -1
- package/dist/registry/onboarding.js +4 -4
- package/dist/registry/onboarding.js.map +1 -1
- package/dist/registry/scanning.js +1 -1
- package/dist/registry/scanning.js.map +1 -1
- package/dist/registry/ships.d.ts +3 -3
- package/dist/registry/ships.d.ts.map +1 -1
- package/dist/registry/ships.js +10 -7
- package/dist/registry/ships.js.map +1 -1
- package/dist/registry/xp-runtime.js +1 -1
- package/dist/registry/xp-runtime.js.map +1 -1
- package/dist/rewards/index.d.ts.map +1 -1
- package/dist/rewards/index.js +3 -3
- package/dist/rewards/index.js.map +1 -1
- package/dist/scanning/actions/index.d.ts.map +1 -1
- package/dist/scanning/actions/index.js +7 -7
- package/dist/scanning/actions/index.js.map +1 -1
- package/dist/scanning/index.d.ts.map +1 -1
- package/dist/scanning/index.js +4 -4
- package/dist/scanning/index.js.map +1 -1
- package/dist/scanning/signals.d.ts.map +1 -1
- package/dist/scanning/signals.js +1 -1
- package/dist/scanning/signals.js.map +1 -1
- package/dist/starbases/actions/index.d.ts.map +1 -1
- package/dist/starbases/actions/index.js +25 -26
- package/dist/starbases/actions/index.js.map +1 -1
- package/dist/starbases/index.d.ts.map +1 -1
- package/dist/starbases/index.js +1 -1
- package/dist/starbases/index.js.map +1 -1
- package/dist/world/index.d.ts +7 -4
- package/dist/world/index.d.ts.map +1 -1
- package/dist/world/index.js +11 -9
- package/dist/world/index.js.map +1 -1
- package/package.json +61 -31
- package/dist/internal/c4/mining-instructions.d.ts +0 -2
- package/dist/internal/c4/mining-instructions.d.ts.map +0 -1
- package/dist/internal/c4/mining-instructions.js +0 -3
- package/dist/internal/c4/mining-instructions.js.map +0 -1
|
@@ -3,7 +3,6 @@ import { deriveFleetCreationAddress, emptyDockedFleetSize, } from '../c4/fleet-c
|
|
|
3
3
|
import { findCharacterPda } from '../c4/character.js';
|
|
4
4
|
import { deriveProfileFactionAddress } from '../c4/profile-faction.js';
|
|
5
5
|
import { deriveStarbasePlayerAddress } from '../c4/starbase.js';
|
|
6
|
-
import { PROFILE_SCOPE, SAGE_SCOPE } from '../c4/profile-permissions.js';
|
|
7
6
|
import { CLOCK_ADDRESS, readClock } from './faction-enrollment.js';
|
|
8
7
|
import { RENT_ADDRESS, readRent } from './rent.js';
|
|
9
8
|
import { directProfileKey, grantsPermission, hasPermissionBit, profileKeyExpired, } from './profile-key.js';
|
|
@@ -16,13 +15,13 @@ export function validateFleetCreationLabel(label) {
|
|
|
16
15
|
new TextEncoder().encode(label).length > 64)
|
|
17
16
|
throw new InvalidActionInputError('options.label', label, 'a nonblank, valid UTF-8 Fleet label of at most 64 bytes without NUL', 'Choose a valid Fleet label. Accepted whitespace is preserved in the canonical Fleet address.');
|
|
18
17
|
}
|
|
19
|
-
export async function resolveFleetCreation(input) {
|
|
18
|
+
export async function resolveFleetCreation(programs, input) {
|
|
20
19
|
const intent = { ...input };
|
|
21
20
|
validateFleetCreationLabel(intent.label);
|
|
22
21
|
const [character, profileFaction, fleet] = await Promise.all([
|
|
23
|
-
findCharacterPda(intent.profile, intent.game),
|
|
24
|
-
deriveProfileFactionAddress(intent.profile),
|
|
25
|
-
deriveFleetCreationAddress(intent.game, intent.profile, intent.label),
|
|
22
|
+
findCharacterPda(programs, intent.profile, intent.game),
|
|
23
|
+
deriveProfileFactionAddress(programs, intent.profile),
|
|
24
|
+
deriveFleetCreationAddress(programs, intent.game, intent.profile, intent.label),
|
|
26
25
|
]);
|
|
27
26
|
return {
|
|
28
27
|
game: intent.game,
|
|
@@ -32,7 +31,7 @@ export async function resolveFleetCreation(input) {
|
|
|
32
31
|
character,
|
|
33
32
|
profileFaction,
|
|
34
33
|
fleet,
|
|
35
|
-
starbasePlayer: await deriveStarbasePlayerAddress(intent.system, character),
|
|
34
|
+
starbasePlayer: await deriveStarbasePlayerAddress(programs, intent.system, character),
|
|
36
35
|
rent: RENT_ADDRESS,
|
|
37
36
|
clock: CLOCK_ADDRESS,
|
|
38
37
|
};
|
|
@@ -40,7 +39,7 @@ export async function resolveFleetCreation(input) {
|
|
|
40
39
|
function fail(address, message) {
|
|
41
40
|
throw new SageSdkError('ACTION_PRECONDITION_FAILED', message, { address });
|
|
42
41
|
}
|
|
43
|
-
export async function validateFleetCreation(input, resolved, accounts, maximumProfileDebit) {
|
|
42
|
+
export async function validateFleetCreation(programs, input, resolved, accounts, maximumProfileDebit) {
|
|
44
43
|
const intent = { ...input };
|
|
45
44
|
const required = (address, name) => {
|
|
46
45
|
const raw = accounts.get(address);
|
|
@@ -50,7 +49,7 @@ export async function validateFleetCreation(input, resolved, accounts, maximumPr
|
|
|
50
49
|
fail(address, `${name} ${address} is executable. Refresh valid account state before creating a Fleet.`);
|
|
51
50
|
return raw;
|
|
52
51
|
};
|
|
53
|
-
const { profileRaw, profile, character } = await readOwnStarbaseFacts(intent, resolved, required, {
|
|
52
|
+
const { profileRaw, profile, character } = await readOwnStarbaseFacts(programs, intent, resolved, required, {
|
|
54
53
|
replan: 'replan Fleet creation',
|
|
55
54
|
before: 'before creating a Fleet',
|
|
56
55
|
});
|
|
@@ -78,8 +77,8 @@ export async function validateFleetCreation(input, resolved, accounts, maximumPr
|
|
|
78
77
|
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.');
|
|
79
78
|
if (profileKeyExpired(key, now))
|
|
80
79
|
fail(resolved.profile, 'The selected Profile key has expired. Renew it or select a current direct key and replan Fleet creation.');
|
|
81
|
-
const auth = grantsPermission(key,
|
|
82
|
-
const manages = grantsPermission(key,
|
|
80
|
+
const auth = grantsPermission(key, programs.playerProfile, 0n);
|
|
81
|
+
const manages = grantsPermission(key, programs.sage, 18n);
|
|
83
82
|
if (!auth && !manages)
|
|
84
83
|
fail(resolved.profile, 'The selected key cannot manage Fleets. Use a direct Profile AUTH key or a SAGE manageFleet key and replan.');
|
|
85
84
|
if (profileDebit > 0n && !auth && !hasPermissionBit(key, 63n))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-creation.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-creation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fleet-creation.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-creation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AccountRole, type Address } from '@solana/kit';
|
|
2
2
|
import type { PlanPrecondition, PlanStep } from '../../planning/index.js';
|
|
3
|
+
import type { SageProgramAddresses } from '../../client/contracts.js';
|
|
3
4
|
export interface FleetCrewGuard {
|
|
4
5
|
readonly kind: 'fleet-crew-transfer';
|
|
5
6
|
readonly direction: 'load' | 'unload';
|
|
@@ -16,8 +17,8 @@ export interface FleetCrewGuard {
|
|
|
16
17
|
readonly describes: string;
|
|
17
18
|
readonly dataHash?: never;
|
|
18
19
|
}
|
|
19
|
-
export declare function crewTransferInstruction(g: Omit<FleetCrewGuard, 'kind' | 'systemSequenceId' | 'maximumProfileDebit' | 'describes'>): {
|
|
20
|
-
programAddress:
|
|
20
|
+
export declare function crewTransferInstruction(programs: SageProgramAddresses, g: Omit<FleetCrewGuard, 'kind' | 'systemSequenceId' | 'maximumProfileDebit' | 'describes'>): {
|
|
21
|
+
programAddress: import("../../client/contracts.js").Address;
|
|
21
22
|
accounts: {
|
|
22
23
|
address: Address;
|
|
23
24
|
role: AccountRole;
|
|
@@ -25,5 +26,5 @@ export declare function crewTransferInstruction(g: Omit<FleetCrewGuard, 'kind' |
|
|
|
25
26
|
data: Uint8Array<ArrayBuffer>;
|
|
26
27
|
};
|
|
27
28
|
/** Ordinary crew transfers stand alone: later instructions cannot bypass fresh balance checks. */
|
|
28
|
-
export declare function validateCrewTransferInstructions(steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
|
|
29
|
+
export declare function validateCrewTransferInstructions(programs: SageProgramAddresses, steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
|
|
29
30
|
//# sourceMappingURL=fleet-crew-guard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-crew-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-crew-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"fleet-crew-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-crew-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAK1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC;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,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;CAC3B;AACD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,oBAAoB,EAC9B,CAAC,EAAE,IAAI,CACL,cAAc,EACd,MAAM,GAAG,kBAAkB,GAAG,qBAAqB,GAAG,WAAW,CAClE;;;;;;;EAyBF;AACD,kGAAkG;AAClG,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CAqCN"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { AccountRole } from '@solana/kit';
|
|
2
|
-
import { SAGE_PROGRAM_ADDRESS, PLAYER_PROFILE_PROGRAM_ADDRESS, } from '../c4/runtime-bindings.js';
|
|
3
2
|
import { InvalidActionInputError } from '../../client/errors.js';
|
|
4
3
|
import { LOAD_FLEET_CREW_DISCRIMINATOR, UNLOAD_FLEET_CREW_DISCRIMINATOR, } from '../c4/discriminators.js';
|
|
5
|
-
export function crewTransferInstruction(g) {
|
|
4
|
+
export function crewTransferInstruction(programs, g) {
|
|
6
5
|
return {
|
|
7
|
-
programAddress:
|
|
6
|
+
programAddress: programs.sage,
|
|
8
7
|
accounts: [
|
|
9
8
|
{ address: g.authority, role: AccountRole.READONLY_SIGNER },
|
|
10
9
|
{ address: g.profile, role: AccountRole.WRITABLE },
|
|
11
|
-
{ address:
|
|
12
|
-
{ address:
|
|
10
|
+
{ address: programs.sage, role: AccountRole.READONLY },
|
|
11
|
+
{ address: programs.playerProfile, role: AccountRole.READONLY },
|
|
13
12
|
{ address: g.address, role: AccountRole.WRITABLE },
|
|
14
13
|
{ address: g.game, role: AccountRole.READONLY },
|
|
15
14
|
{ address: g.system, role: AccountRole.READONLY },
|
|
@@ -22,9 +21,9 @@ export function crewTransferInstruction(g) {
|
|
|
22
21
|
};
|
|
23
22
|
}
|
|
24
23
|
/** Ordinary crew transfers stand alone: later instructions cannot bypass fresh balance checks. */
|
|
25
|
-
export function validateCrewTransferInstructions(steps, guards) {
|
|
24
|
+
export function validateCrewTransferInstructions(programs, steps, guards) {
|
|
26
25
|
const selected = guards.filter((g) => g.kind === 'fleet-crew-transfer');
|
|
27
|
-
const transfers = steps.filter(({ instruction: i }) => i.programAddress ===
|
|
26
|
+
const transfers = steps.filter(({ instruction: i }) => i.programAddress === programs.sage &&
|
|
28
27
|
[LOAD_FLEET_CREW_DISCRIMINATOR, UNLOAD_FLEET_CREW_DISCRIMINATOR].some((d) => d.every((v, n) => i.data?.[n] === v)));
|
|
29
28
|
if (!selected.length && !transfers.length)
|
|
30
29
|
return;
|
|
@@ -35,7 +34,7 @@ export function validateCrewTransferInstructions(steps, guards) {
|
|
|
35
34
|
bad();
|
|
36
35
|
const g = selected[0];
|
|
37
36
|
const step = transfers[0];
|
|
38
|
-
const expected = crewTransferInstruction(g), actual = step.instruction;
|
|
37
|
+
const expected = crewTransferInstruction(programs, g), actual = step.instruction;
|
|
39
38
|
if (step.signers.length !== 1 ||
|
|
40
39
|
step.signers[0] !== g.authority ||
|
|
41
40
|
actual.accounts?.length !== expected.accounts.length ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-crew-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-crew-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,aAAa,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"fleet-crew-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-crew-guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-crew-transfer.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-crew-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAGV,WAAW,EACZ,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"fleet-crew-transfer.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-crew-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAGV,WAAW,EACZ,MAAM,2BAA2B,CAAC;AA0BnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAQ5D,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,cAAc,EACZ,SAAS,GACT,MAAM,GACN,SAAS,GACT,WAAW,GACX,UAAU,GACV,WAAW,GACX,OAAO,CACV,CAAC;AASF,4FAA4F;AAC5F,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,eAAe,EACvB,QAAQ,CAAC,EAAE,cAAc,EACzB,UAAU,GAAE,UAAwB,GACnC,OAAO,CACR,IAAI,CACF,cAAc,EACd,QAAQ,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,qBAAqB,CACzE,CACF,CA4LA"}
|
|
@@ -11,7 +11,6 @@ import { findCharacterPda, characterAccountDefinition, } from '../c4/character.j
|
|
|
11
11
|
import { deriveStarbasePlayerAddress, starbasePlayerAccountDefinition, } from '../c4/starbase.js';
|
|
12
12
|
import { deriveStarSystemAddress, starSystemAccountDefinition, } from '../c4/world.js';
|
|
13
13
|
import { deriveFleetCrewBindingAddress, fleetCrewBindingAccountDefinition, } from '../c4/fleet-crew-binding.js';
|
|
14
|
-
import { PROFILE_SCOPE, SAGE_SCOPE } from '../c4/profile-permissions.js';
|
|
15
14
|
import { CLOCK_ADDRESS, readClock } from './faction-enrollment.js';
|
|
16
15
|
import { directProfileKey, grantsPermission, profileKeyExpired, } from './profile-key.js';
|
|
17
16
|
import { deriveCrewRosterAddress } from '../c4/pda.js';
|
|
@@ -30,10 +29,10 @@ export async function resolveFleetCrewTransfer(ctx, intent, expected, commitment
|
|
|
30
29
|
});
|
|
31
30
|
if (!fleetRaw || fleetRaw.executable)
|
|
32
31
|
fail('The selected Fleet is missing or executable.');
|
|
33
|
-
const fleet = fleetAccountDefinition.decode(fleetRaw);
|
|
32
|
+
const fleet = fleetAccountDefinition.decode(fleetRaw, ctx.programs);
|
|
34
33
|
if (fleet.game !== intent.game ||
|
|
35
34
|
fleet.ownerProfile !== intent.profile ||
|
|
36
|
-
(await deriveFleetAddress(fleet)) !== intent.address ||
|
|
35
|
+
(await deriveFleetAddress(ctx.programs, fleet)) !== intent.address ||
|
|
37
36
|
fleet.npcFactionId !== 0 ||
|
|
38
37
|
fleet.subProfile !== '11111111111111111111111111111111')
|
|
39
38
|
fail('Crew transfer supports only a canonical directly owned player Fleet without a subprofile.');
|
|
@@ -43,12 +42,12 @@ export async function resolveFleetCrewTransfer(ctx, intent, expected, commitment
|
|
|
43
42
|
fail('Rented crew transfers are not supported by this ordinary-crew route. Manage the rental through a supported game client first.');
|
|
44
43
|
const systemAddress = fleet.state.system;
|
|
45
44
|
const [characterAddress, bindingAddress] = await Promise.all([
|
|
46
|
-
findCharacterPda(intent.profile, intent.game),
|
|
47
|
-
deriveFleetCrewBindingAddress(intent.address),
|
|
45
|
+
findCharacterPda(ctx.programs, intent.profile, intent.game),
|
|
46
|
+
deriveFleetCrewBindingAddress(ctx.programs, intent.address),
|
|
48
47
|
]);
|
|
49
48
|
const [playerAddress, [rosterAddress]] = await Promise.all([
|
|
50
|
-
deriveStarbasePlayerAddress(systemAddress, characterAddress),
|
|
51
|
-
deriveCrewRosterAddress(characterAddress, 0),
|
|
49
|
+
deriveStarbasePlayerAddress(ctx.programs, systemAddress, characterAddress),
|
|
50
|
+
deriveCrewRosterAddress(ctx.programs, characterAddress, 0),
|
|
52
51
|
]);
|
|
53
52
|
const addresses = [
|
|
54
53
|
intent.profile,
|
|
@@ -68,15 +67,14 @@ export async function resolveFleetCrewTransfer(ctx, intent, expected, commitment
|
|
|
68
67
|
fail('Crew transfer reads contain an executable account.');
|
|
69
68
|
const accounts = new Map(addresses.map((a, i) => [a, rows[i]]));
|
|
70
69
|
const required = (a) => accounts.get(a) ?? fail(`Required crew transfer account ${a} is missing.`);
|
|
71
|
-
const profile = profileAccountDefinition.decode(required(intent.profile));
|
|
72
|
-
const character = characterAccountDefinition.decode(required(characterAddress));
|
|
73
|
-
const system = starSystemAccountDefinition.decode(required(systemAddress));
|
|
74
|
-
const player = starbasePlayerAccountDefinition.decode(required(playerAddress));
|
|
70
|
+
const profile = profileAccountDefinition.decode(required(intent.profile), ctx.programs);
|
|
71
|
+
const character = characterAccountDefinition.decode(required(characterAddress), ctx.programs);
|
|
72
|
+
const system = starSystemAccountDefinition.decode(required(systemAddress), ctx.programs);
|
|
73
|
+
const player = starbasePlayerAccountDefinition.decode(required(playerAddress), ctx.programs);
|
|
75
74
|
if (character.game !== intent.game ||
|
|
76
75
|
character.playerProfile !== intent.profile ||
|
|
77
76
|
system.game !== intent.game ||
|
|
78
|
-
(await deriveStarSystemAddress(system.game, system.systemId)) !==
|
|
79
|
-
systemAddress ||
|
|
77
|
+
(await deriveStarSystemAddress(ctx.programs, system.game, system.systemId)) !== systemAddress ||
|
|
80
78
|
!system.starbase ||
|
|
81
79
|
player.playerProfile !== intent.profile ||
|
|
82
80
|
player.character !== characterAddress ||
|
|
@@ -95,7 +93,8 @@ export async function resolveFleetCrewTransfer(ctx, intent, expected, commitment
|
|
|
95
93
|
if (accounts.get(rosterAddress))
|
|
96
94
|
fail('This Character has an individual-crew roster. This planner supports only ordinary crew with no page-0 roster; use the supported game client for roster-aware transfers.');
|
|
97
95
|
const binding = accounts.get(bindingAddress);
|
|
98
|
-
if (binding &&
|
|
96
|
+
if (binding &&
|
|
97
|
+
!fleetCrewBindingAccountDefinition.decode(binding, ctx.programs).isNeutral)
|
|
99
98
|
fail('The Fleet has a populated or unsupported crew binding. Use roster-aware transfer through a supported game client.');
|
|
100
99
|
const now = readClock(required(CLOCK_ADDRESS));
|
|
101
100
|
const key = directProfileKey(profile.keys, intent.keyIndex, intent.authority);
|
|
@@ -103,8 +102,8 @@ export async function resolveFleetCrewTransfer(ctx, intent, expected, commitment
|
|
|
103
102
|
// SAGE or to this Fleet.
|
|
104
103
|
if (!key ||
|
|
105
104
|
profileKeyExpired(key, now) ||
|
|
106
|
-
!(grantsPermission(key,
|
|
107
|
-
grantsPermission(key,
|
|
105
|
+
!(grantsPermission(key, ctx.programs.playerProfile, 0n) ||
|
|
106
|
+
grantsPermission(key, ctx.programs.sage, MANAGE_CREW) ||
|
|
108
107
|
grantsPermission(key, intent.address, MANAGE_CREW)))
|
|
109
108
|
fail('Crew transfer requires a current direct Profile key with AUTH, or the SAGE manage-crew permission scoped to SAGE or this Fleet. Select the correct key index; delegated permissions are not qualified.');
|
|
110
109
|
const capacity = fleet.stats.misc.requiredCrew + fleet.stats.misc.passengerCapacity;
|
|
@@ -133,7 +132,7 @@ export async function resolveFleetCrewTransfer(ctx, intent, expected, commitment
|
|
|
133
132
|
return minimum > raw.lamports ? minimum - raw.lamports : 0n;
|
|
134
133
|
};
|
|
135
134
|
const profileDebit = shortfall(fleetRaw) + shortfall(required(playerAddress));
|
|
136
|
-
checkProfileStorageFunding({
|
|
135
|
+
checkProfileStorageFunding(ctx.programs, {
|
|
137
136
|
profileRaw: required(intent.profile),
|
|
138
137
|
rentRaw,
|
|
139
138
|
authority: intent.authority,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-crew-transfer.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-crew-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAmB,MAAM,aAAa,CAAC;AAMjE,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,mCAAmC,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EACL,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,6BAA6B,EAC7B,iCAAiC,GAClC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"fleet-crew-transfer.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-crew-transfer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Instruction } from '@solana/kit';
|
|
2
2
|
import type { PlanPrecondition, PlanSemanticFact, PlanStep } from '../../planning/index.js';
|
|
3
|
+
import type { SageProgramAddresses } from '../../client/contracts.js';
|
|
3
4
|
/** The step semantics every disband carries: it closes the Fleet and frees a
|
|
4
5
|
* Character Fleet slot, so it must be the only instruction in its transaction
|
|
5
6
|
* and no later step may rely on the Fleet or the Character's capacity. */
|
|
@@ -8,5 +9,5 @@ export declare function disbandSemantics(instruction: Instruction): readonly Pla
|
|
|
8
9
|
* saved or custom Plan carries: the disband stands alone in its Plan, keeps
|
|
9
10
|
* its exact step semantics, and has an account-state guard for the Fleet it
|
|
10
11
|
* closes, so a changed Fleet refuses the Plan. */
|
|
11
|
-
export declare function validateFleetDisbandInstructions(steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
|
|
12
|
+
export declare function validateFleetDisbandInstructions(programs: SageProgramAddresses, steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
|
|
12
13
|
//# sourceMappingURL=fleet-disband-guard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-disband-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-disband-guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACT,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"fleet-disband-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-disband-guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACT,MAAM,yBAAyB,CAAC;AAMjC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AActE;;0EAE0E;AAC1E,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,WAAW,GACvB,SAAS,gBAAgB,EAAE,CAe7B;AAmBD;;;kDAGkD;AAClD,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CAyBN"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { InvalidActionInputError, SageSdkError } from '../../client/errors.js';
|
|
2
2
|
import { DISBAND_FLEET_DISCRIMINATOR } from '../c4/discriminators.js';
|
|
3
3
|
import { DISBAND_CHARACTER_INDEX, DISBAND_FLEET_INDEX, } from '../c4/fleet-disband-layout.js';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
return (instruction.programAddress === SAGE_PROGRAM_ADDRESS &&
|
|
4
|
+
function isDisband(programs, instruction) {
|
|
5
|
+
return (instruction.programAddress === programs.sage &&
|
|
7
6
|
DISBAND_FLEET_DISCRIMINATOR.every((byte, index) => instruction.data?.[index] === byte));
|
|
8
7
|
}
|
|
9
8
|
/** The step semantics every disband carries: it closes the Fleet and frees a
|
|
@@ -38,8 +37,8 @@ function sameSemantics(actual, expected) {
|
|
|
38
37
|
* saved or custom Plan carries: the disband stands alone in its Plan, keeps
|
|
39
38
|
* its exact step semantics, and has an account-state guard for the Fleet it
|
|
40
39
|
* closes, so a changed Fleet refuses the Plan. */
|
|
41
|
-
export function validateFleetDisbandInstructions(steps, guards) {
|
|
42
|
-
const disbands = steps.filter(({ instruction }) => isDisband(instruction));
|
|
40
|
+
export function validateFleetDisbandInstructions(programs, steps, guards) {
|
|
41
|
+
const disbands = steps.filter(({ instruction }) => isDisband(programs, instruction));
|
|
43
42
|
if (disbands.length === 0)
|
|
44
43
|
return;
|
|
45
44
|
if (steps.length !== 1)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-disband-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-disband-guard.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAM/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EACL,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"fleet-disband-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-disband-guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
import { type FleetAccountData } from '../c4/fleet.js';
|
|
4
4
|
/** A player's request to disband one Docked Fleet. */
|
|
5
5
|
export interface FleetDisbandIntent {
|
|
@@ -21,7 +21,7 @@ export interface FleetDisbandAccounts {
|
|
|
21
21
|
readonly rent: Address;
|
|
22
22
|
readonly clock: Address;
|
|
23
23
|
}
|
|
24
|
-
export declare function resolveFleetDisband(intent: FleetDisbandIntent): Promise<FleetDisbandAccounts>;
|
|
24
|
+
export declare function resolveFleetDisband(programs: SageProgramAddresses, intent: FleetDisbandIntent): Promise<FleetDisbandAccounts>;
|
|
25
25
|
/** Checks the program's disband rules that fresh accounts can show, verified
|
|
26
26
|
* against the program's behaviour: a canonical owned player Fleet, not rented,
|
|
27
27
|
* Docked (the caller selects its System from that state) at a Starbase where the Character has a current StarbasePlayer of the
|
|
@@ -29,7 +29,7 @@ export declare function resolveFleetDisband(intent: FleetDisbandIntent): Promise
|
|
|
29
29
|
* running, and a current direct Profile AUTH key or a manageFleet key scoped
|
|
30
30
|
* to SAGE or the Fleet. AP and SP recover on timers and must be full when the
|
|
31
31
|
* instruction runs; they stay chain-authoritative. */
|
|
32
|
-
export declare function validateFleetDisband(intent: FleetDisbandIntent, resolved: FleetDisbandAccounts, accounts: ReadonlyMap<Address, RawAccount | undefined>): Promise<{
|
|
32
|
+
export declare function validateFleetDisband(programs: SageProgramAddresses, intent: FleetDisbandIntent, resolved: FleetDisbandAccounts, accounts: ReadonlyMap<Address, RawAccount | undefined>): Promise<{
|
|
33
33
|
readonly fleet: FleetAccountData;
|
|
34
34
|
readonly now: bigint;
|
|
35
35
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-disband.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-disband.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"fleet-disband.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-disband.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AAcxB,sDAAsD;AACtD,MAAM,WAAW,kBAAkB;IACjC,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,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,sEAAsE;AACtE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,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;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,oBAAoB,EAC9B,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,oBAAoB,CAAC,CAmB/B;AAMD;;;;;;sDAMsD;AACtD,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,oBAAoB,EAC9B,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,oBAAoB,EAC9B,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,GACrD,OAAO,CAAC;IAAE,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAsFrE"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { SageSdkError } from '../../client/errors.js';
|
|
2
2
|
import { findCharacterPda } from '../c4/character.js';
|
|
3
3
|
import { deriveFleetAddress, fleetAccountDefinition, } from '../c4/fleet.js';
|
|
4
|
-
import { PROFILE_SCOPE, SAGE_SCOPE } from '../c4/profile-permissions.js';
|
|
5
4
|
import { deriveProfileFactionAddress } from '../c4/profile-faction.js';
|
|
6
5
|
import { deriveStarbasePlayerAddress } from '../c4/starbase.js';
|
|
7
6
|
import { SYSTEM_PROGRAM } from '../system-program.js';
|
|
@@ -10,17 +9,17 @@ import { CLOCK_ADDRESS, readClock } from './faction-enrollment.js';
|
|
|
10
9
|
import { readOwnStarbaseFacts } from './own-starbase-facts.js';
|
|
11
10
|
import { directProfileKey, grantsPermission, profileKeyExpired, } from './profile-key.js';
|
|
12
11
|
import { RENT_ADDRESS } from './rent.js';
|
|
13
|
-
export async function resolveFleetDisband(intent) {
|
|
12
|
+
export async function resolveFleetDisband(programs, intent) {
|
|
14
13
|
const [character, profileFaction] = await Promise.all([
|
|
15
|
-
findCharacterPda(intent.profile, intent.game),
|
|
16
|
-
deriveProfileFactionAddress(intent.profile),
|
|
14
|
+
findCharacterPda(programs, intent.profile, intent.game),
|
|
15
|
+
deriveProfileFactionAddress(programs, intent.profile),
|
|
17
16
|
]);
|
|
18
17
|
return {
|
|
19
18
|
profile: intent.profile,
|
|
20
19
|
character,
|
|
21
20
|
profileFaction,
|
|
22
21
|
system: intent.system,
|
|
23
|
-
starbasePlayer: await deriveStarbasePlayerAddress(intent.system, character),
|
|
22
|
+
starbasePlayer: await deriveStarbasePlayerAddress(programs, intent.system, character),
|
|
24
23
|
fleet: intent.fleet,
|
|
25
24
|
rent: RENT_ADDRESS,
|
|
26
25
|
clock: CLOCK_ADDRESS,
|
|
@@ -36,7 +35,7 @@ function fail(address, message) {
|
|
|
36
35
|
* running, and a current direct Profile AUTH key or a manageFleet key scoped
|
|
37
36
|
* to SAGE or the Fleet. AP and SP recover on timers and must be full when the
|
|
38
37
|
* instruction runs; they stay chain-authoritative. */
|
|
39
|
-
export async function validateFleetDisband(intent, resolved, accounts) {
|
|
38
|
+
export async function validateFleetDisband(programs, intent, resolved, accounts) {
|
|
40
39
|
const required = (address, name) => {
|
|
41
40
|
const raw = accounts.get(address);
|
|
42
41
|
if (!raw)
|
|
@@ -45,18 +44,18 @@ export async function validateFleetDisband(intent, resolved, accounts) {
|
|
|
45
44
|
fail(address, `${name} ${address} is executable. Refresh valid account state before disbanding the Fleet.`);
|
|
46
45
|
return raw;
|
|
47
46
|
};
|
|
48
|
-
const { profile, faction, system, player } = await readOwnStarbaseFacts(intent, resolved, required, { replan: 'replan the Fleet disband', before: 'before disbanding a Fleet' }, { anyStarbase: true });
|
|
47
|
+
const { profile, faction, system, player } = await readOwnStarbaseFacts(programs, intent, resolved, required, { replan: 'replan the Fleet disband', before: 'before disbanding a Fleet' }, { anyStarbase: true });
|
|
49
48
|
if (player.sequenceId !== system.sequenceId)
|
|
50
49
|
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 the disband.`);
|
|
51
|
-
const fleet = fleetAccountDefinition.decode(required(resolved.fleet, 'Fleet'));
|
|
52
|
-
if ((await deriveFleetAddress(fleet)) !== intent.fleet ||
|
|
50
|
+
const fleet = fleetAccountDefinition.decode(required(resolved.fleet, 'Fleet'), programs);
|
|
51
|
+
if ((await deriveFleetAddress(programs, fleet)) !== intent.fleet ||
|
|
53
52
|
fleet.game !== intent.game ||
|
|
54
53
|
fleet.ownerProfile !== intent.profile ||
|
|
55
54
|
fleet.faction !== faction.faction ||
|
|
56
55
|
fleet.npcFactionId !== 0)
|
|
57
56
|
fail(resolved.fleet, 'The Fleet has a noncanonical address or a different Game, Profile, faction or NPC affiliation. Select a canonical owned player Fleet and replan the disband.');
|
|
58
57
|
if (fleet.subProfile !== SYSTEM_PROGRAM)
|
|
59
|
-
fail(resolved.fleet, `The Fleet is ${describeFleetRental(fleet.subProfile)}, so it cannot disband. End the rental, refresh the Fleet and replan.`);
|
|
58
|
+
fail(resolved.fleet, `The Fleet is ${describeFleetRental(programs, fleet.subProfile)}, so it cannot disband. End the rental, refresh the Fleet and replan.`);
|
|
60
59
|
// HP can only recover from the pending repair reservoir, so a Fleet whose HP
|
|
61
60
|
// plus reservoir is below its maximum can never qualify.
|
|
62
61
|
if (fleet.hp + fleet.pendingHp < fleet.stats.combat.hp)
|
|
@@ -73,8 +72,8 @@ export async function validateFleetDisband(intent, resolved, accounts) {
|
|
|
73
72
|
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 the disband.');
|
|
74
73
|
if (profileKeyExpired(key, now))
|
|
75
74
|
fail(resolved.profile, 'The selected Profile key has expired. Renew it or select a current direct key and replan the disband.');
|
|
76
|
-
if (!grantsPermission(key,
|
|
77
|
-
!grantsPermission(key,
|
|
75
|
+
if (!grantsPermission(key, programs.playerProfile, 0n) &&
|
|
76
|
+
!grantsPermission(key, programs.sage, 18n) &&
|
|
78
77
|
!grantsPermission(key, intent.fleet, 18n))
|
|
79
78
|
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 the disband.');
|
|
80
79
|
return { fleet, now };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-disband.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-disband.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fleet-disband.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-disband.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACL,kBAAkB,EAClB,sBAAsB,GAEvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAwBzC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAA8B,EAC9B,MAA0B;IAE1B,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC;QACvD,2BAA2B,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;KACtD,CAAC,CAAC;IACH,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS;QACT,cAAc;QACd,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,cAAc,EAAE,MAAM,2BAA2B,CAC/C,QAAQ,EACR,MAAM,CAAC,MAAM,EACb,SAAS,CACV;QACD,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,aAAa;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,IAAI,CAAC,OAAgB,EAAE,OAAe;IAC7C,MAAM,IAAI,YAAY,CAAC,4BAA4B,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;sDAMsD;AACtD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAA8B,EAC9B,MAA0B,EAC1B,QAA8B,EAC9B,QAAsD;IAEtD,MAAM,QAAQ,GAAG,CAAC,OAAgB,EAAE,IAAY,EAAc,EAAE;QAC9D,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG;YACN,IAAI,CACF,OAAO,EACP,GAAG,IAAI,IAAI,OAAO,2FAA2F,CAC9G,CAAC;QACJ,IAAI,GAAG,CAAC,UAAU;YAChB,IAAI,CACF,OAAO,EACP,GAAG,IAAI,IAAI,OAAO,0EAA0E,CAC7F,CAAC;QACJ,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,oBAAoB,CACrE,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,EAAE,MAAM,EAAE,0BAA0B,EAAE,MAAM,EAAE,2BAA2B,EAAE,EAC3E,EAAE,WAAW,EAAE,IAAI,EAAE,CACtB,CAAC;IACF,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU;QACzC,IAAI,CACF,QAAQ,CAAC,cAAc,EACvB,qDAAqD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,uCAAuC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,kHAAkH,CACjQ,CAAC;IACJ,MAAM,KAAK,GAAG,sBAAsB,CAAC,MAAM,CACzC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,EACjC,QAAQ,CACT,CAAC;IACF,IACE,CAAC,MAAM,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK;QAC5D,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;QAC1B,KAAK,CAAC,YAAY,KAAK,MAAM,CAAC,OAAO;QACrC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO;QACjC,KAAK,CAAC,YAAY,KAAK,CAAC;QAExB,IAAI,CACF,QAAQ,CAAC,KAAK,EACd,8JAA8J,CAC/J,CAAC;IACJ,IAAI,KAAK,CAAC,UAAU,KAAK,cAAc;QACrC,IAAI,CACF,QAAQ,CAAC,KAAK,EACd,gBAAgB,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,uEAAuE,CACvI,CAAC;IACJ,6EAA6E;IAC7E,yDAAyD;IACzD,IAAI,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACpD,IAAI,CACF,QAAQ,CAAC,KAAK,EACd,iBAAiB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,8BAA8B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,iGAAiG,CAChO,CAAC;IACJ,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;IAChE,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI;QAC9B,CAAC,MAAM,EAAE,KAAK,CAAC,qBAAqB,CAAC;QACrC,CAAC,MAAM,EAAE,KAAK,CAAC,qBAAqB,CAAC;KAC7B;QACR,IAAI,GAAG,GAAG,SAAS;YACjB,IAAI,CACF,QAAQ,CAAC,KAAK,EACd,eAAe,IAAI,wBAAwB,MAAM,CAAC,SAAS,CAAC,gCAAgC,MAAM,CAAC,GAAG,CAAC,mGAAmG,CAC3M,CAAC;IACN,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9E,IAAI,CAAC,GAAG;QACN,IAAI,CACF,QAAQ,CAAC,OAAO,EAChB,oJAAoJ,CACrJ,CAAC;IACJ,IAAI,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC;QAC7B,IAAI,CACF,QAAQ,CAAC,OAAO,EAChB,uGAAuG,CACxG,CAAC;IACJ,IACE,CAAC,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC;QAClD,CAAC,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC;QAC1C,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC;QAEzC,IAAI,CACF,QAAQ,CAAC,OAAO,EAChB,iJAAiJ,CAClJ,CAAC;IACJ,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACxB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type Address } from '@solana/kit';
|
|
2
2
|
import type { PlanPrecondition, PlanStep } from '../../planning/index.js';
|
|
3
3
|
import { type GuardSchema } from './plan-fields.js';
|
|
4
|
+
import type { SageProgramAddresses } from '../../client/contracts.js';
|
|
4
5
|
export declare const MAXIMUM_DOCK_GROWTH_BYTES = 40;
|
|
5
6
|
declare const REASONS: readonly ["unsupported-account-layout", "unsupported-fleet-state", "noncanonical-account-encoding", "stale-definition-sequences", "stale-starbase-sequence", "pending-recovery", "active-stimulants", "funding-state-unavailable", "accounts-below-rent-reserve", "profile-below-storage-ceiling"];
|
|
6
7
|
export type DockBoundsUnavailableReason = (typeof REASONS)[number];
|
|
@@ -37,6 +38,6 @@ export declare function dockGrowthDebit(rate: bigint, threshold: number, length:
|
|
|
37
38
|
/** Plan guard schema: exact docking intent, Rent quote and gross storage ceiling. */
|
|
38
39
|
export declare const FLEET_DOCK_FUNDING_SCHEMA: GuardSchema;
|
|
39
40
|
/** Requires one exact funding assertion for each current docking instruction. */
|
|
40
|
-
export declare function validateFleetDockFundingGuards(steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
|
|
41
|
+
export declare function validateFleetDockFundingGuards(programs: SageProgramAddresses, steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
|
|
41
42
|
export {};
|
|
42
43
|
//# sourceMappingURL=fleet-dock-funding-guard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-dock-funding-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-dock-funding-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"fleet-dock-funding-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-dock-funding-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAEzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAIL,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,QAAA,MAAM,OAAO,oSAWH,CAAC;AACX,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AACnE,MAAM,MAAM,kBAAkB,GAC1B;IACE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;CAC9C,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC,CAAC;AACN,MAAM,WAAW,iBAAiB;IAChC,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,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AACD,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GACnD,kBAAkB,GAAG;IACnB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;CAC3B,CAAC;AACJ,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,MAAM,CAKR;AAWD,qFAAqF;AACrF,eAAO,MAAM,yBAAyB,EAAE,WAuEvC,CAAC;AAqBF,iFAAiF;AACjF,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CA0FN"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { isSignerRole, isWritableRole } from '@solana/kit';
|
|
2
2
|
import { SageSdkError } from '../../client/errors.js';
|
|
3
|
-
import { SAGE_PROGRAM_ADDRESS } from '../c4/runtime-bindings.js';
|
|
4
3
|
import { rentMinimumBalance } from './rent.js';
|
|
5
4
|
import { MAX_U64, } from './plan-fields.js';
|
|
6
5
|
import { IDLE_TO_DOCKED_DISCRIMINATOR } from '../c4/discriminators.js';
|
|
@@ -117,9 +116,9 @@ const DOCK_ACCOUNT_LABELS = [
|
|
|
117
116
|
const SEQUENCE_REMEDY = 'Run the steps as separate confirmed transactions, for example with createPlanSequence and executePlanSequence, and refresh the docking Plan after the other step confirms.';
|
|
118
117
|
const PROFILE_REMEDY = 'Refresh funding and recreate a qualified docking Plan, or run the steps as separate confirmed transactions with createPlanSequence and executePlanSequence.';
|
|
119
118
|
/** Requires one exact funding assertion for each current docking instruction. */
|
|
120
|
-
export function validateFleetDockFundingGuards(steps, guards) {
|
|
119
|
+
export function validateFleetDockFundingGuards(programs, steps, guards) {
|
|
121
120
|
const selected = guards.filter((g) => g.kind === 'fleet-dock-funding');
|
|
122
|
-
const docks = steps.flatMap((step, index) => step.instruction.programAddress ===
|
|
121
|
+
const docks = steps.flatMap((step, index) => step.instruction.programAddress === programs.sage &&
|
|
123
122
|
IDLE_TO_DOCKED_DISCRIMINATOR.every((v, n) => step.instruction.data?.[n] === v)
|
|
124
123
|
? [{ step, index }]
|
|
125
124
|
: []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-dock-funding-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-dock-funding-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAgB,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"fleet-dock-funding-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-dock-funding-guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { Address, RawAccount, SageContext } from '../../client/contracts.js';
|
|
1
|
+
import type { Address, RawAccount, SageContext, SageProgramAddresses } from '../../client/contracts.js';
|
|
2
2
|
import { type DockingSequences } from '../../registry/docking.js';
|
|
3
3
|
import { type DockFundingAmounts, type DockFundingIntent, type FleetDockFundingGuard } from './fleet-dock-funding-guard.js';
|
|
4
4
|
export declare function resolveDockFunding(ctx: SageContext, intent: DockFundingIntent, raw: readonly RawAccount[]): Promise<DockFundingAmounts>;
|
|
5
|
-
export declare function revalidateDockFunding(guard: FleetDockFundingGuard, accounts: ReadonlyMap<Address, RawAccount | undefined>, sequences: DockingSequences | undefined): {
|
|
5
|
+
export declare function revalidateDockFunding(programs: SageProgramAddresses, guard: FleetDockFundingGuard, accounts: ReadonlyMap<Address, RawAccount | undefined>, sequences: DockingSequences | undefined): {
|
|
6
6
|
profileDebit: bigint;
|
|
7
7
|
profileReserve: bigint;
|
|
8
8
|
} | undefined;
|