@aephia/atlas-kit 0.6.0-next.1 → 0.6.0-next.100
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 +7 -3
- package/dist/cargo/actions/deposit.d.ts +44 -0
- package/dist/cargo/actions/deposit.d.ts.map +1 -0
- package/dist/cargo/actions/deposit.js +212 -0
- package/dist/cargo/actions/deposit.js.map +1 -0
- package/dist/cargo/actions/index.d.ts +2 -0
- package/dist/cargo/actions/index.d.ts.map +1 -1
- package/dist/cargo/actions/index.js +12 -15
- package/dist/cargo/actions/index.js.map +1 -1
- package/dist/cargo/actions/wallet-context.d.ts +14 -0
- package/dist/cargo/actions/wallet-context.d.ts.map +1 -0
- package/dist/cargo/actions/wallet-context.js +12 -0
- package/dist/cargo/actions/wallet-context.js.map +1 -0
- package/dist/cargo/actions/wallet-token.d.ts +8 -0
- package/dist/cargo/actions/wallet-token.d.ts.map +1 -0
- package/dist/cargo/actions/wallet-token.js +50 -0
- package/dist/cargo/actions/wallet-token.js.map +1 -0
- package/dist/cargo/actions/withdrawal.d.ts +46 -0
- package/dist/cargo/actions/withdrawal.d.ts.map +1 -0
- package/dist/cargo/actions/withdrawal.js +266 -0
- package/dist/cargo/actions/withdrawal.js.map +1 -0
- package/dist/claim-stakes/actions/index.d.ts +13 -0
- package/dist/claim-stakes/actions/index.d.ts.map +1 -1
- package/dist/claim-stakes/actions/index.js +137 -111
- package/dist/claim-stakes/actions/index.js.map +1 -1
- package/dist/claim-stakes/index.d.ts +14 -0
- package/dist/claim-stakes/index.d.ts.map +1 -1
- package/dist/claim-stakes/index.js +23 -2
- package/dist/claim-stakes/index.js.map +1 -1
- package/dist/client/context.d.ts.map +1 -1
- package/dist/client/context.js +1 -1
- package/dist/client/context.js.map +1 -1
- package/dist/client/contracts.d.ts +16 -6
- package/dist/client/contracts.d.ts.map +1 -1
- package/dist/client/errors.d.ts +6 -2
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +31 -1
- package/dist/client/errors.js.map +1 -1
- package/dist/client/index.d.ts +35 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +35 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/rpc-subscription-provider.d.ts +35 -0
- package/dist/client/rpc-subscription-provider.d.ts.map +1 -0
- package/dist/client/rpc-subscription-provider.js +190 -0
- package/dist/client/rpc-subscription-provider.js.map +1 -0
- package/dist/combat/actions/index.d.ts.map +1 -1
- package/dist/combat/actions/index.js +104 -67
- package/dist/combat/actions/index.js.map +1 -1
- package/dist/crafting/actions/index.d.ts +11 -0
- package/dist/crafting/actions/index.d.ts.map +1 -1
- package/dist/crafting/actions/index.js +101 -108
- package/dist/crafting/actions/index.js.map +1 -1
- package/dist/crafting/index.d.ts +33 -3
- package/dist/crafting/index.d.ts.map +1 -1
- package/dist/crafting/index.js +44 -15
- package/dist/crafting/index.js.map +1 -1
- package/dist/factions/actions/index.d.ts +36 -0
- package/dist/factions/actions/index.d.ts.map +1 -0
- package/dist/factions/actions/index.js +137 -0
- package/dist/factions/actions/index.js.map +1 -0
- package/dist/factions/index.d.ts +1 -0
- package/dist/factions/index.d.ts.map +1 -1
- package/dist/factions/index.js +14 -7
- package/dist/factions/index.js.map +1 -1
- package/dist/factions/profile-faction.d.ts +58 -0
- package/dist/factions/profile-faction.d.ts.map +1 -0
- package/dist/factions/profile-faction.js +63 -0
- package/dist/factions/profile-faction.js.map +1 -0
- package/dist/fleets/actions/add-ship.d.ts +35 -0
- package/dist/fleets/actions/add-ship.d.ts.map +1 -0
- package/dist/fleets/actions/add-ship.js +149 -0
- package/dist/fleets/actions/add-ship.js.map +1 -0
- package/dist/fleets/actions/create-fleet.d.ts +36 -0
- package/dist/fleets/actions/create-fleet.d.ts.map +1 -0
- package/dist/fleets/actions/create-fleet.js +138 -0
- package/dist/fleets/actions/create-fleet.js.map +1 -0
- package/dist/fleets/actions/crew-transfer.d.ts +41 -0
- package/dist/fleets/actions/crew-transfer.d.ts.map +1 -0
- package/dist/fleets/actions/crew-transfer.js +114 -0
- package/dist/fleets/actions/crew-transfer.js.map +1 -0
- package/dist/fleets/actions/dock-bounds.d.ts +38 -0
- package/dist/fleets/actions/dock-bounds.d.ts.map +1 -0
- package/dist/fleets/actions/dock-bounds.js +46 -0
- package/dist/fleets/actions/dock-bounds.js.map +1 -0
- package/dist/fleets/actions/index.d.ts +38 -16
- package/dist/fleets/actions/index.d.ts.map +1 -1
- package/dist/fleets/actions/index.js +246 -153
- package/dist/fleets/actions/index.js.map +1 -1
- package/dist/fleets/actions/respawn.d.ts +38 -0
- package/dist/fleets/actions/respawn.d.ts.map +1 -0
- package/dist/fleets/actions/respawn.js +122 -0
- package/dist/fleets/actions/respawn.js.map +1 -0
- package/dist/fleets/actions/ship-import.d.ts +48 -0
- package/dist/fleets/actions/ship-import.d.ts.map +1 -0
- package/dist/fleets/actions/ship-import.js +332 -0
- package/dist/fleets/actions/ship-import.js.map +1 -0
- package/dist/fleets/cooldown.d.ts +44 -0
- package/dist/fleets/cooldown.d.ts.map +1 -0
- package/dist/fleets/cooldown.js +43 -0
- package/dist/fleets/cooldown.js.map +1 -0
- package/dist/fleets/coordinate-warp-estimate.d.ts +70 -0
- package/dist/fleets/coordinate-warp-estimate.d.ts.map +1 -0
- package/dist/fleets/coordinate-warp-estimate.js +46 -0
- package/dist/fleets/coordinate-warp-estimate.js.map +1 -0
- package/dist/fleets/index.d.ts +35 -0
- package/dist/fleets/index.d.ts.map +1 -1
- package/dist/fleets/index.js +52 -2
- package/dist/fleets/index.js.map +1 -1
- package/dist/fleets/movement-arithmetic.d.ts +21 -0
- package/dist/fleets/movement-arithmetic.d.ts.map +1 -0
- package/dist/fleets/movement-arithmetic.js +41 -0
- package/dist/fleets/movement-arithmetic.js.map +1 -0
- package/dist/fleets/subwarp-estimate.d.ts +70 -0
- package/dist/fleets/subwarp-estimate.d.ts.map +1 -0
- package/dist/fleets/subwarp-estimate.js +38 -0
- package/dist/fleets/subwarp-estimate.js.map +1 -0
- package/dist/fleets/travel-profile.d.ts +102 -0
- package/dist/fleets/travel-profile.d.ts.map +1 -0
- package/dist/fleets/travel-profile.js +120 -0
- package/dist/fleets/travel-profile.js.map +1 -0
- package/dist/fleets/warp-lane-estimate.d.ts +59 -0
- package/dist/fleets/warp-lane-estimate.d.ts.map +1 -0
- package/dist/fleets/warp-lane-estimate.js +36 -0
- package/dist/fleets/warp-lane-estimate.js.map +1 -0
- package/dist/fleets/warp-lane-policy.d.ts +68 -0
- package/dist/fleets/warp-lane-policy.d.ts.map +1 -0
- package/dist/fleets/warp-lane-policy.js +91 -0
- package/dist/fleets/warp-lane-policy.js.map +1 -0
- package/dist/fleets/warp-lane-toll.d.ts +55 -0
- package/dist/fleets/warp-lane-toll.d.ts.map +1 -0
- package/dist/fleets/warp-lane-toll.js +79 -0
- package/dist/fleets/warp-lane-toll.js.map +1 -0
- package/dist/identity/actions/create-profile.d.ts +56 -0
- package/dist/identity/actions/create-profile.d.ts.map +1 -0
- package/dist/identity/actions/create-profile.js +139 -0
- package/dist/identity/actions/create-profile.js.map +1 -0
- package/dist/identity/actions/index.d.ts +38 -0
- package/dist/identity/actions/index.d.ts.map +1 -0
- package/dist/identity/actions/index.js +130 -0
- package/dist/identity/actions/index.js.map +1 -0
- package/dist/identity/index.d.ts +16 -0
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +16 -0
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/permissions.d.ts +124 -0
- package/dist/identity/permissions.d.ts.map +1 -0
- package/dist/identity/permissions.js +171 -0
- package/dist/identity/permissions.js.map +1 -0
- package/dist/identity/research-state.d.ts +60 -0
- package/dist/identity/research-state.d.ts.map +1 -0
- package/dist/identity/research-state.js +68 -0
- package/dist/identity/research-state.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -3
- package/dist/index.js.map +1 -1
- package/dist/internal/c4/cargo-bytes-config.d.ts +7 -0
- package/dist/internal/c4/cargo-bytes-config.d.ts.map +1 -0
- package/dist/internal/c4/cargo-bytes-config.js +19 -0
- package/dist/internal/c4/cargo-bytes-config.js.map +1 -0
- package/dist/internal/c4/character-registration.d.ts +11 -0
- package/dist/internal/c4/character-registration.d.ts.map +1 -0
- package/dist/internal/c4/character-registration.js +23 -0
- package/dist/internal/c4/character-registration.js.map +1 -0
- package/dist/internal/c4/claim-stake-definitions.d.ts +4 -4
- package/dist/internal/c4/claim-stake-definitions.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake-definitions.js.map +1 -1
- package/dist/internal/c4/claim-stake.d.ts +4 -27
- package/dist/internal/c4/claim-stake.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake.js +25 -38
- package/dist/internal/c4/claim-stake.js.map +1 -1
- package/dist/internal/c4/combat.d.ts +0 -27
- package/dist/internal/c4/combat.d.ts.map +1 -1
- package/dist/internal/c4/combat.js +0 -33
- package/dist/internal/c4/combat.js.map +1 -1
- package/dist/internal/c4/crafting-process-codec.d.ts +13 -0
- package/dist/internal/c4/crafting-process-codec.d.ts.map +1 -0
- package/dist/internal/c4/crafting-process-codec.js +34 -0
- package/dist/internal/c4/crafting-process-codec.js.map +1 -0
- package/dist/internal/c4/crafting.d.ts +25 -33
- package/dist/internal/c4/crafting.d.ts.map +1 -1
- package/dist/internal/c4/crafting.js +53 -44
- package/dist/internal/c4/crafting.js.map +1 -1
- package/dist/internal/c4/currency-cache.d.ts +6 -0
- package/dist/internal/c4/currency-cache.d.ts.map +1 -0
- package/dist/internal/c4/currency-cache.js +30 -0
- package/dist/internal/c4/currency-cache.js.map +1 -0
- package/dist/internal/c4/docking-funding.d.ts +4 -0
- package/dist/internal/c4/docking-funding.d.ts.map +1 -0
- package/dist/internal/c4/docking-funding.js +11 -0
- package/dist/internal/c4/docking-funding.js.map +1 -0
- package/dist/internal/c4/faction-adapter.d.ts +12 -0
- package/dist/internal/c4/faction-adapter.d.ts.map +1 -0
- package/dist/internal/c4/faction-adapter.js +52 -0
- package/dist/internal/c4/faction-adapter.js.map +1 -0
- package/dist/internal/c4/faction-enrollment.d.ts +6 -0
- package/dist/internal/c4/faction-enrollment.d.ts.map +1 -0
- package/dist/internal/c4/faction-enrollment.js +8 -0
- package/dist/internal/c4/faction-enrollment.js.map +1 -0
- package/dist/internal/c4/faction-epoch-meter.d.ts +10 -0
- package/dist/internal/c4/faction-epoch-meter.d.ts.map +1 -0
- package/dist/internal/c4/faction-epoch-meter.js +31 -0
- package/dist/internal/c4/faction-epoch-meter.js.map +1 -0
- package/dist/internal/c4/faction-treasury.d.ts +23 -0
- package/dist/internal/c4/faction-treasury.d.ts.map +1 -0
- package/dist/internal/c4/faction-treasury.js +48 -0
- package/dist/internal/c4/faction-treasury.js.map +1 -0
- package/dist/internal/c4/factions.d.ts +9 -57
- package/dist/internal/c4/factions.d.ts.map +1 -1
- package/dist/internal/c4/factions.js +21 -139
- package/dist/internal/c4/factions.js.map +1 -1
- package/dist/internal/c4/fleet-arrival.d.ts +28 -0
- package/dist/internal/c4/fleet-arrival.d.ts.map +1 -0
- package/dist/internal/c4/fleet-arrival.js +42 -0
- package/dist/internal/c4/fleet-arrival.js.map +1 -0
- package/dist/internal/c4/fleet-creation.d.ts +7 -0
- package/dist/internal/c4/fleet-creation.d.ts.map +1 -0
- package/dist/internal/c4/fleet-creation.js +180 -0
- package/dist/internal/c4/fleet-creation.js.map +1 -0
- package/dist/internal/c4/fleet-crew-binding.d.ts +9 -0
- package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
- package/dist/internal/c4/fleet-crew-binding.js +15 -0
- package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
- package/dist/internal/c4/fleet-respawn.d.ts +17 -0
- package/dist/internal/c4/fleet-respawn.d.ts.map +1 -0
- package/dist/internal/c4/fleet-respawn.js +62 -0
- package/dist/internal/c4/fleet-respawn.js.map +1 -0
- package/dist/internal/c4/fleet-ship-assembly.d.ts +11 -0
- package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -0
- package/dist/internal/c4/fleet-ship-assembly.js +44 -0
- package/dist/internal/c4/fleet-ship-assembly.js.map +1 -0
- package/dist/internal/c4/fleet.d.ts +45 -19
- package/dist/internal/c4/fleet.d.ts.map +1 -1
- package/dist/internal/c4/fleet.js +26 -7
- package/dist/internal/c4/fleet.js.map +1 -1
- package/dist/internal/c4/game-definition-layout.d.ts +2 -0
- package/dist/internal/c4/game-definition-layout.d.ts.map +1 -1
- package/dist/internal/c4/game-definition-layout.js +4 -0
- package/dist/internal/c4/game-definition-layout.js.map +1 -1
- package/dist/internal/c4/game.d.ts +53 -0
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +130 -5
- package/dist/internal/c4/game.js.map +1 -1
- package/dist/internal/c4/identity.d.ts +6 -9
- package/dist/internal/c4/identity.d.ts.map +1 -1
- package/dist/internal/c4/identity.js +3 -24
- package/dist/internal/c4/identity.js.map +1 -1
- package/dist/internal/c4/local-market-order.d.ts +31 -0
- package/dist/internal/c4/local-market-order.d.ts.map +1 -0
- package/dist/internal/c4/local-market-order.js +47 -0
- package/dist/internal/c4/local-market-order.js.map +1 -0
- package/dist/internal/c4/loyalty.d.ts +0 -27
- package/dist/internal/c4/loyalty.d.ts.map +1 -1
- package/dist/internal/c4/loyalty.js +0 -33
- package/dist/internal/c4/loyalty.js.map +1 -1
- package/dist/internal/c4/market.d.ts +2 -38
- package/dist/internal/c4/market.d.ts.map +1 -1
- package/dist/internal/c4/market.js +13 -51
- package/dist/internal/c4/market.js.map +1 -1
- package/dist/internal/c4/mining-instructions.d.ts +2 -0
- package/dist/internal/c4/mining-instructions.d.ts.map +1 -0
- package/dist/internal/c4/mining-instructions.js +3 -0
- package/dist/internal/c4/mining-instructions.js.map +1 -0
- package/dist/internal/c4/open-signal.d.ts +8 -0
- package/dist/internal/c4/open-signal.d.ts.map +1 -0
- package/dist/internal/c4/open-signal.js +37 -0
- package/dist/internal/c4/open-signal.js.map +1 -0
- package/dist/internal/c4/profile-creation.d.ts +17 -0
- package/dist/internal/c4/profile-creation.d.ts.map +1 -0
- package/dist/internal/c4/profile-creation.js +36 -0
- package/dist/internal/c4/profile-creation.js.map +1 -0
- package/dist/internal/c4/profile-faction.d.ts.map +1 -1
- package/dist/internal/c4/profile-faction.js +2 -0
- package/dist/internal/c4/profile-faction.js.map +1 -1
- package/dist/internal/c4/profile-permissions.d.ts +14 -0
- package/dist/internal/c4/profile-permissions.d.ts.map +1 -0
- package/dist/internal/c4/profile-permissions.js +81 -0
- package/dist/internal/c4/profile-permissions.js.map +1 -0
- package/dist/internal/c4/region-geometry.d.ts +8 -0
- package/dist/internal/c4/region-geometry.d.ts.map +1 -0
- package/dist/internal/c4/region-geometry.js +43 -0
- package/dist/internal/c4/region-geometry.js.map +1 -0
- package/dist/internal/c4/rewards.d.ts +0 -27
- package/dist/internal/c4/rewards.d.ts.map +1 -1
- package/dist/internal/c4/rewards.js +0 -33
- package/dist/internal/c4/rewards.js.map +1 -1
- package/dist/internal/c4/runtime-bindings.d.ts +4 -0
- package/dist/internal/c4/runtime-bindings.d.ts.map +1 -0
- package/dist/internal/c4/runtime-bindings.js +4 -0
- package/dist/internal/c4/runtime-bindings.js.map +1 -0
- package/dist/internal/c4/scan-detection-codecs.d.ts +3 -0
- package/dist/internal/c4/scan-detection-codecs.d.ts.map +1 -0
- package/dist/internal/c4/scan-detection-codecs.js +3 -0
- package/dist/internal/c4/scan-detection-codecs.js.map +1 -0
- package/dist/internal/c4/scan-lifecycle.d.ts +306 -0
- package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -0
- package/dist/internal/c4/scan-lifecycle.js +258 -0
- package/dist/internal/c4/scan-lifecycle.js.map +1 -0
- package/dist/internal/c4/scanning.d.ts +1 -28
- package/dist/internal/c4/scanning.d.ts.map +1 -1
- package/dist/internal/c4/scanning.js +2 -33
- package/dist/internal/c4/scanning.js.map +1 -1
- package/dist/internal/c4/ship-import.d.ts +4 -0
- package/dist/internal/c4/ship-import.d.ts.map +1 -0
- package/dist/internal/c4/ship-import.js +13 -0
- package/dist/internal/c4/ship-import.js.map +1 -0
- package/dist/internal/c4/ship-stats.d.ts.map +1 -1
- package/dist/internal/c4/ship-stats.js +25 -21
- package/dist/internal/c4/ship-stats.js.map +1 -1
- package/dist/internal/c4/starbase.d.ts +0 -32
- package/dist/internal/c4/starbase.d.ts.map +1 -1
- package/dist/internal/c4/starbase.js +3 -41
- package/dist/internal/c4/starbase.js.map +1 -1
- package/dist/internal/c4/wallet-cargo-cache.d.ts +3 -0
- package/dist/internal/c4/wallet-cargo-cache.d.ts.map +1 -0
- package/dist/internal/c4/wallet-cargo-cache.js +24 -0
- package/dist/internal/c4/wallet-cargo-cache.js.map +1 -0
- package/dist/internal/c4/world.d.ts +36 -7
- package/dist/internal/c4/world.d.ts.map +1 -1
- package/dist/internal/c4/world.js +58 -25
- package/dist/internal/c4/world.js.map +1 -1
- package/dist/internal/cargo.d.ts +2 -0
- package/dist/internal/cargo.d.ts.map +1 -1
- package/dist/internal/cargo.js +8 -0
- package/dist/internal/cargo.js.map +1 -1
- package/dist/internal/fleet.d.ts +1 -0
- package/dist/internal/fleet.d.ts.map +1 -1
- package/dist/internal/fleet.js +3 -1
- package/dist/internal/fleet.js.map +1 -1
- package/dist/internal/loyalty-atlas-bank-state.d.ts +16 -0
- package/dist/internal/loyalty-atlas-bank-state.d.ts.map +1 -0
- package/dist/internal/loyalty-atlas-bank-state.js +10 -0
- package/dist/internal/loyalty-atlas-bank-state.js.map +1 -0
- package/dist/internal/planning/account-state.d.ts +4 -0
- package/dist/internal/planning/account-state.d.ts.map +1 -0
- package/dist/internal/planning/account-state.js +11 -0
- package/dist/internal/planning/account-state.js.map +1 -0
- package/dist/internal/planning/action-runtime.d.ts +38 -0
- package/dist/internal/planning/action-runtime.d.ts.map +1 -0
- package/dist/internal/planning/action-runtime.js +63 -0
- package/dist/internal/planning/action-runtime.js.map +1 -0
- package/dist/internal/planning/arrival-guards.d.ts +20 -0
- package/dist/internal/planning/arrival-guards.d.ts.map +1 -0
- package/dist/internal/planning/arrival-guards.js +187 -0
- package/dist/internal/planning/arrival-guards.js.map +1 -0
- package/dist/internal/planning/authorization-adapter.d.ts +65 -35
- package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
- package/dist/internal/planning/authorization-adapter.js +217 -70
- package/dist/internal/planning/authorization-adapter.js.map +1 -1
- package/dist/internal/planning/character-registration-guard.d.ts +4 -0
- package/dist/internal/planning/character-registration-guard.d.ts.map +1 -0
- package/dist/internal/planning/character-registration-guard.js +58 -0
- package/dist/internal/planning/character-registration-guard.js.map +1 -0
- package/dist/internal/planning/character-registration.d.ts +23 -0
- package/dist/internal/planning/character-registration.d.ts.map +1 -0
- package/dist/internal/planning/character-registration.js +86 -0
- package/dist/internal/planning/character-registration.js.map +1 -0
- package/dist/internal/planning/currency-cache-guard.d.ts +4 -0
- package/dist/internal/planning/currency-cache-guard.d.ts.map +1 -0
- package/dist/internal/planning/currency-cache-guard.js +32 -0
- package/dist/internal/planning/currency-cache-guard.js.map +1 -0
- package/dist/internal/planning/democracy-history.d.ts +50 -0
- package/dist/internal/planning/democracy-history.d.ts.map +1 -0
- package/dist/internal/planning/democracy-history.js +198 -0
- package/dist/internal/planning/democracy-history.js.map +1 -0
- package/dist/internal/planning/faction-enrollment.d.ts +10 -0
- package/dist/internal/planning/faction-enrollment.d.ts.map +1 -0
- package/dist/internal/planning/faction-enrollment.js +46 -0
- package/dist/internal/planning/faction-enrollment.js.map +1 -0
- package/dist/internal/planning/faction-trade-guards.d.ts +30 -0
- package/dist/internal/planning/faction-trade-guards.d.ts.map +1 -0
- package/dist/internal/planning/faction-trade-guards.js +15 -0
- package/dist/internal/planning/faction-trade-guards.js.map +1 -0
- package/dist/internal/planning/faction-trade-state.d.ts +16 -0
- package/dist/internal/planning/faction-trade-state.d.ts.map +1 -0
- package/dist/internal/planning/faction-trade-state.js +43 -0
- package/dist/internal/planning/faction-trade-state.js.map +1 -0
- package/dist/internal/planning/fleet-arrival.d.ts +40 -0
- package/dist/internal/planning/fleet-arrival.d.ts.map +1 -0
- package/dist/internal/planning/fleet-arrival.js +105 -0
- package/dist/internal/planning/fleet-arrival.js.map +1 -0
- package/dist/internal/planning/fleet-attack-xp.d.ts +20 -0
- package/dist/internal/planning/fleet-attack-xp.d.ts.map +1 -0
- package/dist/internal/planning/fleet-attack-xp.js +110 -0
- package/dist/internal/planning/fleet-attack-xp.js.map +1 -0
- package/dist/internal/planning/fleet-creation.d.ts +30 -0
- package/dist/internal/planning/fleet-creation.d.ts.map +1 -0
- package/dist/internal/planning/fleet-creation.js +108 -0
- package/dist/internal/planning/fleet-creation.js.map +1 -0
- package/dist/internal/planning/fleet-crew-guard.d.ts +28 -0
- package/dist/internal/planning/fleet-crew-guard.d.ts.map +1 -0
- package/dist/internal/planning/fleet-crew-guard.js +47 -0
- package/dist/internal/planning/fleet-crew-guard.js.map +1 -0
- package/dist/internal/planning/fleet-crew-transfer.d.ts +7 -0
- package/dist/internal/planning/fleet-crew-transfer.d.ts.map +1 -0
- package/dist/internal/planning/fleet-crew-transfer.js +131 -0
- package/dist/internal/planning/fleet-crew-transfer.js.map +1 -0
- package/dist/internal/planning/fleet-dock-funding-guard.d.ts +42 -0
- package/dist/internal/planning/fleet-dock-funding-guard.d.ts.map +1 -0
- package/dist/internal/planning/fleet-dock-funding-guard.js +225 -0
- package/dist/internal/planning/fleet-dock-funding-guard.js.map +1 -0
- package/dist/internal/planning/fleet-dock-funding.d.ts +9 -0
- package/dist/internal/planning/fleet-dock-funding.d.ts.map +1 -0
- package/dist/internal/planning/fleet-dock-funding.js +154 -0
- package/dist/internal/planning/fleet-dock-funding.js.map +1 -0
- package/dist/internal/planning/fleet-docking-guard.d.ts +4 -0
- package/dist/internal/planning/fleet-docking-guard.d.ts.map +1 -0
- package/dist/internal/planning/fleet-docking-guard.js +42 -0
- package/dist/internal/planning/fleet-docking-guard.js.map +1 -0
- package/dist/internal/planning/fleet-docking.d.ts +10 -0
- package/dist/internal/planning/fleet-docking.d.ts.map +1 -0
- package/dist/internal/planning/fleet-docking.js +85 -0
- package/dist/internal/planning/fleet-docking.js.map +1 -0
- package/dist/internal/planning/fleet-respawn.d.ts +28 -0
- package/dist/internal/planning/fleet-respawn.d.ts.map +1 -0
- package/dist/internal/planning/fleet-respawn.js +166 -0
- package/dist/internal/planning/fleet-respawn.js.map +1 -0
- package/dist/internal/planning/fleet-ship-assembly.d.ts +36 -0
- package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -0
- package/dist/internal/planning/fleet-ship-assembly.js +137 -0
- package/dist/internal/planning/fleet-ship-assembly.js.map +1 -0
- package/dist/internal/planning/governance-fees.d.ts +64 -0
- package/dist/internal/planning/governance-fees.d.ts.map +1 -0
- package/dist/internal/planning/governance-fees.js +239 -0
- package/dist/internal/planning/governance-fees.js.map +1 -0
- package/dist/internal/planning/local-market-order-funding.d.ts +8 -0
- package/dist/internal/planning/local-market-order-funding.d.ts.map +1 -0
- package/dist/internal/planning/local-market-order-funding.js +126 -0
- package/dist/internal/planning/local-market-order-funding.js.map +1 -0
- package/dist/internal/planning/local-market-order.d.ts +40 -0
- package/dist/internal/planning/local-market-order.d.ts.map +1 -0
- package/dist/internal/planning/local-market-order.js +166 -0
- package/dist/internal/planning/local-market-order.js.map +1 -0
- package/dist/internal/planning/mining-stop.d.ts +14 -0
- package/dist/internal/planning/mining-stop.d.ts.map +1 -0
- package/dist/internal/planning/mining-stop.js +41 -0
- package/dist/internal/planning/mining-stop.js.map +1 -0
- package/dist/internal/planning/movement-character.d.ts +7 -0
- package/dist/internal/planning/movement-character.d.ts.map +1 -0
- package/dist/internal/planning/movement-character.js +41 -0
- package/dist/internal/planning/movement-character.js.map +1 -0
- package/dist/internal/planning/movement-xp-guard.d.ts +4 -0
- package/dist/internal/planning/movement-xp-guard.d.ts.map +1 -0
- package/dist/internal/planning/movement-xp-guard.js +103 -0
- package/dist/internal/planning/movement-xp-guard.js.map +1 -0
- package/dist/internal/planning/open-signal-guard.d.ts +3 -0
- package/dist/internal/planning/open-signal-guard.d.ts.map +1 -0
- package/dist/internal/planning/open-signal-guard.js +31 -0
- package/dist/internal/planning/open-signal-guard.js.map +1 -0
- package/dist/internal/planning/open-signal.d.ts +31 -0
- package/dist/internal/planning/open-signal.d.ts.map +1 -0
- package/dist/internal/planning/open-signal.js +85 -0
- package/dist/internal/planning/open-signal.js.map +1 -0
- package/dist/internal/planning/recipe-state.d.ts +6 -0
- package/dist/internal/planning/recipe-state.d.ts.map +1 -0
- package/dist/internal/planning/recipe-state.js +20 -0
- package/dist/internal/planning/recipe-state.js.map +1 -0
- package/dist/internal/planning/rent.d.ts +19 -0
- package/dist/internal/planning/rent.d.ts.map +1 -0
- package/dist/internal/planning/rent.js +35 -0
- package/dist/internal/planning/rent.js.map +1 -0
- package/dist/internal/planning/respawn-guards.d.ts +3 -0
- package/dist/internal/planning/respawn-guards.d.ts.map +1 -0
- package/dist/internal/planning/respawn-guards.js +41 -0
- package/dist/internal/planning/respawn-guards.js.map +1 -0
- package/dist/internal/planning/runtime-guards.d.ts +43 -0
- package/dist/internal/planning/runtime-guards.d.ts.map +1 -0
- package/dist/internal/planning/runtime-guards.js +638 -0
- package/dist/internal/planning/runtime-guards.js.map +1 -0
- package/dist/internal/planning/scan-completion-guard.d.ts +43 -0
- package/dist/internal/planning/scan-completion-guard.d.ts.map +1 -0
- package/dist/internal/planning/scan-completion-guard.js +94 -0
- package/dist/internal/planning/scan-completion-guard.js.map +1 -0
- package/dist/internal/planning/scan-completion.d.ts +20 -0
- package/dist/internal/planning/scan-completion.d.ts.map +1 -0
- package/dist/internal/planning/scan-completion.js +196 -0
- package/dist/internal/planning/scan-completion.js.map +1 -0
- package/dist/internal/planning/scan-detect-guard.d.ts +34 -0
- package/dist/internal/planning/scan-detect-guard.d.ts.map +1 -0
- package/dist/internal/planning/scan-detect-guard.js +77 -0
- package/dist/internal/planning/scan-detect-guard.js.map +1 -0
- package/dist/internal/planning/scan-detect.d.ts +24 -0
- package/dist/internal/planning/scan-detect.d.ts.map +1 -0
- package/dist/internal/planning/scan-detect.js +244 -0
- package/dist/internal/planning/scan-detect.js.map +1 -0
- package/dist/internal/planning/scan-input.d.ts +9 -0
- package/dist/internal/planning/scan-input.d.ts.map +1 -0
- package/dist/internal/planning/scan-input.js +58 -0
- package/dist/internal/planning/scan-input.js.map +1 -0
- package/dist/internal/planning/ship-import-funding.d.ts +22 -0
- package/dist/internal/planning/ship-import-funding.d.ts.map +1 -0
- package/dist/internal/planning/ship-import-funding.js +52 -0
- package/dist/internal/planning/ship-import-funding.js.map +1 -0
- package/dist/internal/planning/ship-token.d.ts +9 -0
- package/dist/internal/planning/ship-token.d.ts.map +1 -0
- package/dist/internal/planning/ship-token.js +46 -0
- package/dist/internal/planning/ship-token.js.map +1 -0
- package/dist/internal/planning/starbase-system-guard.d.ts +6 -0
- package/dist/internal/planning/starbase-system-guard.d.ts.map +1 -0
- package/dist/internal/planning/starbase-system-guard.js +93 -0
- package/dist/internal/planning/starbase-system-guard.js.map +1 -0
- package/dist/internal/planning/starbase-system.d.ts +15 -0
- package/dist/internal/planning/starbase-system.d.ts.map +1 -0
- package/dist/internal/planning/starbase-system.js +25 -0
- package/dist/internal/planning/starbase-system.js.map +1 -0
- package/dist/internal/planning/token-mint.d.ts +4 -0
- package/dist/internal/planning/token-mint.d.ts.map +1 -0
- package/dist/internal/planning/token-mint.js +15 -0
- package/dist/internal/planning/token-mint.js.map +1 -0
- package/dist/internal/planning/trade-faction-market.d.ts +20 -0
- package/dist/internal/planning/trade-faction-market.d.ts.map +1 -0
- package/dist/internal/planning/trade-faction-market.js +56 -0
- package/dist/internal/planning/trade-faction-market.js.map +1 -0
- package/dist/internal/planning/xp-runtime.d.ts +36 -0
- package/dist/internal/planning/xp-runtime.d.ts.map +1 -0
- package/dist/internal/planning/xp-runtime.js +126 -0
- package/dist/internal/planning/xp-runtime.js.map +1 -0
- package/dist/internal/system-program.d.ts +4 -0
- package/dist/internal/system-program.d.ts.map +1 -0
- package/dist/internal/system-program.js +3 -0
- package/dist/internal/system-program.js.map +1 -0
- package/dist/loyalty/actions/index.d.ts.map +1 -1
- package/dist/loyalty/actions/index.js +7 -20
- package/dist/loyalty/actions/index.js.map +1 -1
- package/dist/loyalty/index.d.ts.map +1 -1
- package/dist/loyalty/index.js +2 -6
- package/dist/loyalty/index.js.map +1 -1
- package/dist/markets/actions/index.d.ts +61 -3
- package/dist/markets/actions/index.d.ts.map +1 -1
- package/dist/markets/actions/index.js +142 -36
- package/dist/markets/actions/index.js.map +1 -1
- package/dist/markets/actions/trade-faction-market.d.ts +43 -0
- package/dist/markets/actions/trade-faction-market.d.ts.map +1 -0
- package/dist/markets/actions/trade-faction-market.js +282 -0
- package/dist/markets/actions/trade-faction-market.js.map +1 -0
- package/dist/markets/index.d.ts +38 -7
- package/dist/markets/index.d.ts.map +1 -1
- package/dist/markets/index.js +57 -10
- package/dist/markets/index.js.map +1 -1
- package/dist/mining/actions/index.d.ts +87 -0
- package/dist/mining/actions/index.d.ts.map +1 -0
- package/dist/mining/actions/index.js +332 -0
- package/dist/mining/actions/index.js.map +1 -0
- package/dist/mining/estimate.d.ts +114 -0
- package/dist/mining/estimate.d.ts.map +1 -0
- package/dist/mining/estimate.js +127 -0
- package/dist/mining/estimate.js.map +1 -0
- package/dist/mining/index.d.ts +9 -2
- package/dist/mining/index.d.ts.map +1 -1
- package/dist/mining/index.js +7 -2
- package/dist/mining/index.js.map +1 -1
- package/dist/mining/profile.d.ts +82 -0
- package/dist/mining/profile.d.ts.map +1 -0
- package/dist/mining/profile.js +109 -0
- package/dist/mining/profile.js.map +1 -0
- package/dist/planning/assembly.d.ts +5 -0
- package/dist/planning/assembly.d.ts.map +1 -1
- package/dist/planning/assembly.js +30 -2
- package/dist/planning/assembly.js.map +1 -1
- package/dist/planning/execution.d.ts +18 -3
- package/dist/planning/execution.d.ts.map +1 -1
- package/dist/planning/execution.js +580 -38
- package/dist/planning/execution.js.map +1 -1
- package/dist/planning/index.d.ts +243 -64
- package/dist/planning/index.d.ts.map +1 -1
- package/dist/planning/index.js +1012 -57
- package/dist/planning/index.js.map +1 -1
- package/dist/planning/plan-sequence-checkpoint.d.ts +9 -0
- package/dist/planning/plan-sequence-checkpoint.d.ts.map +1 -1
- package/dist/planning/plan-sequence-checkpoint.js +16 -7
- package/dist/planning/plan-sequence-checkpoint.js.map +1 -1
- package/dist/planning/plan-sequence-execution.d.ts +5 -0
- package/dist/planning/plan-sequence-execution.d.ts.map +1 -1
- package/dist/planning/plan-sequence-execution.js +74 -30
- package/dist/planning/plan-sequence-execution.js.map +1 -1
- package/dist/planning/plan-sequence.d.ts +2 -1
- package/dist/planning/plan-sequence.d.ts.map +1 -1
- package/dist/planning/plan-sequence.js +8 -1
- package/dist/planning/plan-sequence.js.map +1 -1
- package/dist/planning/simulation.d.ts +25 -1
- package/dist/planning/simulation.d.ts.map +1 -1
- package/dist/planning/simulation.js +111 -11
- package/dist/planning/simulation.js.map +1 -1
- package/dist/registry/cargo.d.ts +11 -1
- package/dist/registry/cargo.d.ts.map +1 -1
- package/dist/registry/cargo.js +42 -1
- package/dist/registry/cargo.js.map +1 -1
- package/dist/registry/docking.d.ts +10 -0
- package/dist/registry/docking.d.ts.map +1 -0
- package/dist/registry/docking.js +12 -0
- package/dist/registry/docking.js.map +1 -0
- package/dist/registry/index.d.ts +4 -0
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/onboarding.d.ts +14 -0
- package/dist/registry/onboarding.d.ts.map +1 -0
- package/dist/registry/onboarding.js +37 -0
- package/dist/registry/onboarding.js.map +1 -0
- package/dist/registry/scanning.d.ts +7 -0
- package/dist/registry/scanning.d.ts.map +1 -0
- package/dist/registry/scanning.js +13 -0
- package/dist/registry/scanning.js.map +1 -0
- package/dist/registry/ship-stats-snapshot.js +19 -19
- package/dist/registry/ship-stats-snapshot.js.map +1 -1
- package/dist/registry/ships.d.ts +30 -0
- package/dist/registry/ships.d.ts.map +1 -0
- package/dist/registry/ships.js +62 -0
- package/dist/registry/ships.js.map +1 -0
- package/dist/registry/xp-runtime.d.ts +4 -0
- package/dist/registry/xp-runtime.d.ts.map +1 -0
- package/dist/registry/xp-runtime.js +14 -0
- package/dist/registry/xp-runtime.js.map +1 -0
- package/dist/scanning/actions/index.d.ts +116 -0
- package/dist/scanning/actions/index.d.ts.map +1 -0
- package/dist/scanning/actions/index.js +185 -0
- package/dist/scanning/actions/index.js.map +1 -0
- package/dist/scanning/index.d.ts +4 -1
- package/dist/scanning/index.d.ts.map +1 -1
- package/dist/scanning/index.js +12 -8
- package/dist/scanning/index.js.map +1 -1
- package/dist/scanning/lifecycle.d.ts +77 -0
- package/dist/scanning/lifecycle.d.ts.map +1 -0
- package/dist/scanning/lifecycle.js +93 -0
- package/dist/scanning/lifecycle.js.map +1 -0
- package/dist/scanning/odds.d.ts +111 -0
- package/dist/scanning/odds.d.ts.map +1 -0
- package/dist/scanning/odds.js +294 -0
- package/dist/scanning/odds.js.map +1 -0
- package/dist/scanning/signals.d.ts +121 -0
- package/dist/scanning/signals.d.ts.map +1 -0
- package/dist/scanning/signals.js +171 -0
- package/dist/scanning/signals.js.map +1 -0
- package/dist/world/index.d.ts +110 -5
- package/dist/world/index.d.ts.map +1 -1
- package/dist/world/index.js +109 -4
- package/dist/world/index.js.map +1 -1
- package/dist/world/planet-claim-stake-plots.d.ts +130 -0
- package/dist/world/planet-claim-stake-plots.d.ts.map +1 -0
- package/dist/world/planet-claim-stake-plots.js +110 -0
- package/dist/world/planet-claim-stake-plots.js.map +1 -0
- package/dist/world/starbase-status.d.ts +176 -0
- package/dist/world/starbase-status.d.ts.map +1 -0
- package/dist/world/starbase-status.js +153 -0
- package/dist/world/starbase-status.js.map +1 -0
- package/package.json +18 -2
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
import { SYSTEM_PROGRAM } from '../../internal/system-program.js';
|
|
2
|
+
import { validateStarbaseSystem } from '../../internal/planning/starbase-system.js';
|
|
3
|
+
import { resolveShipImportFunding, validateShipImportFunding, } from '../../internal/planning/ship-import-funding.js';
|
|
4
|
+
import { isAddress, isOffCurveAddress } from '@solana/kit';
|
|
5
|
+
import { InvalidActionInputError } from '../../client/errors.js';
|
|
6
|
+
import { readContextRawAccounts } from '../../client/reconciliation.js';
|
|
7
|
+
import { characterAccountDefinition, profileAccountDefinition, findCharacterPda, } from '../../internal/c4/identity.js';
|
|
8
|
+
import { deriveStarbasePlayerAddress, starbasePlayerAccountDefinition, } from '../../internal/c4/starbase.js';
|
|
9
|
+
import { deriveStarSystemAddress, starSystemAccountDefinition, } from '../../internal/c4/world.js';
|
|
10
|
+
import { PLAYER_PROFILE_PROGRAM_ADDRESS } from '../../internal/c4/faction-enrollment.js';
|
|
11
|
+
import { requireGameAddress } from '../../internal/game-context.js';
|
|
12
|
+
import { adaptAddShipEscrowInstruction, validatePlanAuthorization, } from '../../internal/planning/authorization-adapter.js';
|
|
13
|
+
import { hashAccountState } from '../../internal/planning/account-state.js';
|
|
14
|
+
import { readClock, CLOCK_ADDRESS, } from '../../internal/planning/faction-enrollment.js';
|
|
15
|
+
import { readRent, RENT_ADDRESS } from '../../internal/planning/rent.js';
|
|
16
|
+
import { deriveShipTokenAddress, validateShipMint, validateShipToken, failShipImport, ORIGINAL_TOKEN_PROGRAM, ATA_PROGRAM, } from '../../internal/planning/ship-token.js';
|
|
17
|
+
import { readFreshGameShipConfiguration } from '../../registry/ships.js';
|
|
18
|
+
import { createPlan, } from '../../planning/index.js';
|
|
19
|
+
function address(value) {
|
|
20
|
+
return typeof value === 'string' && isAddress(value);
|
|
21
|
+
}
|
|
22
|
+
function invalid(field, value, expected) {
|
|
23
|
+
throw new InvalidActionInputError(field, value, expected, 'Select an explicit ship configuration, positive bigint amount and address-only authorization before planning again.');
|
|
24
|
+
}
|
|
25
|
+
function validate(options) {
|
|
26
|
+
if (!options ||
|
|
27
|
+
typeof options !== 'object' ||
|
|
28
|
+
Array.isArray(options) ||
|
|
29
|
+
Object.keys(options).some((k) => ![
|
|
30
|
+
'shipId',
|
|
31
|
+
'amount',
|
|
32
|
+
'owner',
|
|
33
|
+
'authorization',
|
|
34
|
+
'source',
|
|
35
|
+
'escrowAccount',
|
|
36
|
+
].includes(k)))
|
|
37
|
+
invalid('options', options, 'ship import options only');
|
|
38
|
+
if (typeof options.amount !== 'bigint' ||
|
|
39
|
+
options.amount <= 0n ||
|
|
40
|
+
options.amount > (1n << 64n) - 1n)
|
|
41
|
+
invalid('amount', options.amount, 'a positive u64 bigint');
|
|
42
|
+
if (typeof options.shipId !== 'number' ||
|
|
43
|
+
!Number.isInteger(options.shipId) ||
|
|
44
|
+
options.shipId < 0 ||
|
|
45
|
+
options.shipId > 65535)
|
|
46
|
+
invalid('shipId', options.shipId, 'an explicit u16 ship configuration ID');
|
|
47
|
+
if (!address(options.owner) || isOffCurveAddress(options.owner))
|
|
48
|
+
invalid('owner', options.owner, 'a directly signing token owner address');
|
|
49
|
+
if (options.source !== undefined && !address(options.source))
|
|
50
|
+
invalid('source', options.source, 'an existing token account address');
|
|
51
|
+
const a = options.authorization;
|
|
52
|
+
if (!a ||
|
|
53
|
+
typeof a !== 'object' ||
|
|
54
|
+
Array.isArray(a) ||
|
|
55
|
+
Object.keys(a).some((k) => !['profile', 'authority', 'keyIndex', 'certificate'].includes(k)) ||
|
|
56
|
+
!address(a.profile) ||
|
|
57
|
+
!address(a.authority) ||
|
|
58
|
+
isOffCurveAddress(a.authority) ||
|
|
59
|
+
(a.certificate !== undefined && !address(a.certificate)))
|
|
60
|
+
invalid('authorization', a, 'valid Profile, direct authority, keyIndex and optional certificate addresses');
|
|
61
|
+
validatePlanAuthorization(a);
|
|
62
|
+
const e = options.escrowAccount;
|
|
63
|
+
if (e !== undefined &&
|
|
64
|
+
(!e ||
|
|
65
|
+
typeof e !== 'object' ||
|
|
66
|
+
Array.isArray(e) ||
|
|
67
|
+
Object.keys(e).some((k) => !['mode', 'payer'].includes(k)) ||
|
|
68
|
+
e.mode !== 'create-if-missing' ||
|
|
69
|
+
!address(e.payer) ||
|
|
70
|
+
isOffCurveAddress(e.payer)))
|
|
71
|
+
invalid('escrowAccount', e, '{ mode: create-if-missing, payer: a directly signing address }');
|
|
72
|
+
}
|
|
73
|
+
function required(raw, account, role) {
|
|
74
|
+
return (raw ??
|
|
75
|
+
failShipImport(`${role} ${account} is missing. Complete onboarding or create the required account separately.`, account));
|
|
76
|
+
}
|
|
77
|
+
async function observe(raw, role) {
|
|
78
|
+
return {
|
|
79
|
+
kind: 'account-state',
|
|
80
|
+
address: raw.address,
|
|
81
|
+
dataHash: await hashAccountState(raw.owner, raw.data),
|
|
82
|
+
describes: `${role} ${raw.address} retains its observed owner and data; native balance is an observation, not reserved. Refresh and replan if it changes.`,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/** Plans importing whole ship tokens into a registered player's CSS ship escrow.
|
|
86
|
+
* Requires direct Profile AUTH and token-owner authorization. The Profile vault
|
|
87
|
+
* funds any StarbasePlayer storage shortfall; an explicit ATA payer funds optional
|
|
88
|
+
* escrow creation. Fees are separate. No Fleet is created and no signer is retained.
|
|
89
|
+
* @example
|
|
90
|
+
* ```ts
|
|
91
|
+
* declare const ctx: SageContext;
|
|
92
|
+
* declare const starbase: import('@aephia/atlas-kit/starbases').StarbasePlayerSnapshot;
|
|
93
|
+
* declare const options: PlanDepositShipsToGameOptions;
|
|
94
|
+
* const plan = await planDepositShipsToGame(ctx, starbase, options);
|
|
95
|
+
* console.log(plan.describe());
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
export async function planDepositShipsToGame(ctx, starbase, options) {
|
|
99
|
+
validate(options);
|
|
100
|
+
if (!starbase ||
|
|
101
|
+
starbase.kind !== 'starbasePlayer' ||
|
|
102
|
+
!address(starbase.address) ||
|
|
103
|
+
!address(starbase.system?.address) ||
|
|
104
|
+
!address(starbase.playerProfile?.address) ||
|
|
105
|
+
!address(starbase.character?.address))
|
|
106
|
+
invalid('starbase', starbase, 'a loaded StarbasePlayer snapshot');
|
|
107
|
+
// Capture caller-owned input before PDA derivation or the first asynchronous read.
|
|
108
|
+
// Plans must retain the validated intent even if the application edits its form.
|
|
109
|
+
options = {
|
|
110
|
+
...options,
|
|
111
|
+
authorization: { ...options.authorization },
|
|
112
|
+
...(options.escrowAccount
|
|
113
|
+
? { escrowAccount: { ...options.escrowAccount } }
|
|
114
|
+
: {}),
|
|
115
|
+
};
|
|
116
|
+
starbase = {
|
|
117
|
+
kind: 'starbasePlayer',
|
|
118
|
+
address: starbase.address,
|
|
119
|
+
system: { ...starbase.system },
|
|
120
|
+
character: { ...starbase.character },
|
|
121
|
+
playerProfile: { ...starbase.playerProfile },
|
|
122
|
+
};
|
|
123
|
+
const { authorization, owner, shipId, amount } = options;
|
|
124
|
+
const game = requireGameAddress(ctx), character = await findCharacterPda(authorization.profile, game), player = await deriveStarbasePlayerAddress(starbase.system.address, character);
|
|
125
|
+
if (starbase.address !== player ||
|
|
126
|
+
starbase.character.address !== character ||
|
|
127
|
+
starbase.playerProfile.address !== authorization.profile)
|
|
128
|
+
failShipImport('The loaded StarbasePlayer must be the canonical registration for the authorized Profile and Character.', starbase.address);
|
|
129
|
+
const config = await readFreshGameShipConfiguration(ctx, shipId), mint = config.ship.mint;
|
|
130
|
+
const source = options.source ?? (await deriveShipTokenAddress(owner, mint)), escrow = await deriveShipTokenAddress(character, mint);
|
|
131
|
+
if (source === escrow)
|
|
132
|
+
failShipImport('Source and Character escrow must be different token accounts.', source);
|
|
133
|
+
const addresses = [
|
|
134
|
+
authorization.profile,
|
|
135
|
+
character,
|
|
136
|
+
player,
|
|
137
|
+
starbase.system.address,
|
|
138
|
+
mint,
|
|
139
|
+
source,
|
|
140
|
+
RENT_ADDRESS,
|
|
141
|
+
CLOCK_ADDRESS,
|
|
142
|
+
escrow,
|
|
143
|
+
owner,
|
|
144
|
+
];
|
|
145
|
+
const values = await readContextRawAccounts(ctx, addresses);
|
|
146
|
+
const profileRaw = required(values[0], addresses[0], 'Profile'), characterRaw = required(values[1], character, 'Character'), playerRaw = required(values[2], player, 'StarbasePlayer'), systemRaw = required(values[3], addresses[3], 'System'), mintRaw = required(values[4], mint, 'Ship mint'), sourceRaw = required(values[5], source, 'Ship source'), rentRaw = required(values[6], RENT_ADDRESS, 'Rent sysvar'), clockRaw = required(values[7], CLOCK_ADDRESS, 'Clock sysvar');
|
|
147
|
+
const escrowRaw = values[8], ownerRaw = values[9];
|
|
148
|
+
for (const raw of [profileRaw, characterRaw, playerRaw, systemRaw])
|
|
149
|
+
if (raw.executable)
|
|
150
|
+
failShipImport('A gameplay prerequisite is executable rather than account state.', raw.address);
|
|
151
|
+
const p = profileAccountDefinition.decode(profileRaw), c = characterAccountDefinition.decode(characterRaw), s = starbasePlayerAccountDefinition.decode(playerRaw), w = starSystemAccountDefinition.decode(systemRaw);
|
|
152
|
+
if (c.playerProfile !== authorization.profile ||
|
|
153
|
+
c.game !== game ||
|
|
154
|
+
s.playerProfile !== authorization.profile ||
|
|
155
|
+
s.character !== character ||
|
|
156
|
+
s.system !== starbase.system.address ||
|
|
157
|
+
w.game !== game ||
|
|
158
|
+
(await deriveStarSystemAddress(game, w.systemId)) !==
|
|
159
|
+
starbase.system.address)
|
|
160
|
+
failShipImport('Fresh Character, StarbasePlayer and System relationships must match the configured Game and authorized Profile.', player);
|
|
161
|
+
const systemGuard = {
|
|
162
|
+
kind: 'starbase-system',
|
|
163
|
+
address: systemRaw.address,
|
|
164
|
+
game,
|
|
165
|
+
starbaseSequenceId: w.sequenceId,
|
|
166
|
+
requireCss: true,
|
|
167
|
+
describes: 'The canonical Star System retains its active Starbase and generation as a Central Space Station; unrelated shared activity may change.',
|
|
168
|
+
};
|
|
169
|
+
await validateStarbaseSystem(systemRaw, systemGuard);
|
|
170
|
+
const key = p.keys[authorization.keyIndex], now = readClock(clockRaw);
|
|
171
|
+
if (!key ||
|
|
172
|
+
key.address !== authorization.authority ||
|
|
173
|
+
key.scope !== PLAYER_PROFILE_PROGRAM_ADDRESS ||
|
|
174
|
+
(key.permissionsRaw & 1n) === 0n)
|
|
175
|
+
failShipImport('Ship import supports a direct Profile AUTH key. Select a matching authorized Profile key; delegated certificates and other permission scopes are not yet verified.', profileRaw.address);
|
|
176
|
+
if (key.expiresAtRaw >= 0n && key.expiresAtRaw < now)
|
|
177
|
+
failShipImport('The selected Profile key has expired. Choose a current AUTH key.', profileRaw.address);
|
|
178
|
+
if (ownerRaw &&
|
|
179
|
+
ownerRaw.data.length === 355 &&
|
|
180
|
+
(ownerRaw.owner === ORIGINAL_TOKEN_PROGRAM ||
|
|
181
|
+
ownerRaw.owner === 'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb'))
|
|
182
|
+
failShipImport('Token multisig owners are unsupported. Use a directly signing token owner.', owner);
|
|
183
|
+
validateShipMint(mintRaw);
|
|
184
|
+
const sourceAmount = validateShipToken(sourceRaw, mint, owner);
|
|
185
|
+
if (sourceAmount < amount)
|
|
186
|
+
failShipImport(`Source has ${sourceAmount} ships but import requests ${amount}. Reduce the amount.`, source);
|
|
187
|
+
const existingCredit = s.shipsInEscrow.find((item) => item.shipId === shipId);
|
|
188
|
+
if ((existingCredit?.quantityRaw ?? 0n) + amount > (1n << 64n) - 1n)
|
|
189
|
+
failShipImport('The selected ship inventory would exceed u64 capacity. Reduce the amount.', player);
|
|
190
|
+
const fundingIntent = {
|
|
191
|
+
address: player,
|
|
192
|
+
game,
|
|
193
|
+
profile: authorization.profile,
|
|
194
|
+
system: starbase.system.address,
|
|
195
|
+
shipId,
|
|
196
|
+
};
|
|
197
|
+
const resolvedFunding = await resolveShipImportFunding(fundingIntent);
|
|
198
|
+
const { profileDebit: growthFunding } = validateShipImportFunding(fundingIntent, resolvedFunding, new Map(addresses.map((address, index) => [address, values[index]])));
|
|
199
|
+
const minimum = readRent(rentRaw);
|
|
200
|
+
const preconditions = [
|
|
201
|
+
systemGuard,
|
|
202
|
+
{
|
|
203
|
+
kind: 'ship-import-funding',
|
|
204
|
+
...fundingIntent,
|
|
205
|
+
maximumProfileDebit: growthFunding,
|
|
206
|
+
describes: 'Profile reserve and actual StarbasePlayer storage shortfall remain affordable within the approved debit ceiling; target prefunding may reduce the debit.',
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
kind: 'token-mint',
|
|
210
|
+
address: mintRaw.address,
|
|
211
|
+
decimals: 0,
|
|
212
|
+
describes: `Mint ${mintRaw.address} remains a valid initialized original Token Mint with unchanged decimals; supply and authorities may change.`,
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
kind: 'game-ship-config',
|
|
216
|
+
address: game,
|
|
217
|
+
shipId,
|
|
218
|
+
configHash: config.configHash,
|
|
219
|
+
describes: 'The selected ship configuration remains unchanged; unrelated Game definitions may change.',
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
kind: 'token-account',
|
|
223
|
+
address: source,
|
|
224
|
+
mint,
|
|
225
|
+
owner,
|
|
226
|
+
minimumBalance: amount,
|
|
227
|
+
describes: 'Source remains an initialized unfrozen original Token account with sufficient whole ships.',
|
|
228
|
+
},
|
|
229
|
+
...(await Promise.all([
|
|
230
|
+
[profileRaw, 'Profile authorization'],
|
|
231
|
+
[characterRaw, 'Character identity'],
|
|
232
|
+
[playerRaw, 'Player ship inventory'],
|
|
233
|
+
[rentRaw, 'Rent pricing'],
|
|
234
|
+
...(ownerRaw ? [[ownerRaw, 'Token owner identity']] : []),
|
|
235
|
+
].map(([raw, role]) => observe(raw, role)))),
|
|
236
|
+
];
|
|
237
|
+
if (!ownerRaw)
|
|
238
|
+
preconditions.push({
|
|
239
|
+
kind: 'system-account-or-absent',
|
|
240
|
+
address: owner,
|
|
241
|
+
describes: 'The token owner wallet may remain absent or receive native funding as an empty, non-executable System account.',
|
|
242
|
+
});
|
|
243
|
+
const steps = [];
|
|
244
|
+
let ataFunding = 0n;
|
|
245
|
+
if (escrowRaw) {
|
|
246
|
+
const balance = validateShipToken(escrowRaw, mint, character);
|
|
247
|
+
if (balance + amount > (1n << 64n) - 1n)
|
|
248
|
+
failShipImport('Escrow token balance would exceed u64 capacity. Reduce the amount.', escrow);
|
|
249
|
+
preconditions.push({
|
|
250
|
+
kind: 'token-account',
|
|
251
|
+
address: escrow,
|
|
252
|
+
mint,
|
|
253
|
+
owner: character,
|
|
254
|
+
minimumBalance: 0n,
|
|
255
|
+
describes: 'Existing Character escrow remains initialized and unfrozen with the selected mint and Character owner; incoming tokens are allowed.',
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
const creation = options.escrowAccount;
|
|
260
|
+
if (!creation)
|
|
261
|
+
failShipImport('Character ship escrow is missing. Explicitly select escrowAccount create-if-missing with a payer or create it separately.', escrow);
|
|
262
|
+
const extraAddresses = [
|
|
263
|
+
creation.payer,
|
|
264
|
+
ATA_PROGRAM,
|
|
265
|
+
SYSTEM_PROGRAM,
|
|
266
|
+
ORIGINAL_TOKEN_PROGRAM,
|
|
267
|
+
];
|
|
268
|
+
const extraValues = await readContextRawAccounts(ctx, extraAddresses);
|
|
269
|
+
const extras = extraAddresses.map((a, i) => required(extraValues[i], a, 'ATA prerequisite'));
|
|
270
|
+
const payer = extras[0];
|
|
271
|
+
ataFunding = minimum(165);
|
|
272
|
+
if (payer.owner !== SYSTEM_PROGRAM ||
|
|
273
|
+
payer.executable ||
|
|
274
|
+
payer.data.length !== 0 ||
|
|
275
|
+
payer.lamports < ataFunding)
|
|
276
|
+
failShipImport(`ATA payer must be a System wallet with at least ${ataFunding} native lamports for escrow storage plus separate fees.`, creation.payer);
|
|
277
|
+
if (extras.slice(1).some((a) => !a.executable))
|
|
278
|
+
failShipImport('ATA creation requires executable associated-token, System and original Token programs.', ATA_PROGRAM);
|
|
279
|
+
preconditions.push(...(await Promise.all(extras.map((raw, i) => observe(raw, [
|
|
280
|
+
'ATA payer identity',
|
|
281
|
+
'Associated-token program',
|
|
282
|
+
'System program',
|
|
283
|
+
'Token program',
|
|
284
|
+
][i])))), {
|
|
285
|
+
kind: 'token-account-or-absent',
|
|
286
|
+
address: escrow,
|
|
287
|
+
mint,
|
|
288
|
+
owner: character,
|
|
289
|
+
describes: 'Explicit idempotent creation permits an absent or already valid canonical Character ATA.',
|
|
290
|
+
});
|
|
291
|
+
steps.push({
|
|
292
|
+
instruction: {
|
|
293
|
+
programAddress: ATA_PROGRAM,
|
|
294
|
+
accounts: [
|
|
295
|
+
{ address: creation.payer, role: 3 },
|
|
296
|
+
{ address: escrow, role: 1 },
|
|
297
|
+
{ address: character, role: 0 },
|
|
298
|
+
{ address: mint, role: 0 },
|
|
299
|
+
{ address: SYSTEM_PROGRAM, role: 0 },
|
|
300
|
+
{ address: ORIGINAL_TOKEN_PROGRAM, role: 0 },
|
|
301
|
+
],
|
|
302
|
+
data: Uint8Array.of(1),
|
|
303
|
+
},
|
|
304
|
+
signers: [creation.payer],
|
|
305
|
+
describes: `Create the canonical Character ship ATA idempotently; payer ${creation.payer} provides observed storage funding ${ataFunding} native lamports, separate from transaction fees.`,
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
const describes = `Import ${amount} whole ships for configuration ${shipId} (mint ${mint}): source ${source} decreases by ${amount}, Character escrow ${escrow} increases by ${amount}, and StarbasePlayer ${player} shipsInEscrow[${shipId}] increases by ${amount}. Profile authority ${authorization.authority} and token owner ${owner} authorize import. Profile ${authorization.profile} provides observed StarbasePlayer storage funding ${growthFunding} native lamports; ATA storage funding ${ataFunding} and execution fees are separate. The actual Profile debit and its rent reserve are rechecked before signing within the approved storage ceiling; compatible creation/assembly debits are combined per Profile. Different ship configurations for one StarbasePlayer require separate confirmed imports. Funding is not reserved; permissions, current access and outcomes remain chain-authoritative. Simulate before signing and verify all three balances after confirmation; never automatically retry an unknown outcome. Import does not create a Fleet. System identity, active Starbase generation and applicable CSS requirements are rechecked before signing; unrelated System combat, shield, health and hab activity is not equality-bound. Execution access checks remain chain-authoritative, not a client-side atomicity guarantee. Mint supply and authorities may change; initialized original Token mint layout and decimals are rechecked before signing.${ownerRaw ? '' : ' An absent token owner wallet may receive native funding as an empty, non-executable System account.'}`;
|
|
309
|
+
steps.push({
|
|
310
|
+
instruction: adaptAddShipEscrowInstruction({
|
|
311
|
+
authorization,
|
|
312
|
+
owner,
|
|
313
|
+
character,
|
|
314
|
+
source,
|
|
315
|
+
escrow,
|
|
316
|
+
system: starbase.system.address,
|
|
317
|
+
starbasePlayer: player,
|
|
318
|
+
game,
|
|
319
|
+
amount,
|
|
320
|
+
shipId,
|
|
321
|
+
}),
|
|
322
|
+
signers: [...new Set([authorization.authority, owner])],
|
|
323
|
+
describes,
|
|
324
|
+
});
|
|
325
|
+
return createPlan({
|
|
326
|
+
kind: 'fleet.ship-import',
|
|
327
|
+
summary: describes,
|
|
328
|
+
preconditions,
|
|
329
|
+
steps,
|
|
330
|
+
});
|
|
331
|
+
}
|
|
332
|
+
//# sourceMappingURL=ship-import.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ship-import.js","sourceRoot":"","sources":["../../../src/fleets/actions/ship-import.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/** Explicit inputs for cooldown assignment, not permission to move.
|
|
2
|
+
* The Character modifier is its raw I32F32 value, not its display number.
|
|
3
|
+
* @example
|
|
4
|
+
* ```ts
|
|
5
|
+
* const input: FleetMovementCooldownInput = {
|
|
6
|
+
* kind: 'coordinateWarp', arrivesAtUnixSeconds: 1_800_000_000n,
|
|
7
|
+
* baseCooldownSeconds: 60, cooldownModifierRaw: 4_294_967_296n,
|
|
8
|
+
* };
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
export type FleetMovementCooldownInput = {
|
|
12
|
+
readonly kind: 'coordinateWarp';
|
|
13
|
+
readonly arrivesAtUnixSeconds: bigint;
|
|
14
|
+
readonly baseCooldownSeconds: number;
|
|
15
|
+
readonly cooldownModifierRaw: bigint;
|
|
16
|
+
} | {
|
|
17
|
+
readonly kind: 'warpLane';
|
|
18
|
+
readonly departsAtUnixSeconds: bigint;
|
|
19
|
+
} | {
|
|
20
|
+
readonly kind: 'subwarp';
|
|
21
|
+
readonly existingCooldownExpiresAt: bigint;
|
|
22
|
+
};
|
|
23
|
+
/** Predicts the assigned warp-cooldown expiry in Unix seconds for a movement.
|
|
24
|
+
* Coordinate warp anchors at arrival and rounds the modified base upward;
|
|
25
|
+
* a zero modifier uses the unmodified base. Lane warp assigns departure time,
|
|
26
|
+
* replacing even a later expiry. Subwarp preserves the existing expiry.
|
|
27
|
+
*
|
|
28
|
+
* Qualified against PTR deployment slot 54356023. Coordinate/lane timestamps
|
|
29
|
+
* must be nonnegative signed-i64 values, base seconds an integer in 0..65535,
|
|
30
|
+
* and modifier raw a nonnegative signed-i64 value. Overflow is rejected.
|
|
31
|
+
* Existing subwarp expiry may be any signed-i64 value, including sentinels.
|
|
32
|
+
* This pure helper does not calculate journey duration or check state, active
|
|
33
|
+
* cooldown, permissions, Fuel or lane eligibility. Use deriveFleetTimers for
|
|
34
|
+
* observed timer display and simulate the intended action before signing.
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* const expiry = deriveFleetMovementCooldown({
|
|
38
|
+
* kind: 'coordinateWarp', arrivesAtUnixSeconds: 1_800_000_000n,
|
|
39
|
+
* baseCooldownSeconds: 61, cooldownModifierRaw: 2_147_483_648n,
|
|
40
|
+
* }); // 1_800_000_031n
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare function deriveFleetMovementCooldown(input: FleetMovementCooldownInput): bigint;
|
|
44
|
+
//# sourceMappingURL=cooldown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cooldown.d.ts","sourceRoot":"","sources":["../../src/fleets/cooldown.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,MAAM,0BAA0B,GAClC;IACE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,GACpE;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAA;CAAE,CAAC;AAY7E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,0BAA0B,GAChC,MAAM,CA2BR"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { InvalidDerivationInputError } from '../client/index.js';
|
|
2
|
+
const maxTimestamp = (1n << 63n) - 1n;
|
|
3
|
+
const scale = 1n << 32n;
|
|
4
|
+
const remedy = 'Use current Fleet and Character values within the documented cooldown bounds; this calculation does not establish movement eligibility.';
|
|
5
|
+
function bounded(field, value, minimum = 0n) {
|
|
6
|
+
if (value < minimum || value > maxTimestamp)
|
|
7
|
+
throw new InvalidDerivationInputError(field, value, remedy);
|
|
8
|
+
return value;
|
|
9
|
+
}
|
|
10
|
+
/** Predicts the assigned warp-cooldown expiry in Unix seconds for a movement.
|
|
11
|
+
* Coordinate warp anchors at arrival and rounds the modified base upward;
|
|
12
|
+
* a zero modifier uses the unmodified base. Lane warp assigns departure time,
|
|
13
|
+
* replacing even a later expiry. Subwarp preserves the existing expiry.
|
|
14
|
+
*
|
|
15
|
+
* Qualified against PTR deployment slot 54356023. Coordinate/lane timestamps
|
|
16
|
+
* must be nonnegative signed-i64 values, base seconds an integer in 0..65535,
|
|
17
|
+
* and modifier raw a nonnegative signed-i64 value. Overflow is rejected.
|
|
18
|
+
* Existing subwarp expiry may be any signed-i64 value, including sentinels.
|
|
19
|
+
* This pure helper does not calculate journey duration or check state, active
|
|
20
|
+
* cooldown, permissions, Fuel or lane eligibility. Use deriveFleetTimers for
|
|
21
|
+
* observed timer display and simulate the intended action before signing.
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* const expiry = deriveFleetMovementCooldown({
|
|
25
|
+
* kind: 'coordinateWarp', arrivesAtUnixSeconds: 1_800_000_000n,
|
|
26
|
+
* baseCooldownSeconds: 61, cooldownModifierRaw: 2_147_483_648n,
|
|
27
|
+
* }); // 1_800_000_031n
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export function deriveFleetMovementCooldown(input) {
|
|
31
|
+
if (input.kind === 'subwarp')
|
|
32
|
+
return bounded('Existing warp cooldown expiry', input.existingCooldownExpiresAt, -(1n << 63n));
|
|
33
|
+
if (input.kind === 'warpLane')
|
|
34
|
+
return bounded('Warp-lane departure timestamp', input.departsAtUnixSeconds);
|
|
35
|
+
const arrival = bounded('Coordinate-warp arrival timestamp', input.arrivesAtUnixSeconds);
|
|
36
|
+
const base = input.baseCooldownSeconds;
|
|
37
|
+
if (!Number.isInteger(base) || base < 0 || base > 65535)
|
|
38
|
+
throw new InvalidDerivationInputError('Base warp cooldown seconds', base, remedy);
|
|
39
|
+
const modifier = bounded('Character warp cooldown modifier raw', input.cooldownModifierRaw);
|
|
40
|
+
const duration = (BigInt(base) * (modifier === 0n ? scale : modifier) + scale - 1n) / scale;
|
|
41
|
+
return bounded('Predicted warp cooldown expiry', arrival + duration);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=cooldown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cooldown.js","sourceRoot":"","sources":["../../src/fleets/cooldown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAsBjE,MAAM,YAAY,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;AACtC,MAAM,KAAK,GAAG,EAAE,IAAI,GAAG,CAAC;AACxB,MAAM,MAAM,GACV,yIAAyI,CAAC;AAC5I,SAAS,OAAO,CAAC,KAAa,EAAE,KAAa,EAAE,OAAO,GAAG,EAAE;IACzD,IAAI,KAAK,GAAG,OAAO,IAAI,KAAK,GAAG,YAAY;QACzC,MAAM,IAAI,2BAA2B,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAAiC;IAEjC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAC1B,OAAO,OAAO,CACZ,+BAA+B,EAC/B,KAAK,CAAC,yBAAyB,EAC/B,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CACb,CAAC;IACJ,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;QAC3B,OAAO,OAAO,CAAC,+BAA+B,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,OAAO,CACrB,mCAAmC,EACnC,KAAK,CAAC,oBAAoB,CAC3B,CAAC;IACF,MAAM,IAAI,GAAG,KAAK,CAAC,mBAAmB,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK;QACrD,MAAM,IAAI,2BAA2B,CACnC,4BAA4B,EAC5B,IAAI,EACJ,MAAM,CACP,CAAC;IACJ,MAAM,QAAQ,GAAG,OAAO,CACtB,sCAAsC,EACtC,KAAK,CAAC,mBAAmB,CAC1B,CAAC;IACF,MAAM,QAAQ,GACZ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;IAC7E,OAAO,OAAO,CAAC,gCAAgC,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAC;AACvE,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/** Exact inputs for an Idle Fleet's coordinate warp, not lane travel.
|
|
2
|
+
* Coordinates are I8F56, speed U16F16, Fuel rate U26F6, Character warp-speed
|
|
3
|
+
* modifier I32F32, range U8F8 and spool time integer seconds.
|
|
4
|
+
* @example
|
|
5
|
+
* ```ts
|
|
6
|
+
* const input: FleetCoordinateWarpEstimateInput = {
|
|
7
|
+
* fromRaw: { x: 0n, y: 0n }, toRaw: { x: 1n << 56n, y: 0n },
|
|
8
|
+
* speedRaw: 65536n, fuelRateRaw: 64n, speedModifierRaw: 4294967296n,
|
|
9
|
+
* spoolSeconds: 3, maxWarpDistanceRaw: 256n,
|
|
10
|
+
* };
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export interface FleetCoordinateWarpEstimateInput {
|
|
14
|
+
readonly fromRaw: {
|
|
15
|
+
readonly x: bigint;
|
|
16
|
+
readonly y: bigint;
|
|
17
|
+
};
|
|
18
|
+
readonly toRaw: {
|
|
19
|
+
readonly x: bigint;
|
|
20
|
+
readonly y: bigint;
|
|
21
|
+
};
|
|
22
|
+
readonly speedRaw: bigint;
|
|
23
|
+
readonly fuelRateRaw: bigint;
|
|
24
|
+
readonly speedModifierRaw: bigint;
|
|
25
|
+
readonly spoolSeconds: number;
|
|
26
|
+
readonly maxWarpDistanceRaw: bigint;
|
|
27
|
+
}
|
|
28
|
+
/** Whole-second duration including spool and whole-unit Fuel debit estimate.
|
|
29
|
+
* withinRange compares only computed distance with the stored maximum; it is
|
|
30
|
+
* not permission to travel. Raw distance has 56 fractional bits; AU is approximate.
|
|
31
|
+
* @example
|
|
32
|
+
* ```ts
|
|
33
|
+
* declare const estimate: FleetCoordinateWarpEstimate;
|
|
34
|
+
* console.log(estimate.durationSeconds, estimate.fuelDebit, estimate.withinRange);
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export interface FleetCoordinateWarpEstimate {
|
|
38
|
+
readonly distanceAu: number;
|
|
39
|
+
readonly distanceRaw: bigint;
|
|
40
|
+
readonly durationSeconds: bigint;
|
|
41
|
+
readonly fuelDebit: bigint;
|
|
42
|
+
readonly withinRange: boolean;
|
|
43
|
+
toJSON(): unknown;
|
|
44
|
+
}
|
|
45
|
+
/** Estimates a coordinate warp from Idle using deployment-54356023 arithmetic.
|
|
46
|
+
* Truncates each squared axis before distance calculation, divides duration by
|
|
47
|
+
* base speed and then modifier, rounds travel and Fuel upward, and adds spool.
|
|
48
|
+
* Zero speed modifier means neutral. Exact computed maximum range is inclusive.
|
|
49
|
+
*
|
|
50
|
+
* Coordinates, axis differences and distance must fit signed I8F56, with
|
|
51
|
+
* distinct endpoints. Speed is positive u32 raw, Fuel rate u32 raw, modifier
|
|
52
|
+
* nonnegative i64 raw, spool an integer 0..65535 and range u16 raw. Unsupported
|
|
53
|
+
* inputs are rejected. Tiny distinct points can produce only spool time and
|
|
54
|
+
* zero Fuel. Out-of-range trips still return estimates with withinRange=false.
|
|
55
|
+
*
|
|
56
|
+
* No planet-exit surcharge, XP, cooldown, route policy, Fleet state, crew,
|
|
57
|
+
* permissions or available Fuel are checked. Use the exact encoded destination
|
|
58
|
+
* and Fleet.locationRaw; simulate the actual Plan before signing. Requalify
|
|
59
|
+
* after relevant program changes. Use deriveFleetMovementCooldown separately.
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* const estimate = deriveFleetCoordinateWarpEstimate({
|
|
63
|
+
* fromRaw: { x: 0n, y: 0n }, toRaw: { x: 1n << 56n, y: 0n },
|
|
64
|
+
* speedRaw: 65536n, fuelRateRaw: 64n, speedModifierRaw: 4294967296n,
|
|
65
|
+
* spoolSeconds: 3, maxWarpDistanceRaw: 256n,
|
|
66
|
+
* }); // 4 seconds including spool, 1 Fuel, within range
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
export declare function deriveFleetCoordinateWarpEstimate(input: FleetCoordinateWarpEstimateInput): FleetCoordinateWarpEstimate;
|
|
70
|
+
//# sourceMappingURL=coordinate-warp-estimate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordinate-warp-estimate.d.ts","sourceRoot":"","sources":["../../src/fleets/coordinate-warp-estimate.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,MAAM,IAAI,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,gCAAgC,GACtC,2BAA2B,CAgC7B"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { InvalidDerivationInputError } from '../client/index.js';
|
|
2
|
+
import { attachJsonSerialization } from '../internal/json.js';
|
|
3
|
+
import { calculateMovement, movementScale } from './movement-arithmetic.js';
|
|
4
|
+
/** Estimates a coordinate warp from Idle using deployment-54356023 arithmetic.
|
|
5
|
+
* Truncates each squared axis before distance calculation, divides duration by
|
|
6
|
+
* base speed and then modifier, rounds travel and Fuel upward, and adds spool.
|
|
7
|
+
* Zero speed modifier means neutral. Exact computed maximum range is inclusive.
|
|
8
|
+
*
|
|
9
|
+
* Coordinates, axis differences and distance must fit signed I8F56, with
|
|
10
|
+
* distinct endpoints. Speed is positive u32 raw, Fuel rate u32 raw, modifier
|
|
11
|
+
* nonnegative i64 raw, spool an integer 0..65535 and range u16 raw. Unsupported
|
|
12
|
+
* inputs are rejected. Tiny distinct points can produce only spool time and
|
|
13
|
+
* zero Fuel. Out-of-range trips still return estimates with withinRange=false.
|
|
14
|
+
*
|
|
15
|
+
* No planet-exit surcharge, XP, cooldown, route policy, Fleet state, crew,
|
|
16
|
+
* permissions or available Fuel are checked. Use the exact encoded destination
|
|
17
|
+
* and Fleet.locationRaw; simulate the actual Plan before signing. Requalify
|
|
18
|
+
* after relevant program changes. Use deriveFleetMovementCooldown separately.
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* const estimate = deriveFleetCoordinateWarpEstimate({
|
|
22
|
+
* fromRaw: { x: 0n, y: 0n }, toRaw: { x: 1n << 56n, y: 0n },
|
|
23
|
+
* speedRaw: 65536n, fuelRateRaw: 64n, speedModifierRaw: 4294967296n,
|
|
24
|
+
* spoolSeconds: 3, maxWarpDistanceRaw: 256n,
|
|
25
|
+
* }); // 4 seconds including spool, 1 Fuel, within range
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export function deriveFleetCoordinateWarpEstimate(input) {
|
|
29
|
+
const remedy = 'Use current Fleet warp spool seconds and raw U8F8 maximum range within their u16 bounds; simulate the intended coordinate warp before signing.';
|
|
30
|
+
if (!Number.isInteger(input.spoolSeconds) ||
|
|
31
|
+
input.spoolSeconds < 0 ||
|
|
32
|
+
input.spoolSeconds > 65535)
|
|
33
|
+
throw new InvalidDerivationInputError('Warp spool seconds', input.spoolSeconds, remedy);
|
|
34
|
+
if (input.maxWarpDistanceRaw < 0n || input.maxWarpDistanceRaw > 65535n)
|
|
35
|
+
throw new InvalidDerivationInputError('Maximum warp distance raw', input.maxWarpDistanceRaw, remedy);
|
|
36
|
+
const { distanceRaw, durationSecondsRaw, fuelExpenditureRaw } = calculateMovement(input, 'Coordinate warp');
|
|
37
|
+
return Object.freeze(attachJsonSerialization({
|
|
38
|
+
distanceAu: Number(distanceRaw) / Number(movementScale),
|
|
39
|
+
distanceRaw,
|
|
40
|
+
durationSeconds: BigInt(input.spoolSeconds) +
|
|
41
|
+
(durationSecondsRaw + movementScale - 1n) / movementScale,
|
|
42
|
+
fuelDebit: (fuelExpenditureRaw + movementScale - 1n) / movementScale,
|
|
43
|
+
withinRange: distanceRaw <= input.maxWarpDistanceRaw << 48n,
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=coordinate-warp-estimate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordinate-warp-estimate.js","sourceRoot":"","sources":["../../src/fleets/coordinate-warp-estimate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AA0C5E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,iCAAiC,CAC/C,KAAuC;IAEvC,MAAM,MAAM,GACV,gJAAgJ,CAAC;IACnJ,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC;QACrC,KAAK,CAAC,YAAY,GAAG,CAAC;QACtB,KAAK,CAAC,YAAY,GAAG,KAAK;QAE1B,MAAM,IAAI,2BAA2B,CACnC,oBAAoB,EACpB,KAAK,CAAC,YAAY,EAClB,MAAM,CACP,CAAC;IACJ,IAAI,KAAK,CAAC,kBAAkB,GAAG,EAAE,IAAI,KAAK,CAAC,kBAAkB,GAAG,MAAM;QACpE,MAAM,IAAI,2BAA2B,CACnC,2BAA2B,EAC3B,KAAK,CAAC,kBAAkB,EACxB,MAAM,CACP,CAAC;IACJ,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,GAC3D,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC,MAAM,CAClB,uBAAuB,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC;QACvD,WAAW;QACX,eAAe,EACb,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;YAC1B,CAAC,kBAAkB,GAAG,aAAa,GAAG,EAAE,CAAC,GAAG,aAAa;QAC3D,SAAS,EAAE,CAAC,kBAAkB,GAAG,aAAa,GAAG,EAAE,CAAC,GAAG,aAAa;QACpE,WAAW,EAAE,WAAW,IAAI,KAAK,CAAC,kBAAkB,IAAI,GAAG;KAC5D,CAAC,CACH,CAAC;AACJ,CAAC"}
|
package/dist/fleets/index.d.ts
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
export { deriveFleetWarpLanePolicy, type FleetWarpLanePolicy, type FleetWarpLanePolicyInput, type FleetWarpLanePolicyFailure, } from './warp-lane-policy.js';
|
|
2
|
+
export { deriveFleetWarpLaneToll, type FleetWarpLaneToll, type FleetWarpLaneTollInput, } from './warp-lane-toll.js';
|
|
3
|
+
export { deriveFleetWarpLaneEstimate, type FleetWarpLaneEstimate, type FleetWarpLaneEstimateInput, } from './warp-lane-estimate.js';
|
|
4
|
+
export { deriveFleetCoordinateWarpEstimate, type FleetCoordinateWarpEstimate, type FleetCoordinateWarpEstimateInput, } from './coordinate-warp-estimate.js';
|
|
5
|
+
export { deriveFleetSubwarpEstimate, type FleetSubwarpEstimate, type FleetSubwarpEstimateInput, } from './subwarp-estimate.js';
|
|
6
|
+
export { deriveFleetMovementCooldown, type FleetMovementCooldownInput, } from './cooldown.js';
|
|
7
|
+
export { deriveFleetTravelProfile, type FleetTravelProfile, type FleetTravelProfileInput, } from './travel-profile.js';
|
|
1
8
|
import { SageSdkError, type Address, type DiscoveryRequest, type EntityRef, type ReadOptions, type SageContext, type SageSubscription, type SubscriptionDiagnosticEvent, type SubscriptionOptions } from '../client/index.js';
|
|
2
9
|
import { deriveFleetTimers, interpolateSubwarpPosition, type ResolvedFleetAccountData } from '../internal/fleet.js';
|
|
3
10
|
export type { CapacitySummary, FleetTimers, ResolvedFleetAccountData, SubwarpPosition, } from '../internal/fleet.js';
|
|
@@ -60,6 +67,20 @@ export interface FleetSubscriptionObserver {
|
|
|
60
67
|
* ```
|
|
61
68
|
*/
|
|
62
69
|
export declare function getFleet(ctx: SageContext, address: Address, options?: ReadOptions): Promise<FleetSnapshot>;
|
|
70
|
+
/** Reads required Fleets by account address in one batched data-plane request.
|
|
71
|
+
*
|
|
72
|
+
* The frozen result preserves input order and duplicate positions. Every
|
|
73
|
+
* requested address must exist; use separate optional reads when absence is an
|
|
74
|
+
* expected outcome.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```ts
|
|
78
|
+
* declare const ctx: SageContext;
|
|
79
|
+
* declare const fleetAddresses: readonly Address[];
|
|
80
|
+
* const fleets = await getFleets(ctx, fleetAddresses);
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
export declare function getFleets(ctx: SageContext, addresses: readonly Address[], options?: ReadOptions): Promise<readonly FleetSnapshot[]>;
|
|
63
84
|
/** Reads an optional Fleet by account address.
|
|
64
85
|
*
|
|
65
86
|
* @example
|
|
@@ -97,5 +118,19 @@ export declare function watchFleet(ctx: SageContext, address: Address, observer:
|
|
|
97
118
|
* ```
|
|
98
119
|
*/
|
|
99
120
|
export declare function getFleetsByOwner(ctx: SageContext, profileAddress: Address, options?: FleetDiscoveryOptions): Promise<readonly FleetSnapshot[]>;
|
|
121
|
+
/** Discovers every Fleet address for the configured Game.
|
|
122
|
+
*
|
|
123
|
+
* The existing discovery data plane downloads and validates complete Fleet
|
|
124
|
+
* account bytes before exposing an address. It does not hydrate Fleet
|
|
125
|
+
* snapshots or load ship, cargo, or Game registry definitions.
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* ```ts
|
|
129
|
+
* declare const ctx: SageContext;
|
|
130
|
+
* const fleetAddresses = await discoverFleetAddresses(ctx);
|
|
131
|
+
* console.log(fleetAddresses, readMeta(fleetAddresses)?.strategy);
|
|
132
|
+
* ```
|
|
133
|
+
*/
|
|
134
|
+
export declare function discoverFleetAddresses(ctx: SageContext, options?: FleetDiscoveryOptions): Promise<readonly Address[]>;
|
|
100
135
|
export { listShipConfigurations, listShipConfigurationsByMint, } from '../registry/index.js';
|
|
101
136
|
//# sourceMappingURL=index.d.ts.map
|