@aephia/atlas-kit 0.6.0-next.17 → 0.6.0-next.171
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 +2 -1
- package/dist/cargo/actions/deposit.d.ts +5 -2
- package/dist/cargo/actions/deposit.d.ts.map +1 -1
- package/dist/cargo/actions/deposit.js +60 -129
- package/dist/cargo/actions/deposit.js.map +1 -1
- package/dist/cargo/actions/index.d.ts +14 -7
- package/dist/cargo/actions/index.d.ts.map +1 -1
- package/dist/cargo/actions/index.js +108 -95
- package/dist/cargo/actions/index.js.map +1 -1
- package/dist/cargo/actions/wallet-context.d.ts +52 -3
- package/dist/cargo/actions/wallet-context.d.ts.map +1 -1
- package/dist/cargo/actions/wallet-context.js +118 -7
- package/dist/cargo/actions/wallet-context.js.map +1 -1
- package/dist/cargo/actions/wallet-token.d.ts +1 -6
- package/dist/cargo/actions/wallet-token.d.ts.map +1 -1
- package/dist/cargo/actions/wallet-token.js +0 -45
- package/dist/cargo/actions/wallet-token.js.map +1 -1
- package/dist/cargo/actions/withdrawal.d.ts +1 -1
- package/dist/cargo/actions/withdrawal.d.ts.map +1 -1
- package/dist/cargo/actions/withdrawal.js +39 -168
- package/dist/cargo/actions/withdrawal.js.map +1 -1
- package/dist/cargo/index.d.ts.map +1 -1
- package/dist/cargo/index.js +2 -10
- package/dist/cargo/index.js.map +1 -1
- package/dist/claim-stakes/actions/index.d.ts +93 -14
- package/dist/claim-stakes/actions/index.d.ts.map +1 -1
- package/dist/claim-stakes/actions/index.js +739 -742
- package/dist/claim-stakes/actions/index.js.map +1 -1
- package/dist/claim-stakes/index.d.ts +22 -6
- package/dist/claim-stakes/index.d.ts.map +1 -1
- package/dist/claim-stakes/index.js +34 -19
- package/dist/claim-stakes/index.js.map +1 -1
- package/dist/client/context.d.ts.map +1 -1
- package/dist/client/context.js +354 -38
- package/dist/client/context.js.map +1 -1
- package/dist/client/contracts.d.ts +69 -6
- package/dist/client/contracts.d.ts.map +1 -1
- package/dist/client/deployments.d.ts +17 -0
- package/dist/client/deployments.d.ts.map +1 -1
- package/dist/client/deployments.js +17 -0
- package/dist/client/deployments.js.map +1 -1
- package/dist/client/errors.d.ts +2 -2
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js.map +1 -1
- package/dist/client/index.d.ts +57 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +56 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/rpc-subscription-provider.d.ts +37 -0
- package/dist/client/rpc-subscription-provider.d.ts.map +1 -0
- package/dist/client/rpc-subscription-provider.js +224 -0
- package/dist/client/rpc-subscription-provider.js.map +1 -0
- package/dist/combat/actions/index.d.ts +30 -12
- package/dist/combat/actions/index.d.ts.map +1 -1
- package/dist/combat/actions/index.js +360 -302
- package/dist/combat/actions/index.js.map +1 -1
- package/dist/combat/index.d.ts +25 -8
- package/dist/combat/index.d.ts.map +1 -1
- package/dist/combat/index.js +21 -18
- package/dist/combat/index.js.map +1 -1
- package/dist/crafting/actions/fee-rate.d.ts +47 -0
- package/dist/crafting/actions/fee-rate.d.ts.map +1 -0
- package/dist/crafting/actions/fee-rate.js +58 -0
- package/dist/crafting/actions/fee-rate.js.map +1 -0
- package/dist/crafting/actions/index.d.ts +29 -18
- package/dist/crafting/actions/index.d.ts.map +1 -1
- package/dist/crafting/actions/index.js +298 -352
- package/dist/crafting/actions/index.js.map +1 -1
- package/dist/crafting/estimate.d.ts +101 -0
- package/dist/crafting/estimate.d.ts.map +1 -0
- package/dist/crafting/estimate.js +108 -0
- package/dist/crafting/estimate.js.map +1 -0
- package/dist/crafting/index.d.ts +34 -3
- package/dist/crafting/index.d.ts.map +1 -1
- package/dist/crafting/index.js +50 -28
- package/dist/crafting/index.js.map +1 -1
- package/dist/factions/actions/index.d.ts +2 -1
- package/dist/factions/actions/index.d.ts.map +1 -1
- package/dist/factions/actions/index.js +6 -4
- package/dist/factions/actions/index.js.map +1 -1
- package/dist/factions/index.d.ts +19 -2
- package/dist/factions/index.d.ts.map +1 -1
- package/dist/factions/index.js +38 -26
- package/dist/factions/index.js.map +1 -1
- package/dist/factions/profile-faction.d.ts +20 -8
- package/dist/factions/profile-faction.d.ts.map +1 -1
- package/dist/factions/profile-faction.js +20 -8
- package/dist/factions/profile-faction.js.map +1 -1
- package/dist/fleets/actions/add-ship.d.ts +48 -0
- package/dist/fleets/actions/add-ship.d.ts.map +1 -0
- package/dist/fleets/actions/add-ship.js +136 -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 +108 -0
- package/dist/fleets/actions/create-fleet.js.map +1 -0
- package/dist/fleets/actions/crew-transfer.d.ts +45 -0
- package/dist/fleets/actions/crew-transfer.d.ts.map +1 -0
- package/dist/fleets/actions/crew-transfer.js +99 -0
- package/dist/fleets/actions/crew-transfer.js.map +1 -0
- package/dist/fleets/actions/deployment-storage.d.ts +161 -0
- package/dist/fleets/actions/deployment-storage.d.ts.map +1 -0
- package/dist/fleets/actions/deployment-storage.js +297 -0
- package/dist/fleets/actions/deployment-storage.js.map +1 -0
- package/dist/fleets/actions/disband.d.ts +42 -0
- package/dist/fleets/actions/disband.d.ts.map +1 -0
- package/dist/fleets/actions/disband.js +107 -0
- package/dist/fleets/actions/disband.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 +90 -25
- package/dist/fleets/actions/index.d.ts.map +1 -1
- package/dist/fleets/actions/index.js +492 -353
- 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 +93 -0
- package/dist/fleets/actions/respawn.js.map +1 -0
- package/dist/fleets/actions/ship-import.d.ts +1 -1
- package/dist/fleets/actions/ship-import.d.ts.map +1 -1
- package/dist/fleets/actions/ship-import.js +61 -90
- package/dist/fleets/actions/ship-import.js.map +1 -1
- package/dist/fleets/actions/sync.d.ts +24 -0
- package/dist/fleets/actions/sync.d.ts.map +1 -0
- package/dist/fleets/actions/sync.js +55 -0
- package/dist/fleets/actions/sync.js.map +1 -0
- package/dist/fleets/composition-stats.d.ts +101 -0
- package/dist/fleets/composition-stats.d.ts.map +1 -0
- package/dist/fleets/composition-stats.js +354 -0
- package/dist/fleets/composition-stats.js.map +1 -0
- package/dist/fleets/cooldown.d.ts +47 -0
- package/dist/fleets/cooldown.d.ts.map +1 -0
- package/dist/fleets/cooldown.js +48 -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 +36 -0
- package/dist/fleets/index.d.ts.map +1 -1
- package/dist/fleets/index.js +55 -12
- 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 +45 -0
- package/dist/fleets/movement-arithmetic.js.map +1 -0
- package/dist/fleets/subwarp-estimate.d.ts +72 -0
- package/dist/fleets/subwarp-estimate.d.ts.map +1 -0
- package/dist/fleets/subwarp-estimate.js +40 -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 +74 -0
- package/dist/fleets/warp-lane-policy.d.ts.map +1 -0
- package/dist/fleets/warp-lane-policy.js +103 -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 +1 -1
- package/dist/identity/actions/create-profile.d.ts.map +1 -1
- package/dist/identity/actions/create-profile.js +2 -2
- package/dist/identity/actions/create-profile.js.map +1 -1
- package/dist/identity/actions/index.d.ts +5 -4
- package/dist/identity/actions/index.d.ts.map +1 -1
- package/dist/identity/actions/index.js +52 -29
- package/dist/identity/actions/index.js.map +1 -1
- package/dist/identity/actions/research-unlock.d.ts +61 -0
- package/dist/identity/actions/research-unlock.d.ts.map +1 -0
- package/dist/identity/actions/research-unlock.js +166 -0
- package/dist/identity/actions/research-unlock.js.map +1 -0
- package/dist/identity/index.d.ts +63 -2
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +64 -12
- package/dist/identity/index.js.map +1 -1
- 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 +26 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -7
- package/dist/index.js.map +1 -1
- package/dist/internal/c4/account-decoding.d.ts +49 -0
- package/dist/internal/c4/account-decoding.d.ts.map +1 -0
- package/dist/internal/c4/account-decoding.js +74 -0
- package/dist/internal/c4/account-decoding.js.map +1 -0
- package/dist/internal/c4/career-xp.d.ts +58 -0
- package/dist/internal/c4/career-xp.d.ts.map +1 -0
- package/dist/internal/c4/career-xp.js +80 -0
- package/dist/internal/c4/career-xp.js.map +1 -0
- 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/cargo-instructions.d.ts +24 -0
- package/dist/internal/c4/cargo-instructions.d.ts.map +1 -0
- package/dist/internal/c4/cargo-instructions.js +30 -0
- package/dist/internal/c4/cargo-instructions.js.map +1 -0
- package/dist/internal/c4/cargo-pod.d.ts +15 -0
- package/dist/internal/c4/cargo-pod.d.ts.map +1 -0
- package/dist/internal/c4/cargo-pod.js +13 -0
- package/dist/internal/c4/cargo-pod.js.map +1 -0
- package/dist/internal/c4/character-modifier.d.ts +1 -1
- package/dist/internal/c4/character-modifier.d.ts.map +1 -1
- package/dist/internal/c4/character-registration.d.ts +2 -0
- package/dist/internal/c4/character-registration.d.ts.map +1 -1
- package/dist/internal/c4/character-registration.js +2 -0
- package/dist/internal/c4/character-registration.js.map +1 -1
- package/dist/internal/c4/character.d.ts +157 -0
- package/dist/internal/c4/character.d.ts.map +1 -0
- package/dist/internal/c4/character.js +64 -0
- package/dist/internal/c4/character.js.map +1 -0
- package/dist/internal/c4/claim-stake-building-definitions.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake-building-definitions.js +2 -1
- package/dist/internal/c4/claim-stake-building-definitions.js.map +1 -1
- package/dist/internal/c4/claim-stake-configuration.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake-configuration.js +5 -36
- package/dist/internal/c4/claim-stake-configuration.js.map +1 -1
- package/dist/internal/c4/claim-stake-definitions.d.ts +8 -4
- package/dist/internal/c4/claim-stake-definitions.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake-definitions.js +6 -2
- package/dist/internal/c4/claim-stake-definitions.js.map +1 -1
- package/dist/internal/c4/claim-stake-plots.d.ts +17 -0
- package/dist/internal/c4/claim-stake-plots.d.ts.map +1 -0
- package/dist/internal/c4/claim-stake-plots.js +29 -0
- package/dist/internal/c4/claim-stake-plots.js.map +1 -0
- package/dist/internal/c4/claim-stake-standing.d.ts +80 -0
- package/dist/internal/c4/claim-stake-standing.d.ts.map +1 -0
- package/dist/internal/c4/claim-stake-standing.js +61 -0
- package/dist/internal/c4/claim-stake-standing.js.map +1 -0
- package/dist/internal/c4/claim-stake-storage.d.ts +45 -0
- package/dist/internal/c4/claim-stake-storage.d.ts.map +1 -0
- package/dist/internal/c4/claim-stake-storage.js +207 -0
- package/dist/internal/c4/claim-stake-storage.js.map +1 -0
- package/dist/internal/c4/claim-stake.d.ts +13 -33
- package/dist/internal/c4/claim-stake.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake.js +49 -94
- package/dist/internal/c4/claim-stake.js.map +1 -1
- package/dist/internal/c4/combat-storage.d.ts +20 -0
- package/dist/internal/c4/combat-storage.d.ts.map +1 -0
- package/dist/internal/c4/combat-storage.js +43 -0
- package/dist/internal/c4/combat-storage.js.map +1 -0
- package/dist/internal/c4/combat.d.ts +1 -82
- package/dist/internal/c4/combat.d.ts.map +1 -1
- package/dist/internal/c4/combat.js +16 -213
- 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-storage.d.ts +20 -0
- package/dist/internal/c4/crafting-storage.d.ts.map +1 -0
- package/dist/internal/c4/crafting-storage.js +54 -0
- package/dist/internal/c4/crafting-storage.js.map +1 -0
- package/dist/internal/c4/crafting.d.ts +33 -33
- package/dist/internal/c4/crafting.d.ts.map +1 -1
- package/dist/internal/c4/crafting.js +76 -127
- 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 +27 -0
- package/dist/internal/c4/currency-cache.js.map +1 -0
- package/dist/internal/c4/discriminators.d.ts +93 -0
- package/dist/internal/c4/discriminators.d.ts.map +1 -0
- package/dist/internal/c4/discriminators.js +190 -0
- package/dist/internal/c4/discriminators.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-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 +26 -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 +41 -0
- package/dist/internal/c4/faction-treasury.js.map +1 -0
- package/dist/internal/c4/faction.d.ts +21 -0
- package/dist/internal/c4/faction.d.ts.map +1 -0
- package/dist/internal/c4/faction.js +23 -0
- package/dist/internal/c4/faction.js.map +1 -0
- package/dist/internal/c4/factions.d.ts +40 -60
- package/dist/internal/c4/factions.d.ts.map +1 -1
- package/dist/internal/c4/factions.js +106 -225
- 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 +14 -0
- package/dist/internal/c4/fleet-creation.d.ts.map +1 -0
- package/dist/internal/c4/fleet-creation.js +177 -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 +31 -44
- package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
- package/dist/internal/c4/fleet-disband-layout.d.ts +7 -0
- package/dist/internal/c4/fleet-disband-layout.d.ts.map +1 -0
- package/dist/internal/c4/fleet-disband-layout.js +7 -0
- package/dist/internal/c4/fleet-disband-layout.js.map +1 -0
- package/dist/internal/c4/fleet-disband.d.ts +41 -0
- package/dist/internal/c4/fleet-disband.d.ts.map +1 -0
- package/dist/internal/c4/fleet-disband.js +86 -0
- package/dist/internal/c4/fleet-disband.js.map +1 -0
- package/dist/internal/c4/fleet-points.d.ts +3 -0
- package/dist/internal/c4/fleet-points.d.ts.map +1 -0
- package/dist/internal/c4/fleet-points.js +8 -0
- package/dist/internal/c4/fleet-points.js.map +1 -0
- 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 +26 -0
- package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -0
- package/dist/internal/c4/fleet-ship-assembly.js +96 -0
- package/dist/internal/c4/fleet-ship-assembly.js.map +1 -0
- package/dist/internal/c4/fleet-storage.d.ts +44 -0
- package/dist/internal/c4/fleet-storage.d.ts.map +1 -0
- package/dist/internal/c4/fleet-storage.js +108 -0
- package/dist/internal/c4/fleet-storage.js.map +1 -0
- package/dist/internal/c4/fleet-sync.d.ts +5 -0
- package/dist/internal/c4/fleet-sync.d.ts.map +1 -0
- package/dist/internal/c4/fleet-sync.js +15 -0
- package/dist/internal/c4/fleet-sync.js.map +1 -0
- package/dist/internal/c4/fleet.d.ts +65 -24
- package/dist/internal/c4/fleet.d.ts.map +1 -1
- package/dist/internal/c4/fleet.js +50 -91
- 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 +122 -32
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +229 -130
- package/dist/internal/c4/game.js.map +1 -1
- package/dist/internal/c4/identity.d.ts +3 -152
- package/dist/internal/c4/identity.d.ts.map +1 -1
- package/dist/internal/c4/identity.js +19 -126
- package/dist/internal/c4/identity.js.map +1 -1
- package/dist/internal/c4/local-market-order.d.ts +29 -0
- package/dist/internal/c4/local-market-order.d.ts.map +1 -0
- package/dist/internal/c4/local-market-order.js +46 -0
- package/dist/internal/c4/local-market-order.js.map +1 -0
- package/dist/internal/c4/loot-layout.js +1 -1
- package/dist/internal/c4/loot-layout.js.map +1 -1
- package/dist/internal/c4/loot.d.ts +89 -0
- package/dist/internal/c4/loot.d.ts.map +1 -0
- package/dist/internal/c4/loot.js +109 -0
- package/dist/internal/c4/loot.js.map +1 -0
- package/dist/internal/c4/loyalty.d.ts +7 -30
- package/dist/internal/c4/loyalty.d.ts.map +1 -1
- package/dist/internal/c4/loyalty.js +41 -163
- package/dist/internal/c4/loyalty.js.map +1 -1
- package/dist/internal/c4/market-storage.d.ts +25 -0
- package/dist/internal/c4/market-storage.d.ts.map +1 -0
- package/dist/internal/c4/market-storage.js +53 -0
- package/dist/internal/c4/market-storage.js.map +1 -0
- package/dist/internal/c4/market.d.ts +5 -38
- package/dist/internal/c4/market.d.ts.map +1 -1
- package/dist/internal/c4/market.js +26 -120
- 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/pda.d.ts +49 -1
- package/dist/internal/c4/pda.d.ts.map +1 -1
- package/dist/internal/c4/pda.js +122 -17
- package/dist/internal/c4/pda.js.map +1 -1
- package/dist/internal/c4/profile-faction.d.ts +2 -1
- package/dist/internal/c4/profile-faction.d.ts.map +1 -1
- package/dist/internal/c4/profile-faction.js +36 -72
- package/dist/internal/c4/profile-faction.js.map +1 -1
- package/dist/internal/c4/profile-permissions.d.ts +1 -1
- package/dist/internal/c4/profile-permissions.d.ts.map +1 -1
- package/dist/internal/c4/profile-permissions.js +17 -1
- package/dist/internal/c4/profile-permissions.js.map +1 -1
- 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 +1 -61
- package/dist/internal/c4/rewards.d.ts.map +1 -1
- package/dist/internal/c4/rewards.js +23 -203
- 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 +324 -0
- package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -0
- package/dist/internal/c4/scan-lifecycle.js +249 -0
- package/dist/internal/c4/scan-lifecycle.js.map +1 -0
- package/dist/internal/c4/scan-storage.d.ts +7 -0
- package/dist/internal/c4/scan-storage.d.ts.map +1 -0
- package/dist/internal/c4/scan-storage.js +10 -0
- package/dist/internal/c4/scan-storage.js.map +1 -0
- package/dist/internal/c4/scanning.d.ts +4 -41
- package/dist/internal/c4/scanning.d.ts.map +1 -1
- package/dist/internal/c4/scanning.js +27 -108
- 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 +46 -44
- 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 +26 -136
- package/dist/internal/c4/starbase.js.map +1 -1
- package/dist/internal/c4/stimulant.d.ts +26 -0
- package/dist/internal/c4/stimulant.d.ts.map +1 -0
- package/dist/internal/c4/stimulant.js +36 -0
- package/dist/internal/c4/stimulant.js.map +1 -0
- package/dist/internal/c4/wallet-cargo-cache.js +2 -1
- package/dist/internal/c4/wallet-cargo-cache.js.map +1 -1
- package/dist/internal/c4/world.d.ts +40 -7
- package/dist/internal/c4/world.d.ts.map +1 -1
- package/dist/internal/c4/world.js +87 -129
- 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-route.d.ts +12 -0
- package/dist/internal/fleet-route.d.ts.map +1 -0
- package/dist/internal/fleet-route.js +11 -0
- package/dist/internal/fleet-route.js.map +1 -0
- package/dist/internal/fleet.d.ts +3 -2
- package/dist/internal/fleet.d.ts.map +1 -1
- package/dist/internal/fleet.js +3 -5
- package/dist/internal/fleet.js.map +1 -1
- package/dist/internal/loyalty-atlas-bank-state.d.ts +17 -0
- package/dist/internal/loyalty-atlas-bank-state.d.ts.map +1 -0
- package/dist/internal/loyalty-atlas-bank-state.js +11 -0
- package/dist/internal/loyalty-atlas-bank-state.js.map +1 -0
- package/dist/internal/planning/account-state.d.ts +6 -0
- package/dist/internal/planning/account-state.d.ts.map +1 -1
- package/dist/internal/planning/account-state.js +13 -0
- package/dist/internal/planning/account-state.js.map +1 -1
- 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 +19 -0
- package/dist/internal/planning/arrival-guards.d.ts.map +1 -0
- package/dist/internal/planning/arrival-guards.js +172 -0
- package/dist/internal/planning/arrival-guards.js.map +1 -0
- package/dist/internal/planning/authorization-adapter.d.ts +61 -39
- package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
- package/dist/internal/planning/authorization-adapter.js +219 -83
- package/dist/internal/planning/authorization-adapter.js.map +1 -1
- package/dist/internal/planning/cargo-storage-actions.d.ts +8 -0
- package/dist/internal/planning/cargo-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/cargo-storage-actions.js +97 -0
- package/dist/internal/planning/cargo-storage-actions.js.map +1 -0
- package/dist/internal/planning/character-access.d.ts +28 -0
- package/dist/internal/planning/character-access.d.ts.map +1 -0
- package/dist/internal/planning/character-access.js +41 -0
- package/dist/internal/planning/character-access.js.map +1 -0
- 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 +59 -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 +87 -0
- package/dist/internal/planning/character-registration.js.map +1 -0
- package/dist/internal/planning/claim-stake-storage-actions.d.ts +12 -0
- package/dist/internal/planning/claim-stake-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/claim-stake-storage-actions.js +63 -0
- package/dist/internal/planning/claim-stake-storage-actions.js.map +1 -0
- package/dist/internal/planning/combat-storage-actions.d.ts +9 -0
- package/dist/internal/planning/combat-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/combat-storage-actions.js +55 -0
- package/dist/internal/planning/combat-storage-actions.js.map +1 -0
- package/dist/internal/planning/crafting-storage-actions.d.ts +7 -0
- package/dist/internal/planning/crafting-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/crafting-storage-actions.js +64 -0
- package/dist/internal/planning/crafting-storage-actions.js.map +1 -0
- package/dist/internal/planning/currency-cache-guard.d.ts +6 -0
- package/dist/internal/planning/currency-cache-guard.d.ts.map +1 -0
- package/dist/internal/planning/currency-cache-guard.js +77 -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 +189 -0
- package/dist/internal/planning/democracy-history.js.map +1 -0
- package/dist/internal/planning/direct-options.d.ts +17 -0
- package/dist/internal/planning/direct-options.d.ts.map +1 -0
- package/dist/internal/planning/direct-options.js +43 -0
- package/dist/internal/planning/direct-options.js.map +1 -0
- package/dist/internal/planning/disband-storage-actions.d.ts +9 -0
- package/dist/internal/planning/disband-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/disband-storage-actions.js +24 -0
- package/dist/internal/planning/disband-storage-actions.js.map +1 -0
- package/dist/internal/planning/faction-enrollment.d.ts +0 -4
- package/dist/internal/planning/faction-enrollment.d.ts.map +1 -1
- package/dist/internal/planning/faction-enrollment.js +1 -31
- package/dist/internal/planning/faction-enrollment.js.map +1 -1
- 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 +107 -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 +104 -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 +89 -0
- package/dist/internal/planning/fleet-creation.js.map +1 -0
- package/dist/internal/planning/fleet-crew-guard.d.ts +29 -0
- package/dist/internal/planning/fleet-crew-guard.d.ts.map +1 -0
- package/dist/internal/planning/fleet-crew-guard.js +48 -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 +152 -0
- package/dist/internal/planning/fleet-crew-transfer.js.map +1 -0
- package/dist/internal/planning/fleet-disband-guard.d.ts +12 -0
- package/dist/internal/planning/fleet-disband-guard.d.ts.map +1 -0
- package/dist/internal/planning/fleet-disband-guard.js +54 -0
- package/dist/internal/planning/fleet-disband-guard.js.map +1 -0
- package/dist/internal/planning/fleet-disband.d.ts +36 -0
- package/dist/internal/planning/fleet-disband.d.ts.map +1 -0
- package/dist/internal/planning/fleet-disband.js +82 -0
- package/dist/internal/planning/fleet-disband.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 +216 -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 +164 -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 +44 -0
- package/dist/internal/planning/fleet-docking-guard.js.map +1 -0
- package/dist/internal/planning/fleet-docking.d.ts +25 -0
- package/dist/internal/planning/fleet-docking.d.ts.map +1 -0
- package/dist/internal/planning/fleet-docking.js +106 -0
- package/dist/internal/planning/fleet-docking.js.map +1 -0
- package/dist/internal/planning/fleet-rental.d.ts +5 -0
- package/dist/internal/planning/fleet-rental.d.ts.map +1 -0
- package/dist/internal/planning/fleet-rental.js +9 -0
- package/dist/internal/planning/fleet-rental.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 +164 -0
- package/dist/internal/planning/fleet-respawn.js.map +1 -0
- package/dist/internal/planning/fleet-ship-assembly.d.ts +38 -0
- package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -0
- package/dist/internal/planning/fleet-ship-assembly.js +167 -0
- package/dist/internal/planning/fleet-ship-assembly.js.map +1 -0
- package/dist/internal/planning/fleet-state.d.ts +25 -0
- package/dist/internal/planning/fleet-state.d.ts.map +1 -0
- package/dist/internal/planning/fleet-state.js +28 -0
- package/dist/internal/planning/fleet-state.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 +231 -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 +128 -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 +139 -0
- package/dist/internal/planning/local-market-order.js.map +1 -0
- package/dist/internal/planning/market-storage-actions.d.ts +7 -0
- package/dist/internal/planning/market-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/market-storage-actions.js +71 -0
- package/dist/internal/planning/market-storage-actions.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 +42 -0
- package/dist/internal/planning/mining-stop.js.map +1 -0
- package/dist/internal/planning/mining-storage-actions.d.ts +11 -0
- package/dist/internal/planning/mining-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/mining-storage-actions.js +57 -0
- package/dist/internal/planning/mining-storage-actions.js.map +1 -0
- package/dist/internal/planning/movement-storage-actions.d.ts +7 -0
- package/dist/internal/planning/movement-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/movement-storage-actions.js +38 -0
- package/dist/internal/planning/movement-storage-actions.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 +104 -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 +32 -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 +94 -0
- package/dist/internal/planning/open-signal.js.map +1 -0
- package/dist/internal/planning/original-token.d.ts +40 -0
- package/dist/internal/planning/original-token.d.ts.map +1 -0
- package/dist/internal/planning/original-token.js +112 -0
- package/dist/internal/planning/original-token.js.map +1 -0
- package/dist/internal/planning/own-starbase-facts.d.ts +37 -0
- package/dist/internal/planning/own-starbase-facts.d.ts.map +1 -0
- package/dist/internal/planning/own-starbase-facts.js +52 -0
- package/dist/internal/planning/own-starbase-facts.js.map +1 -0
- package/dist/internal/planning/plan-fields.d.ts +60 -0
- package/dist/internal/planning/plan-fields.d.ts.map +1 -0
- package/dist/internal/planning/plan-fields.js +159 -0
- package/dist/internal/planning/plan-fields.js.map +1 -0
- package/dist/internal/planning/plan-guards.d.ts +4 -0
- package/dist/internal/planning/plan-guards.d.ts.map +1 -0
- package/dist/internal/planning/plan-guards.js +184 -0
- package/dist/internal/planning/plan-guards.js.map +1 -0
- package/dist/internal/planning/profile-key.d.ts +13 -0
- package/dist/internal/planning/profile-key.d.ts.map +1 -0
- package/dist/internal/planning/profile-key.js +20 -0
- package/dist/internal/planning/profile-key.js.map +1 -0
- package/dist/internal/planning/profile-storage-funding-guard.d.ts +29 -0
- package/dist/internal/planning/profile-storage-funding-guard.d.ts.map +1 -0
- package/dist/internal/planning/profile-storage-funding-guard.js +115 -0
- package/dist/internal/planning/profile-storage-funding-guard.js.map +1 -0
- package/dist/internal/planning/profile-storage-funding.d.ts +46 -0
- package/dist/internal/planning/profile-storage-funding.d.ts.map +1 -0
- package/dist/internal/planning/profile-storage-funding.js +58 -0
- package/dist/internal/planning/profile-storage-funding.js.map +1 -0
- package/dist/internal/planning/recipe-state.d.ts +9 -0
- package/dist/internal/planning/recipe-state.d.ts.map +1 -0
- package/dist/internal/planning/recipe-state.js +23 -0
- package/dist/internal/planning/recipe-state.js.map +1 -0
- package/dist/internal/planning/region-access.d.ts +30 -0
- package/dist/internal/planning/region-access.d.ts.map +1 -0
- package/dist/internal/planning/region-access.js +94 -0
- package/dist/internal/planning/region-access.js.map +1 -0
- package/dist/internal/planning/rent-catalog.d.ts +37 -0
- package/dist/internal/planning/rent-catalog.d.ts.map +1 -0
- package/dist/internal/planning/rent-catalog.js +165 -0
- package/dist/internal/planning/rent-catalog.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/research-unlock.d.ts +69 -0
- package/dist/internal/planning/research-unlock.d.ts.map +1 -0
- package/dist/internal/planning/research-unlock.js +287 -0
- package/dist/internal/planning/research-unlock.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 +42 -0
- package/dist/internal/planning/respawn-guards.js.map +1 -0
- package/dist/internal/planning/runtime-guards.d.ts +41 -0
- package/dist/internal/planning/runtime-guards.d.ts.map +1 -0
- package/dist/internal/planning/runtime-guards.js +658 -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 +95 -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 +198 -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 +246 -0
- package/dist/internal/planning/scan-detect.js.map +1 -0
- package/dist/internal/planning/scan-idle-scope.d.ts +5 -0
- package/dist/internal/planning/scan-idle-scope.d.ts.map +1 -0
- package/dist/internal/planning/scan-idle-scope.js +5 -0
- package/dist/internal/planning/scan-idle-scope.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/scan-storage-actions.d.ts +9 -0
- package/dist/internal/planning/scan-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/scan-storage-actions.js +27 -0
- package/dist/internal/planning/scan-storage-actions.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 +53 -0
- package/dist/internal/planning/ship-import-funding.js.map +1 -0
- package/dist/internal/planning/ship-token.d.ts +1 -6
- package/dist/internal/planning/ship-token.d.ts.map +1 -1
- package/dist/internal/planning/ship-token.js +0 -37
- package/dist/internal/planning/ship-token.js.map +1 -1
- package/dist/internal/planning/starbase-player-owner.d.ts +21 -0
- package/dist/internal/planning/starbase-player-owner.d.ts.map +1 -0
- package/dist/internal/planning/starbase-player-owner.js +17 -0
- package/dist/internal/planning/starbase-player-owner.js.map +1 -0
- package/dist/internal/planning/starbase-player-recovery-guard.d.ts +7 -0
- package/dist/internal/planning/starbase-player-recovery-guard.d.ts.map +1 -0
- package/dist/internal/planning/starbase-player-recovery-guard.js +39 -0
- package/dist/internal/planning/starbase-player-recovery-guard.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 +94 -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/storage-action-readers.d.ts +10 -0
- package/dist/internal/planning/storage-action-readers.d.ts.map +1 -0
- package/dist/internal/planning/storage-action-readers.js +58 -0
- package/dist/internal/planning/storage-action-readers.js.map +1 -0
- package/dist/internal/planning/storage-actions.d.ts +89 -0
- package/dist/internal/planning/storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/storage-actions.js +183 -0
- package/dist/internal/planning/storage-actions.js.map +1 -0
- package/dist/internal/planning/token-mint.d.ts.map +1 -1
- package/dist/internal/planning/token-mint.js +2 -1
- package/dist/internal/planning/token-mint.js.map +1 -1
- 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/wallet-starbase.d.ts +34 -0
- package/dist/internal/planning/wallet-starbase.d.ts.map +1 -0
- package/dist/internal/planning/wallet-starbase.js +39 -0
- package/dist/internal/planning/wallet-starbase.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 +122 -0
- package/dist/internal/planning/xp-runtime.js.map +1 -0
- package/dist/internal/read-meta.d.ts +12 -0
- package/dist/internal/read-meta.d.ts.map +1 -1
- package/dist/internal/read-meta.js +10 -0
- package/dist/internal/read-meta.js.map +1 -1
- 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 +1 -1
- package/dist/loyalty/actions/index.d.ts.map +1 -1
- package/dist/loyalty/actions/index.js +16 -46
- package/dist/loyalty/actions/index.js.map +1 -1
- package/dist/loyalty/index.d.ts +4 -0
- package/dist/loyalty/index.d.ts.map +1 -1
- package/dist/loyalty/index.js +21 -33
- package/dist/loyalty/index.js.map +1 -1
- package/dist/markets/actions/index.d.ts +62 -4
- package/dist/markets/actions/index.d.ts.map +1 -1
- package/dist/markets/actions/index.js +261 -187
- package/dist/markets/actions/index.js.map +1 -1
- package/dist/markets/actions/trade-faction-market.d.ts +45 -0
- package/dist/markets/actions/trade-faction-market.d.ts.map +1 -0
- package/dist/markets/actions/trade-faction-market.js +311 -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 +59 -20
- package/dist/markets/index.js.map +1 -1
- package/dist/mining/actions/index.d.ts +18 -15
- package/dist/mining/actions/index.d.ts.map +1 -1
- package/dist/mining/actions/index.js +146 -69
- package/dist/mining/actions/index.js.map +1 -1
- package/dist/mining/estimate-input.d.ts +103 -0
- package/dist/mining/estimate-input.d.ts.map +1 -0
- package/dist/mining/estimate-input.js +86 -0
- package/dist/mining/estimate-input.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 +10 -2
- package/dist/mining/index.d.ts.map +1 -1
- package/dist/mining/index.js +11 -13
- 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 +6 -1
- package/dist/planning/assembly.d.ts.map +1 -1
- package/dist/planning/assembly.js +12 -8
- package/dist/planning/assembly.js.map +1 -1
- package/dist/planning/execution.d.ts +19 -3
- package/dist/planning/execution.d.ts.map +1 -1
- package/dist/planning/execution.js +623 -72
- package/dist/planning/execution.js.map +1 -1
- package/dist/planning/index.d.ts +252 -165
- package/dist/planning/index.d.ts.map +1 -1
- package/dist/planning/index.js +31 -388
- package/dist/planning/index.js.map +1 -1
- package/dist/planning/plan-construction.d.ts +25 -0
- package/dist/planning/plan-construction.d.ts.map +1 -0
- package/dist/planning/plan-construction.js +143 -0
- package/dist/planning/plan-construction.js.map +1 -0
- 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 -40
- 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/plan-validation.d.ts +17 -0
- package/dist/planning/plan-validation.d.ts.map +1 -0
- package/dist/planning/plan-validation.js +147 -0
- package/dist/planning/plan-validation.js.map +1 -0
- 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 +7 -12
- package/dist/registry/cargo.d.ts.map +1 -1
- package/dist/registry/cargo.js +19 -20
- package/dist/registry/cargo.js.map +1 -1
- package/dist/registry/definition-section-snapshot.d.ts +1 -1
- package/dist/registry/definition-section-snapshot.d.ts.map +1 -1
- package/dist/registry/definition-section-snapshot.js +10 -3
- package/dist/registry/definition-section-snapshot.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 +35 -4
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +226 -227
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/onboarding.d.ts +10 -2
- package/dist/registry/onboarding.d.ts.map +1 -1
- package/dist/registry/onboarding.js +22 -7
- package/dist/registry/onboarding.js.map +1 -1
- 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.d.ts.map +1 -1
- package/dist/registry/ship-stats-snapshot.js +38 -24
- package/dist/registry/ship-stats-snapshot.js.map +1 -1
- package/dist/registry/ships.d.ts +22 -2
- package/dist/registry/ships.d.ts.map +1 -1
- package/dist/registry/ships.js +31 -4
- package/dist/registry/ships.js.map +1 -1
- 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/rewards/index.d.ts +11 -5
- package/dist/rewards/index.d.ts.map +1 -1
- package/dist/rewards/index.js +10 -21
- package/dist/rewards/index.js.map +1 -1
- 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 +215 -0
- package/dist/scanning/actions/index.js.map +1 -0
- package/dist/scanning/index.d.ts +10 -12
- package/dist/scanning/index.d.ts.map +1 -1
- package/dist/scanning/index.js +19 -23
- 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 +115 -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 +126 -0
- package/dist/scanning/signals.d.ts.map +1 -0
- package/dist/scanning/signals.js +173 -0
- package/dist/scanning/signals.js.map +1 -0
- package/dist/starbases/actions/index.d.ts +49 -4
- package/dist/starbases/actions/index.d.ts.map +1 -1
- package/dist/starbases/actions/index.js +120 -69
- package/dist/starbases/actions/index.js.map +1 -1
- package/dist/starbases/index.d.ts +18 -0
- package/dist/starbases/index.d.ts.map +1 -1
- package/dist/starbases/index.js +24 -11
- package/dist/starbases/index.js.map +1 -1
- package/dist/world/index.d.ts +185 -6
- package/dist/world/index.d.ts.map +1 -1
- package/dist/world/index.js +186 -15
- package/dist/world/index.js.map +1 -1
- package/dist/world/planet-claim-stake-plots.d.ts +139 -0
- package/dist/world/planet-claim-stake-plots.d.ts.map +1 -0
- package/dist/world/planet-claim-stake-plots.js +117 -0
- package/dist/world/planet-claim-stake-plots.js.map +1 -0
- package/dist/world/starbase-status.d.ts +217 -0
- package/dist/world/starbase-status.d.ts.map +1 -0
- package/dist/world/starbase-status.js +218 -0
- package/dist/world/starbase-status.js.map +1 -0
- package/package.json +6 -2
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
import { isAddress } from '@solana/kit';
|
|
2
|
+
import { InvalidActionInputError, SageSdkError } from '../../client/errors.js';
|
|
3
|
+
import { readContextRawAccounts } from '../../client/reconciliation.js';
|
|
4
|
+
import { requireGameAddress } from '../../internal/game-context.js';
|
|
5
|
+
import { attachJsonSerialization } from '../../internal/json.js';
|
|
6
|
+
import { characterAccountDefinition } from '../../internal/c4/character.js';
|
|
7
|
+
import { fleetAccountDefinition } from '../../internal/c4/fleet.js';
|
|
8
|
+
import { deriveFleetCreationAddress, emptyDockedFleetSize, } from '../../internal/c4/fleet-creation.js';
|
|
9
|
+
import { decodeCanonicalStarbasePlayer, starbasePlayerSize, withDisbandedFleet, withHangarEntry, } from '../../internal/c4/fleet-disband.js';
|
|
10
|
+
import { MAX_COMMANDERS_AND_TITANS_PER_FLEET, MAX_TITANS_PER_FLEET, fleetCapacityPoints, shipSizeName, shipSizeRank, } from '../../internal/c4/fleet-ship-assembly.js';
|
|
11
|
+
import { decodeCanonicalFleet } from '../../internal/c4/fleet-storage.js';
|
|
12
|
+
import { starbasePlayerAccountDefinition } from '../../internal/c4/starbase.js';
|
|
13
|
+
import { validateFleetCreationLabel } from '../../internal/planning/fleet-creation.js';
|
|
14
|
+
import { RENT_ADDRESS, readRent } from '../../internal/planning/rent.js';
|
|
15
|
+
import { readFreshGameShipAssemblyCatalog } from '../../registry/ships.js';
|
|
16
|
+
const SYSTEM_PROGRAM = '11111111111111111111111111111111';
|
|
17
|
+
function readInput(input) {
|
|
18
|
+
const bad = () => {
|
|
19
|
+
throw new InvalidActionInputError('input', input, 'starbasePlayer, optional disband and label, ships as { shipId: u16, amount: 1n through 255n }[] with at least one entry, and optional u16 cargoIds', 'Describe the proposed deployment with addresses, ship configuration ids and cargo ids only, then estimate again.');
|
|
20
|
+
};
|
|
21
|
+
if (typeof input !== 'object' || input === null)
|
|
22
|
+
return bad();
|
|
23
|
+
const value = input;
|
|
24
|
+
const allowed = ['starbasePlayer', 'disband', 'label', 'ships', 'cargoIds'];
|
|
25
|
+
const u16 = (id) => typeof id === 'number' && Number.isInteger(id) && id >= 0 && id <= 65535;
|
|
26
|
+
if (Object.keys(value).some((key) => !allowed.includes(key)) ||
|
|
27
|
+
typeof value.starbasePlayer !== 'string' ||
|
|
28
|
+
!isAddress(value.starbasePlayer) ||
|
|
29
|
+
(value.disband !== undefined &&
|
|
30
|
+
(typeof value.disband !== 'string' || !isAddress(value.disband))) ||
|
|
31
|
+
!Array.isArray(value.ships) ||
|
|
32
|
+
value.ships.length === 0 ||
|
|
33
|
+
!value.ships.every((ship) => typeof ship === 'object' &&
|
|
34
|
+
ship !== null &&
|
|
35
|
+
Object.keys(ship).every((key) => key === 'shipId' || key === 'amount') &&
|
|
36
|
+
u16(ship.shipId) &&
|
|
37
|
+
typeof ship.amount === 'bigint' &&
|
|
38
|
+
ship.amount >= 1n &&
|
|
39
|
+
ship.amount <= 255n) ||
|
|
40
|
+
(value.cargoIds !== undefined &&
|
|
41
|
+
(!Array.isArray(value.cargoIds) || !value.cargoIds.every(u16))))
|
|
42
|
+
return bad();
|
|
43
|
+
if (value.label !== undefined)
|
|
44
|
+
validateFleetCreationLabel(value.label);
|
|
45
|
+
return value;
|
|
46
|
+
}
|
|
47
|
+
function refuse(message) {
|
|
48
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', message);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Estimates the Profile storage funding a proposed Fleet deployment needs
|
|
52
|
+
* before any of it runs: optionally disbanding a Docked Fleet, creating an
|
|
53
|
+
* empty Fleet, adding ship configurations in order (with their components) and
|
|
54
|
+
* loading its initial cargo hold. Each stage reports the accounts it settles,
|
|
55
|
+
* their sizes and rent minimums, and an upper bound on its Profile debit.
|
|
56
|
+
*
|
|
57
|
+
* Verified against the program's behaviour: each stage sets every resized
|
|
58
|
+
* account to the rent minimum of its new size, withdrawing a shortfall from
|
|
59
|
+
* the Profile. A disband grows the StarbasePlayer by a hangar entry per ship id
|
|
60
|
+
* and a cargo line per cargo id it lacks. Creation funds the empty Fleet less
|
|
61
|
+
* any lamports already at its address. Each assembly adds a ship line and the
|
|
62
|
+
* configuration's component lines to the Fleet, and a hangar entry to the
|
|
63
|
+
* StarbasePlayer when it has none for that configuration; it settles the
|
|
64
|
+
* StarbasePlayer's rent even when its size is unchanged. Loading cargo adds a
|
|
65
|
+
* cargo hold line per new cargo id; loading crew resizes nothing, so it has no
|
|
66
|
+
* stage. Observed balances count for the first stage that touches an account;
|
|
67
|
+
* later stages assume it was left at its rent minimum. The disbanded Fleet's
|
|
68
|
+
* refund, lines that empty and any other freed storage are never credited.
|
|
69
|
+
*
|
|
70
|
+
* Unmet Character or StarbasePlayer requirements (a free Fleet slot, maximum
|
|
71
|
+
* ship size, research, Fleet size, components) are listed, not enforced, so a
|
|
72
|
+
* roster can be sized before it is eligible. A roster no Character can field
|
|
73
|
+
* (above the Game's Fleet size, or too many Commanders or Titans) is refused.
|
|
74
|
+
* Hull availability, transaction fees, the Profile's own rent reserve and a
|
|
75
|
+
* Character resynchronization are not included. Plan each real stage with its
|
|
76
|
+
* planner after the previous one confirms.
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```ts
|
|
80
|
+
* import { estimateFleetDeploymentStorage } from '@aephia/atlas-kit/fleets/actions';
|
|
81
|
+
*
|
|
82
|
+
* declare const ctx: SageContext;
|
|
83
|
+
* declare const starbasePlayer: Address;
|
|
84
|
+
* declare const oldFleet: Address;
|
|
85
|
+
* const estimate = await estimateFleetDeploymentStorage(ctx, {
|
|
86
|
+
* starbasePlayer,
|
|
87
|
+
* disband: oldFleet,
|
|
88
|
+
* label: 'Miner 6',
|
|
89
|
+
* ships: [{ shipId: 1301, amount: 1n }],
|
|
90
|
+
* cargoIds: [7560],
|
|
91
|
+
* });
|
|
92
|
+
* for (const stage of estimate.stages) console.log(stage.kind, stage.profileDebit);
|
|
93
|
+
* for (const missing of estimate.unmetPrerequisites) console.log(missing.message);
|
|
94
|
+
* console.log(`Profile needs ${estimate.totalProfileDebit} lamports above its reserve`);
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
export async function estimateFleetDeploymentStorage(ctx, input) {
|
|
98
|
+
const { starbasePlayer, disband, label, ships, cargoIds = [], } = readInput(input);
|
|
99
|
+
const game = requireGameAddress(ctx);
|
|
100
|
+
const [playerRaw, rentRaw, disbandRaw] = await readContextRawAccounts(ctx, [
|
|
101
|
+
starbasePlayer,
|
|
102
|
+
RENT_ADDRESS,
|
|
103
|
+
...(disband === undefined ? [] : [disband]),
|
|
104
|
+
]);
|
|
105
|
+
if (!playerRaw)
|
|
106
|
+
refuse(`StarbasePlayer ${starbasePlayer} does not exist. Register at the Starbase where the Fleet will be created, then estimate again.`);
|
|
107
|
+
const player = starbasePlayerAccountDefinition.decode(playerRaw);
|
|
108
|
+
const profile = player.playerProfile;
|
|
109
|
+
const fleetAddress = label === undefined
|
|
110
|
+
? undefined
|
|
111
|
+
: await deriveFleetCreationAddress(game, profile, label);
|
|
112
|
+
const [{ catalog }, [characterRaw, targetRaw]] = await Promise.all([
|
|
113
|
+
readFreshGameShipAssemblyCatalog(ctx),
|
|
114
|
+
readContextRawAccounts(ctx, [
|
|
115
|
+
player.character,
|
|
116
|
+
...(fleetAddress === undefined ? [] : [fleetAddress]),
|
|
117
|
+
]),
|
|
118
|
+
]);
|
|
119
|
+
if (!characterRaw)
|
|
120
|
+
refuse(`Character ${player.character} of the StarbasePlayer does not exist. Register the Character, then estimate again.`);
|
|
121
|
+
const character = characterAccountDefinition.decode(characterRaw);
|
|
122
|
+
if (character.game !== game || character.playerProfile !== profile)
|
|
123
|
+
refuse(`The StarbasePlayer's Character belongs to another Game or Profile than the configured Game ${game} and Profile ${profile}. Select a StarbasePlayer of this Game, then estimate again.`);
|
|
124
|
+
if (!rentRaw)
|
|
125
|
+
refuse('The Rent sysvar is unavailable. Check the configured RPC endpoint, then estimate again.');
|
|
126
|
+
const rent = readRent(rentRaw);
|
|
127
|
+
const stages = [];
|
|
128
|
+
const unmet = [];
|
|
129
|
+
// The StarbasePlayer only grows in this estimate: lines a stage empties are
|
|
130
|
+
// kept, so freed storage is never credited.
|
|
131
|
+
let playerValue = decodeCanonicalStarbasePlayer(playerRaw, 'Refresh a valid StarbasePlayer before estimating a Fleet deployment.');
|
|
132
|
+
let playerSize = playerRaw.data.length;
|
|
133
|
+
let playerBalance = playerRaw.lamports;
|
|
134
|
+
const resizePlayer = (next) => {
|
|
135
|
+
const size = starbasePlayerSize(next);
|
|
136
|
+
const minimum = rent(size);
|
|
137
|
+
const account = Object.freeze({
|
|
138
|
+
account: 'starbasePlayer',
|
|
139
|
+
address: starbasePlayer,
|
|
140
|
+
sizeBefore: playerSize,
|
|
141
|
+
sizeAfter: size,
|
|
142
|
+
rentMinimum: minimum,
|
|
143
|
+
});
|
|
144
|
+
const debit = minimum > playerBalance ? minimum - playerBalance : 0n;
|
|
145
|
+
playerValue = next;
|
|
146
|
+
playerSize = size;
|
|
147
|
+
playerBalance = minimum;
|
|
148
|
+
return { account, debit };
|
|
149
|
+
};
|
|
150
|
+
let freedSlot = 0;
|
|
151
|
+
if (disband !== undefined) {
|
|
152
|
+
if (!disbandRaw)
|
|
153
|
+
refuse(`Fleet ${disband} does not exist. Select an owned Fleet Docked at this Starbase to disband, then estimate again.`);
|
|
154
|
+
const fleet = fleetAccountDefinition.decode(disbandRaw);
|
|
155
|
+
if (fleet.game !== game ||
|
|
156
|
+
fleet.ownerProfile !== profile ||
|
|
157
|
+
fleet.state.kind !== 'docked' ||
|
|
158
|
+
fleet.state.system !== player.system)
|
|
159
|
+
refuse(`Fleet ${disband} is not owned by the StarbasePlayer's Profile and Docked at its Starbase. Dock it there or estimate without disbanding it.`);
|
|
160
|
+
const { account, debit } = resizePlayer(withDisbandedFleet(decodeCanonicalFleet(disbandRaw), playerValue));
|
|
161
|
+
stages.push(Object.freeze({
|
|
162
|
+
kind: 'disband',
|
|
163
|
+
fleet: disband,
|
|
164
|
+
accounts: Object.freeze([account]),
|
|
165
|
+
profileDebit: debit,
|
|
166
|
+
}));
|
|
167
|
+
freedSlot = 1;
|
|
168
|
+
}
|
|
169
|
+
const values = character.modifiers.values;
|
|
170
|
+
if (character.counts.fleets - freedSlot >= values.fleetConcurrency)
|
|
171
|
+
unmet.push({
|
|
172
|
+
kind: 'fleet-slot',
|
|
173
|
+
stage: stages.length,
|
|
174
|
+
message: `The Character uses ${String(character.counts.fleets - freedSlot)} of ${String(values.fleetConcurrency)} Fleet slots${freedSlot ? ' after the disband' : ''}. Disband another Fleet or unlock research that raises Fleet concurrency.`,
|
|
175
|
+
});
|
|
176
|
+
if (targetRaw &&
|
|
177
|
+
(targetRaw.executable ||
|
|
178
|
+
targetRaw.owner !== SYSTEM_PROGRAM ||
|
|
179
|
+
targetRaw.data.length !== 0))
|
|
180
|
+
refuse(`The Fleet address for label ${String(label)} (${String(fleetAddress)}) already holds state. Choose a different label, then estimate again.`);
|
|
181
|
+
const fleetShips = new Map();
|
|
182
|
+
const components = new Map();
|
|
183
|
+
const cargoHold = new Map();
|
|
184
|
+
let fleetSize = emptyDockedFleetSize();
|
|
185
|
+
let fleetBalance = targetRaw?.lamports ?? 0n;
|
|
186
|
+
const resizeFleet = (sizeBefore) => {
|
|
187
|
+
const size = emptyDockedFleetSize({ fleetShips, components, cargoHold });
|
|
188
|
+
const minimum = rent(size);
|
|
189
|
+
const account = Object.freeze({
|
|
190
|
+
account: 'fleet',
|
|
191
|
+
address: fleetAddress,
|
|
192
|
+
sizeBefore,
|
|
193
|
+
sizeAfter: size,
|
|
194
|
+
rentMinimum: minimum,
|
|
195
|
+
});
|
|
196
|
+
const debit = minimum > fleetBalance ? minimum - fleetBalance : 0n;
|
|
197
|
+
fleetSize = size;
|
|
198
|
+
fleetBalance = minimum;
|
|
199
|
+
return { account, debit };
|
|
200
|
+
};
|
|
201
|
+
const created = resizeFleet(0);
|
|
202
|
+
stages.push(Object.freeze({
|
|
203
|
+
kind: 'create',
|
|
204
|
+
accounts: Object.freeze([created.account]),
|
|
205
|
+
profileDebit: created.debit,
|
|
206
|
+
}));
|
|
207
|
+
const classes = [0, 0, 0, 0, 0, 0, 0, 0];
|
|
208
|
+
const held = new Map(playerValue.cargoPod.amounts);
|
|
209
|
+
for (const { shipId, amount } of ships) {
|
|
210
|
+
const stage = stages.length;
|
|
211
|
+
const row = catalog.rows.find((candidate) => candidate.id === shipId);
|
|
212
|
+
if (!row)
|
|
213
|
+
throw new InvalidActionInputError('ships', shipId, 'a ship configuration id in the current Game ship definitions', `Ship configuration ${String(shipId)} is not in the current Game ship definitions. Select a defined configuration, then estimate again.`);
|
|
214
|
+
const size = shipSizeName(row.sizeClass);
|
|
215
|
+
if (row.sizeClass > shipSizeRank(values.maxShipSize))
|
|
216
|
+
unmet.push({
|
|
217
|
+
kind: 'ship-size',
|
|
218
|
+
stage,
|
|
219
|
+
message: `Ship configuration ${String(shipId)} is ${size}, above the Character's maximum ship size ${values.maxShipSize}. Unlock research that raises the maximum ship size.`,
|
|
220
|
+
});
|
|
221
|
+
const missing = row.researchRequirements.filter((tag) => !values.researchTags.includes(tag));
|
|
222
|
+
if (missing.length > 0)
|
|
223
|
+
unmet.push({
|
|
224
|
+
kind: 'research',
|
|
225
|
+
stage,
|
|
226
|
+
message: `Ship configuration ${String(shipId)} requires research tags [${missing.join(', ')}] the Character lacks. Unlock the research nodes that grant them.`,
|
|
227
|
+
});
|
|
228
|
+
classes[row.sizeClass] = classes[row.sizeClass] + Number(amount);
|
|
229
|
+
const points = fleetCapacityPoints(classes);
|
|
230
|
+
if (points > catalog.maxFleetSize)
|
|
231
|
+
throw new InvalidActionInputError('ships', input.ships, `a roster within the Game's ${String(catalog.maxFleetSize)}-point Fleet limit`, `The roster uses ${String(points)} Fleet points by ship configuration ${String(shipId)}, above the Game's ${String(catalog.maxFleetSize)}-point Fleet limit. Reduce the roster, then estimate again.`);
|
|
232
|
+
if (classes[7] > MAX_TITANS_PER_FLEET ||
|
|
233
|
+
classes[6] + classes[7] > MAX_COMMANDERS_AND_TITANS_PER_FLEET)
|
|
234
|
+
throw new InvalidActionInputError('ships', input.ships, `at most ${String(MAX_TITANS_PER_FLEET)} Titan and ${String(MAX_COMMANDERS_AND_TITANS_PER_FLEET)} Commanders and Titans together`, 'A Fleet holds at most one Titan, and at most two Commanders and Titans together. Split the roster across Fleets, then estimate again.');
|
|
235
|
+
if (points > values.fleetSize)
|
|
236
|
+
unmet.push({
|
|
237
|
+
kind: 'fleet-size',
|
|
238
|
+
stage,
|
|
239
|
+
message: `The roster uses ${String(points)} Fleet points after ship configuration ${String(shipId)}, above the Character's Fleet size ${String(values.fleetSize)}. Unlock Fleet-size research or reduce the roster.`,
|
|
240
|
+
});
|
|
241
|
+
const short = [];
|
|
242
|
+
for (const [cargoId, required] of row.componentRequirements) {
|
|
243
|
+
const moved = BigInt(required) * amount;
|
|
244
|
+
const available = held.get(cargoId) ?? 0n;
|
|
245
|
+
if (available < moved)
|
|
246
|
+
short.push(`${String(moved)} of cargo ${String(cargoId)} (holds ${String(available)})`);
|
|
247
|
+
held.set(cargoId, available > moved ? available - moved : 0n);
|
|
248
|
+
components.set(cargoId, (components.get(cargoId) ?? 0n) + moved);
|
|
249
|
+
}
|
|
250
|
+
if (short.length > 0)
|
|
251
|
+
unmet.push({
|
|
252
|
+
kind: 'components',
|
|
253
|
+
stage,
|
|
254
|
+
message: `Ship configuration ${String(shipId)} needs components the StarbasePlayer does not hold: ${short.join(', ')}. Buy, craft or move them to this StarbasePlayer.`,
|
|
255
|
+
});
|
|
256
|
+
fleetShips.set(shipId, (fleetShips.get(shipId) ?? 0n) + amount);
|
|
257
|
+
const fleet = resizeFleet(fleetSize);
|
|
258
|
+
// Assembly settles the StarbasePlayer's rent even when its hangar already
|
|
259
|
+
// holds this configuration, so its balance advances on every assembly.
|
|
260
|
+
const player = resizePlayer(withHangarEntry(playerValue, shipId));
|
|
261
|
+
stages.push(Object.freeze({
|
|
262
|
+
kind: 'add-ships',
|
|
263
|
+
shipId,
|
|
264
|
+
amount,
|
|
265
|
+
accounts: Object.freeze([fleet.account, player.account]),
|
|
266
|
+
profileDebit: fleet.debit + player.debit,
|
|
267
|
+
}));
|
|
268
|
+
}
|
|
269
|
+
const loaded = [...new Set(cargoIds)];
|
|
270
|
+
if (loaded.length > 0) {
|
|
271
|
+
for (const cargoId of loaded)
|
|
272
|
+
cargoHold.set(cargoId, cargoHold.get(cargoId) ?? 0n);
|
|
273
|
+
const fleet = resizeFleet(fleetSize);
|
|
274
|
+
stages.push(Object.freeze({
|
|
275
|
+
kind: 'load-cargo',
|
|
276
|
+
cargoIds: Object.freeze(loaded),
|
|
277
|
+
accounts: Object.freeze([fleet.account]),
|
|
278
|
+
profileDebit: fleet.debit,
|
|
279
|
+
}));
|
|
280
|
+
}
|
|
281
|
+
return Object.freeze(attachJsonSerialization({
|
|
282
|
+
stages: Object.freeze(stages),
|
|
283
|
+
totalProfileDebit: stages.reduce((total, stage) => total + stage.profileDebit, 0n),
|
|
284
|
+
unmetPrerequisites: Object.freeze(unmet.map((p) => Object.freeze(p))),
|
|
285
|
+
profile,
|
|
286
|
+
character: player.character,
|
|
287
|
+
observedSlot: playerRaw.slot,
|
|
288
|
+
rent: Object.freeze({
|
|
289
|
+
lamportsPerByteYear: rent.rentLamportsPerByteYear,
|
|
290
|
+
exemptionThreshold: rent.rentExemptionThreshold,
|
|
291
|
+
}),
|
|
292
|
+
profileUnit: 'lamports',
|
|
293
|
+
transactionFees: 'excluded',
|
|
294
|
+
characterResync: 'excluded',
|
|
295
|
+
}));
|
|
296
|
+
}
|
|
297
|
+
//# sourceMappingURL=deployment-storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployment-storage.js","sourceRoot":"","sources":["../../../src/fleets/actions/deployment-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { Address } from '@solana/kit';
|
|
2
|
+
import type { SageContext } from '../../client/contracts.js';
|
|
3
|
+
import type { PlanAuthorization } from '../../internal/planning/authorization-adapter.js';
|
|
4
|
+
import type { Plan } from '../../planning/index.js';
|
|
5
|
+
/** Explicit address-only authorization for disbanding an owned Docked Fleet.
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* declare const profile: Address, authority: Address;
|
|
9
|
+
* const options: PlanFleetDisbandOptions = { authorization: { profile, authority, keyIndex: 0 } };
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export interface PlanFleetDisbandOptions {
|
|
13
|
+
readonly authorization: PlanAuthorization;
|
|
14
|
+
}
|
|
15
|
+
/** Plans disbanding an owned Docked Fleet, the game's only way to take a Fleet
|
|
16
|
+
* apart. Verified against the program's behaviour: the Fleet's ships return to
|
|
17
|
+
* the StarbasePlayer's hangar where it is Docked, its crew to that
|
|
18
|
+
* StarbasePlayer, and its fuel, ammo, cargo hold and components merge into the
|
|
19
|
+
* StarbasePlayer's cargo. The Character's Fleet slot is freed and the Fleet
|
|
20
|
+
* closes, refunding its rent to the Profile. To replace a composition, disband,
|
|
21
|
+
* confirm, then plan `planCreateFleet` and `planAddShipToFleet` from fresh
|
|
22
|
+
* state; disband and creation for the same Character cannot be combined.
|
|
23
|
+
*
|
|
24
|
+
* The Fleet must be a canonical owned player Fleet, not rented, Docked at a
|
|
25
|
+
* Starbase where the Character has a current StarbasePlayer of its faction,
|
|
26
|
+
* fully repaired, with no warp or scan cooldown running. The program also
|
|
27
|
+
* needs full AP and SP, which recover on timers and stay chain-authoritative.
|
|
28
|
+
* Uses a direct Profile AUTH key or a manageFleet key scoped to SAGE or the
|
|
29
|
+
* Fleet. New hangar entries and cargo lines grow the StarbasePlayer, and the
|
|
30
|
+
* program funds that growth from the Profile vault; that debit is bounded and
|
|
31
|
+
* rechecked before signing, but it is not an atomic on-chain spending cap.
|
|
32
|
+
* Any change to the Fleet after planning refuses the Plan. Simulate before
|
|
33
|
+
* signing, then read the StarbasePlayer back after confirmation.
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts
|
|
36
|
+
* declare const ctx: SageContext, fleet: Address, profile: Address, authority: Address;
|
|
37
|
+
* const plan = await planFleetDisband(ctx, fleet, { authorization: { profile, authority, keyIndex: 0 } });
|
|
38
|
+
* console.log(plan.describe());
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare function planFleetDisband(ctx: SageContext, fleet: Address, input: PlanFleetDisbandOptions): Promise<Plan>;
|
|
42
|
+
//# sourceMappingURL=disband.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disband.d.ts","sourceRoot":"","sources":["../../../src/fleets/actions/disband.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAO7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAS1F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAGpD;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;CAC3C;AAcD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAiFf"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { InvalidActionInputError, SageSdkError } from '../../client/errors.js';
|
|
2
|
+
import { readContextRawAccounts } from '../../client/reconciliation.js';
|
|
3
|
+
import { requireGameAddress } from '../../internal/game-context.js';
|
|
4
|
+
import { fleetAccountDefinition } from '../../internal/c4/fleet.js';
|
|
5
|
+
import { disbandFleetInstruction } from '../../internal/c4/fleet-disband.js';
|
|
6
|
+
import { accountStatePrecondition } from '../../internal/planning/account-state.js';
|
|
7
|
+
import { readDirectOptions } from '../../internal/planning/direct-options.js';
|
|
8
|
+
import { readDisbandStorageAction } from '../../internal/planning/disband-storage-actions.js';
|
|
9
|
+
import { disbandSemantics } from '../../internal/planning/fleet-disband-guard.js';
|
|
10
|
+
import { resolveFleetDisband, validateFleetDisband, } from '../../internal/planning/fleet-disband.js';
|
|
11
|
+
import { planStorageFunding } from '../../internal/planning/storage-actions.js';
|
|
12
|
+
import { buildPlannerPlan } from '../../planning/plan-construction.js';
|
|
13
|
+
function options(input) {
|
|
14
|
+
const { authorization } = readDirectOptions(input, ['authorization'], () => {
|
|
15
|
+
throw new InvalidActionInputError('options', input, 'authorization only; direct authority, Profile and u16 keyIndex', 'Pass address-only disband options. Certificates are unsupported; use a direct Profile key.');
|
|
16
|
+
});
|
|
17
|
+
return { authorization };
|
|
18
|
+
}
|
|
19
|
+
/** Plans disbanding an owned Docked Fleet, the game's only way to take a Fleet
|
|
20
|
+
* apart. Verified against the program's behaviour: the Fleet's ships return to
|
|
21
|
+
* the StarbasePlayer's hangar where it is Docked, its crew to that
|
|
22
|
+
* StarbasePlayer, and its fuel, ammo, cargo hold and components merge into the
|
|
23
|
+
* StarbasePlayer's cargo. The Character's Fleet slot is freed and the Fleet
|
|
24
|
+
* closes, refunding its rent to the Profile. To replace a composition, disband,
|
|
25
|
+
* confirm, then plan `planCreateFleet` and `planAddShipToFleet` from fresh
|
|
26
|
+
* state; disband and creation for the same Character cannot be combined.
|
|
27
|
+
*
|
|
28
|
+
* The Fleet must be a canonical owned player Fleet, not rented, Docked at a
|
|
29
|
+
* Starbase where the Character has a current StarbasePlayer of its faction,
|
|
30
|
+
* fully repaired, with no warp or scan cooldown running. The program also
|
|
31
|
+
* needs full AP and SP, which recover on timers and stay chain-authoritative.
|
|
32
|
+
* Uses a direct Profile AUTH key or a manageFleet key scoped to SAGE or the
|
|
33
|
+
* Fleet. New hangar entries and cargo lines grow the StarbasePlayer, and the
|
|
34
|
+
* program funds that growth from the Profile vault; that debit is bounded and
|
|
35
|
+
* rechecked before signing, but it is not an atomic on-chain spending cap.
|
|
36
|
+
* Any change to the Fleet after planning refuses the Plan. Simulate before
|
|
37
|
+
* signing, then read the StarbasePlayer back after confirmation.
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* declare const ctx: SageContext, fleet: Address, profile: Address, authority: Address;
|
|
41
|
+
* const plan = await planFleetDisband(ctx, fleet, { authorization: { profile, authority, keyIndex: 0 } });
|
|
42
|
+
* console.log(plan.describe());
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export async function planFleetDisband(ctx, fleet, input) {
|
|
46
|
+
const { authorization } = options(input);
|
|
47
|
+
const game = requireGameAddress(ctx);
|
|
48
|
+
const [fleetRaw] = await readContextRawAccounts(ctx, [fleet]);
|
|
49
|
+
if (!fleetRaw || fleetRaw.executable)
|
|
50
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'The selected Fleet is missing or executable. Refresh a valid owned Fleet and replan the disband.', { address: fleet });
|
|
51
|
+
const docked = fleetAccountDefinition.decode(fleetRaw).state;
|
|
52
|
+
if (docked.kind !== 'docked')
|
|
53
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Only a Docked Fleet can disband. Dock it at a Starbase where the Character has a current StarbasePlayer and replan.', { address: fleet });
|
|
54
|
+
const intent = {
|
|
55
|
+
game,
|
|
56
|
+
profile: authorization.profile,
|
|
57
|
+
authority: authorization.authority,
|
|
58
|
+
keyIndex: authorization.keyIndex,
|
|
59
|
+
fleet,
|
|
60
|
+
system: docked.system,
|
|
61
|
+
};
|
|
62
|
+
const resolved = await resolveFleetDisband(intent);
|
|
63
|
+
const addresses = [
|
|
64
|
+
resolved.profile,
|
|
65
|
+
resolved.character,
|
|
66
|
+
resolved.profileFaction,
|
|
67
|
+
resolved.system,
|
|
68
|
+
resolved.starbasePlayer,
|
|
69
|
+
resolved.rent,
|
|
70
|
+
resolved.clock,
|
|
71
|
+
];
|
|
72
|
+
const raw = await readContextRawAccounts(ctx, addresses);
|
|
73
|
+
const accounts = new Map(addresses.map((address, index) => [address, raw[index]]));
|
|
74
|
+
accounts.set(fleet, fleetRaw);
|
|
75
|
+
const { fleet: data } = await validateFleetDisband(intent, resolved, accounts);
|
|
76
|
+
const instruction = disbandFleetInstruction({
|
|
77
|
+
...intent,
|
|
78
|
+
character: resolved.character,
|
|
79
|
+
starbasePlayer: resolved.starbasePlayer,
|
|
80
|
+
});
|
|
81
|
+
const storage = planStorageFunding({
|
|
82
|
+
action: readDisbandStorageAction(instruction, accounts),
|
|
83
|
+
accounts,
|
|
84
|
+
label: 'Fleet disband',
|
|
85
|
+
});
|
|
86
|
+
const ships = data.fleetShips
|
|
87
|
+
.map(({ shipId, quantity }) => `${String(quantity)} of configuration ${String(shipId)}`)
|
|
88
|
+
.join(', ');
|
|
89
|
+
const summary = `Disband Fleet ${data.name} (${fleet}) at StarbasePlayer ${resolved.starbasePlayer}: ${ships || 'no ships'} return to its hangar, ${String(data.crewCount)} crew return to it, and the Fleet's fuel, ammo, cargo hold and components merge into its cargo. The Character's Fleet slot is freed, and the Fleet closes, refunding its ${String(fleetRaw.lamports)}-lamport balance to Profile ${intent.profile}. ${storage.disclosure} The program also needs full AP and SP when the instruction runs. Transaction fees are separate. Simulate before signing; the chain stays authoritative.`;
|
|
90
|
+
return buildPlannerPlan({
|
|
91
|
+
kind: 'fleets.disband',
|
|
92
|
+
summary,
|
|
93
|
+
preconditions: [
|
|
94
|
+
await accountStatePrecondition(fleetRaw, `Fleet ${data.name} keeps its ships, crew, cargo, Docked state, repair and cooldowns as planned.`),
|
|
95
|
+
storage.guard,
|
|
96
|
+
],
|
|
97
|
+
steps: [
|
|
98
|
+
{
|
|
99
|
+
describes: summary,
|
|
100
|
+
instruction,
|
|
101
|
+
signers: [intent.authority],
|
|
102
|
+
semantics: disbandSemantics(instruction),
|
|
103
|
+
},
|
|
104
|
+
],
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=disband.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disband.js","sourceRoot":"","sources":["../../../src/fleets/actions/disband.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { Address } from '../../client/contracts.js';
|
|
2
|
+
import type { Plan } from '../../planning/index.js';
|
|
3
|
+
import { type DockBoundsUnavailableReason } from '../../internal/planning/fleet-dock-funding-guard.js';
|
|
4
|
+
/** Conservative gross Profile storage debit for qualified ordinary docking.
|
|
5
|
+
* Surplus and refunds are not credited; unavailable never implies zero cost.
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* declare const bounds: FleetDockDebitBounds;
|
|
9
|
+
* if (bounds.status === 'available') console.log(bounds.maximumProfileDebit);
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export type FleetDockDebitBounds = {
|
|
13
|
+
readonly status: 'unavailable';
|
|
14
|
+
readonly reason: DockBoundsUnavailableReason | 'not-fleet-dock' | 'multiple-fleet-docks' | 'combined-plan';
|
|
15
|
+
toJSON(): unknown;
|
|
16
|
+
} | {
|
|
17
|
+
readonly status: 'available';
|
|
18
|
+
readonly maximumProfileDebit: bigint;
|
|
19
|
+
readonly profile: Address;
|
|
20
|
+
readonly fleet: Address;
|
|
21
|
+
readonly starbasePlayer: Address;
|
|
22
|
+
readonly profileUnit: 'lamports';
|
|
23
|
+
readonly maximumFleetGrowthBytes: 40;
|
|
24
|
+
readonly transactionFees: 'excluded';
|
|
25
|
+
toJSON(): unknown;
|
|
26
|
+
};
|
|
27
|
+
/** Inspects the persisted docking ceiling without network I/O. Inspect individual
|
|
28
|
+
* Plans before combining distinct Fleets. Fresh pre-sign checks are not an atomic
|
|
29
|
+
* on-chain spending cap; state can change before landing.
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* declare const plan: Plan;
|
|
33
|
+
* const bounds = getFleetDockDebitBounds(plan);
|
|
34
|
+
* if (bounds.status === 'available') console.log(bounds.maximumProfileDebit);
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function getFleetDockDebitBounds(plan: Plan): FleetDockDebitBounds;
|
|
38
|
+
//# sourceMappingURL=dock-bounds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dock-bounds.d.ts","sourceRoot":"","sources":["../../../src/fleets/actions/dock-bounds.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,qDAAqD,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,GAC5B;IACE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,MAAM,EACX,2BAA2B,GAC3B,gBAAgB,GAChB,sBAAsB,GACtB,eAAe,CAAC;IACpB,MAAM,IAAI,OAAO,CAAC;CACnB,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,uBAAuB,EAAE,EAAE,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,UAAU,CAAC;IACrC,MAAM,IAAI,OAAO,CAAC;CACnB,CAAC;AAEN;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,oBAAoB,CA6CxE"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { attachJsonSerialization } from '../../internal/json.js';
|
|
2
|
+
import { InvalidActionInputError } from '../../client/errors.js';
|
|
3
|
+
import { isPlanInstance } from '../../planning/plan-instances.js';
|
|
4
|
+
import { MAXIMUM_DOCK_GROWTH_BYTES, } from '../../internal/planning/fleet-dock-funding-guard.js';
|
|
5
|
+
/** Inspects the persisted docking ceiling without network I/O. Inspect individual
|
|
6
|
+
* Plans before combining distinct Fleets. Fresh pre-sign checks are not an atomic
|
|
7
|
+
* on-chain spending cap; state can change before landing.
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* declare const plan: Plan;
|
|
11
|
+
* const bounds = getFleetDockDebitBounds(plan);
|
|
12
|
+
* if (bounds.status === 'available') console.log(bounds.maximumProfileDebit);
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export function getFleetDockDebitBounds(plan) {
|
|
16
|
+
if (!isPlanInstance(plan))
|
|
17
|
+
throw new InvalidActionInputError('plan', plan, 'a genuine Plan from a planning factory', 'Create or hydrate the Plan through this SDK before reading its debit bounds.');
|
|
18
|
+
const guards = plan.preconditions.filter((g) => g.kind === 'fleet-dock-funding');
|
|
19
|
+
if (guards.length !== 1)
|
|
20
|
+
return Object.freeze(attachJsonSerialization({
|
|
21
|
+
status: 'unavailable',
|
|
22
|
+
reason: guards.length === 0 ? 'not-fleet-dock' : 'multiple-fleet-docks',
|
|
23
|
+
}));
|
|
24
|
+
if (plan.steps.length !== 1)
|
|
25
|
+
return Object.freeze(attachJsonSerialization({
|
|
26
|
+
status: 'unavailable',
|
|
27
|
+
reason: 'combined-plan',
|
|
28
|
+
}));
|
|
29
|
+
const guard = guards[0];
|
|
30
|
+
if (guard.status === 'unavailable')
|
|
31
|
+
return Object.freeze(attachJsonSerialization({
|
|
32
|
+
status: 'unavailable',
|
|
33
|
+
reason: guard.reason,
|
|
34
|
+
}));
|
|
35
|
+
return Object.freeze(attachJsonSerialization({
|
|
36
|
+
status: 'available',
|
|
37
|
+
maximumProfileDebit: guard.maximumProfileDebit,
|
|
38
|
+
profile: guard.profile,
|
|
39
|
+
fleet: guard.address,
|
|
40
|
+
starbasePlayer: guard.starbasePlayer,
|
|
41
|
+
profileUnit: 'lamports',
|
|
42
|
+
maximumFleetGrowthBytes: MAXIMUM_DOCK_GROWTH_BYTES,
|
|
43
|
+
transactionFees: 'excluded',
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=dock-bounds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dock-bounds.js","sourceRoot":"","sources":["../../../src/fleets/actions/dock-bounds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EACL,yBAAyB,GAE1B,MAAM,qDAAqD,CAAC;AAgC7D;;;;;;;;;GASG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAU;IAChD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;QACvB,MAAM,IAAI,uBAAuB,CAC/B,MAAM,EACN,IAAI,EACJ,wCAAwC,EACxC,8EAA8E,CAC/E,CAAC;IACJ,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAoB,CACvC,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QACrB,OAAO,MAAM,CAAC,MAAM,CAClB,uBAAuB,CAAC;YACtB,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,sBAAsB;SAC/D,CAAC,CACZ,CAAC;IACJ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QACzB,OAAO,MAAM,CAAC,MAAM,CAClB,uBAAuB,CAAC;YACtB,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,eAAe;SACf,CAAC,CACZ,CAAC;IACJ,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;IACzB,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa;QAChC,OAAO,MAAM,CAAC,MAAM,CAClB,uBAAuB,CAAC;YACtB,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,KAAK,CAAC,MAAM;SACZ,CAAC,CACZ,CAAC;IACJ,OAAO,MAAM,CAAC,MAAM,CAClB,uBAAuB,CAAC;QACtB,MAAM,EAAE,WAAW;QACnB,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,KAAK,EAAE,KAAK,CAAC,OAAO;QACpB,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,WAAW,EAAE,UAAU;QACvB,uBAAuB,EAAE,yBAAyB;QAClD,eAAe,EAAE,UAAU;KACnB,CAAC,CACZ,CAAC;AACJ,CAAC"}
|