@aephia/atlas-kit 0.6.0-next.10 → 0.6.0-next.101
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 +3 -1
- package/dist/cargo/actions/deposit.d.ts +1 -1
- package/dist/cargo/actions/deposit.d.ts.map +1 -1
- package/dist/cargo/actions/deposit.js +29 -15
- package/dist/cargo/actions/deposit.js.map +1 -1
- package/dist/cargo/actions/index.d.ts.map +1 -1
- package/dist/cargo/actions/index.js +11 -16
- package/dist/cargo/actions/index.js.map +1 -1
- package/dist/cargo/actions/wallet-token.d.ts +1 -1
- package/dist/cargo/actions/wallet-token.d.ts.map +1 -1
- package/dist/cargo/actions/wallet-token.js +1 -9
- package/dist/cargo/actions/wallet-token.js.map +1 -1
- package/dist/cargo/actions/withdrawal.d.ts.map +1 -1
- package/dist/cargo/actions/withdrawal.js +32 -30
- package/dist/cargo/actions/withdrawal.js.map +1 -1
- 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 +138 -112
- 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 +105 -68
- 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 +102 -109
- 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 +45 -16
- package/dist/crafting/index.js.map +1 -1
- package/dist/factions/actions/index.d.ts +1 -0
- package/dist/factions/actions/index.d.ts.map +1 -1
- package/dist/factions/actions/index.js +2 -1
- package/dist/factions/actions/index.js.map +1 -1
- package/dist/factions/index.d.ts +1 -1
- package/dist/factions/index.d.ts.map +1 -1
- package/dist/factions/index.js +14 -8
- 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 +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 +37 -16
- package/dist/fleets/actions/index.d.ts.map +1 -1
- package/dist/fleets/actions/index.js +246 -154
- 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.map +1 -1
- package/dist/fleets/actions/ship-import.js +43 -14
- package/dist/fleets/actions/ship-import.js.map +1 -1
- 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 +2 -0
- package/dist/identity/actions/create-profile.d.ts.map +1 -1
- package/dist/identity/actions/create-profile.js +14 -9
- package/dist/identity/actions/create-profile.js.map +1 -1
- package/dist/identity/actions/index.d.ts +3 -3
- package/dist/identity/actions/index.d.ts.map +1 -1
- package/dist/identity/actions/index.js +50 -28
- package/dist/identity/actions/index.js.map +1 -1
- package/dist/identity/index.d.ts +12 -2
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +10 -1
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/permissions.d.ts +19 -6
- package/dist/identity/permissions.d.ts.map +1 -1
- package/dist/identity/permissions.js +27 -10
- package/dist/identity/permissions.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 +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/account-decoding.d.ts +12 -0
- package/dist/internal/c4/account-decoding.d.ts.map +1 -0
- package/dist/internal/c4/account-decoding.js +36 -0
- package/dist/internal/c4/account-decoding.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/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 +155 -0
- package/dist/internal/c4/character.d.ts.map +1 -0
- package/dist/internal/c4/character.js +79 -0
- package/dist/internal/c4/character.js.map +1 -0
- package/dist/internal/c4/claim-stake-configuration.js +4 -2
- package/dist/internal/c4/claim-stake-configuration.js.map +1 -1
- 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 +30 -41
- 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 +10 -52
- 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 +61 -49
- 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-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/faction.d.ts +18 -0
- package/dist/internal/c4/faction.d.ts.map +1 -0
- package/dist/internal/c4/faction.js +18 -0
- package/dist/internal/c4/faction.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 +29 -156
- 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 +20 -3
- 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 +37 -29
- 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 +47 -12
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +110 -21
- package/dist/internal/c4/game.js.map +1 -1
- package/dist/internal/c4/identity.d.ts +2 -152
- package/dist/internal/c4/identity.d.ts.map +1 -1
- package/dist/internal/c4/identity.js +6 -110
- 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/loot-layout.js +1 -1
- package/dist/internal/c4/loot-layout.js.map +1 -1
- 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 +14 -43
- 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/pda.js +1 -1
- package/dist/internal/c4/pda.js.map +1 -1
- package/dist/internal/c4/profile-faction.d.ts.map +1 -1
- package/dist/internal/c4/profile-faction.js +11 -21
- package/dist/internal/c4/profile-faction.js.map +1 -1
- package/dist/internal/c4/profile-permissions.d.ts +5 -3
- package/dist/internal/c4/profile-permissions.d.ts.map +1 -1
- package/dist/internal/c4/profile-permissions.js +61 -8
- 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 +0 -27
- package/dist/internal/c4/rewards.d.ts.map +1 -1
- package/dist/internal/c4/rewards.js +16 -41
- 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 +261 -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 +7 -36
- 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 +12 -62
- package/dist/internal/c4/starbase.js.map +1 -1
- 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 +67 -48
- 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/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 +45 -37
- package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
- package/dist/internal/planning/authorization-adapter.js +165 -76
- 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 +87 -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 +0 -2
- package/dist/internal/planning/faction-enrollment.d.ts.map +1 -1
- package/dist/internal/planning/faction-enrollment.js +1 -22
- 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 +106 -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 +109 -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 +132 -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 +167 -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 +138 -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 +127 -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 +86 -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 +197 -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 +245 -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 +53 -0
- package/dist/internal/planning/ship-import-funding.js.map +1 -0
- package/dist/internal/planning/ship-token.d.ts +0 -1
- package/dist/internal/planning/ship-token.d.ts.map +1 -1
- package/dist/internal/planning/ship-token.js +2 -5
- package/dist/internal/planning/ship-token.js.map +1 -1
- 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 +8 -21
- 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 +143 -37
- 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 +492 -40
- package/dist/planning/execution.js.map +1 -1
- package/dist/planning/index.d.ts +196 -149
- package/dist/planning/index.d.ts.map +1 -1
- package/dist/planning/index.js +910 -121
- 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 +7 -12
- package/dist/registry/cargo.d.ts.map +1 -1
- package/dist/registry/cargo.js +19 -19
- 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 +10 -2
- package/dist/registry/onboarding.d.ts.map +1 -1
- package/dist/registry/onboarding.js +20 -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.js +19 -19
- 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/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 +5 -2
- package/dist/scanning/index.d.ts.map +1 -1
- package/dist/scanning/index.js +13 -9
- 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/starbases/actions/index.js +1 -1
- package/dist/starbases/actions/index.js.map +1 -1
- 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 +10 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fleet-arrival.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/fleet-arrival.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,MAAM,mBAAmB,GAC3B;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,EAAE,EAAE,uBAAuB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,EAAE,EAAE,uBAAuB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEN,oFAAoF;AACpF,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,UAAU;;;;;;;GAuC3D"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { getFleetDecoder } from '@staratlas/dev-sage';
|
|
2
|
+
import { fleetAccountDefinition, deriveFleetAddress } from './fleet.js';
|
|
3
|
+
/** Preserve generated fixed-point fields without round-tripping display numbers. */
|
|
4
|
+
export async function decodeFleetArrival(account) {
|
|
5
|
+
// Existing adapter owns exact account validation and retained PDA label seeds.
|
|
6
|
+
const fleet = fleetAccountDefinition.decode(account);
|
|
7
|
+
const canonical = await deriveFleetAddress(fleet);
|
|
8
|
+
const exact = getFleetDecoder().decode(account.data);
|
|
9
|
+
const coordinates = (values) => ({ x: values[0].raw, y: values[1].raw });
|
|
10
|
+
let journey;
|
|
11
|
+
if (exact.state.__kind === 'MoveSubwarp') {
|
|
12
|
+
const value = exact.state.fields[0].journey;
|
|
13
|
+
journey = {
|
|
14
|
+
kind: 'subwarp',
|
|
15
|
+
from: coordinates(value.from),
|
|
16
|
+
to: coordinates(value.to),
|
|
17
|
+
departure: value.departureTime,
|
|
18
|
+
duration: value.duration.raw,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
else if (exact.state.__kind === 'MoveWarp') {
|
|
22
|
+
const value = exact.state.fields[0];
|
|
23
|
+
journey = {
|
|
24
|
+
kind: 'warp',
|
|
25
|
+
from: coordinates(exact.location),
|
|
26
|
+
to: coordinates(value.to),
|
|
27
|
+
departure: value.warpStart,
|
|
28
|
+
arrival: value.warpFinish,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
game: fleet.game,
|
|
33
|
+
profile: fleet.ownerProfile,
|
|
34
|
+
canonical,
|
|
35
|
+
subProfile: fleet.subProfile,
|
|
36
|
+
journey,
|
|
37
|
+
lowFuel: exact.state.__kind === 'MoveSubwarp' &&
|
|
38
|
+
exact.fuelTank.amount << 56n <
|
|
39
|
+
exact.state.fields[0].totalFuelExpenditure.raw,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=fleet-arrival.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fleet-arrival.js","sourceRoot":"","sources":["../../../src/internal/c4/fleet-arrival.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAsBxE,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAmB;IAC1D,+EAA+E;IAC/E,MAAM,KAAK,GAAG,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,CAClB,MAA6B,EACJ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACzE,IAAI,OAAwC,CAAC;IAC7C,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC5C,OAAO,GAAG;YACR,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;YAC7B,EAAE,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,SAAS,EAAE,KAAK,CAAC,aAAa;YAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG;SAC7B,CAAC;IACJ,CAAC;SAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpC,OAAO,GAAG;YACR,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC;YACjC,EAAE,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,KAAK,CAAC,UAAU;SAC1B,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,YAAY;QAC3B,SAAS;QACT,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,OAAO;QACP,OAAO,EACL,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,aAAa;YACpC,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG;gBAC1B,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG;KACnD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type Address, type Instruction } from '@solana/kit';
|
|
2
|
+
import type { FleetCreationAccounts, FleetCreationIntent } from '../planning/fleet-creation.js';
|
|
3
|
+
export declare function deriveFleetCreationAddress(game: Address, profile: Address, label: string): Promise<Address>;
|
|
4
|
+
/** Allocation is computed from the pinned empty Docked wire shape, not a decoder minimum or captured rent rate. Fixed-size fields use zero values only for sizing. */
|
|
5
|
+
export declare function emptyDockedFleetSize(): number;
|
|
6
|
+
export declare function createFleetInstruction(input: FleetCreationIntent, accounts: FleetCreationAccounts): Instruction;
|
|
7
|
+
//# sourceMappingURL=fleet-creation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fleet-creation.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/fleet-creation.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAQrB,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,+BAA+B,CAAC;AACvC,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC,CAclB;AACD,sKAAsK;AACtK,wBAAgB,oBAAoB,IAAI,MAAM,CAqI7C;AACD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,mBAAmB,EAC1B,QAAQ,EAAE,qBAAqB,GAC9B,WAAW,CA2Bb"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { AccountRole, getAddressEncoder, getProgramDerivedAddress, } from '@solana/kit';
|
|
2
|
+
import { SAGE_PROGRAM_ADDRESS, getNameEncoder, getFleetEncoder, getCreateFleetInstructionDataEncoder, } from '@staratlas/dev-sage';
|
|
3
|
+
import { PLAYER_PROFILE_PROGRAM_ADDRESS } from '@staratlas/dev-player-profile';
|
|
4
|
+
export async function deriveFleetCreationAddress(game, profile, label) {
|
|
5
|
+
const name = getNameEncoder().encode(label);
|
|
6
|
+
return (await getProgramDerivedAddress({
|
|
7
|
+
programAddress: SAGE_PROGRAM_ADDRESS,
|
|
8
|
+
seeds: [
|
|
9
|
+
new TextEncoder().encode('Fleet'),
|
|
10
|
+
getAddressEncoder().encode(game),
|
|
11
|
+
getAddressEncoder().encode(profile),
|
|
12
|
+
name.slice(0, 32),
|
|
13
|
+
name.slice(32),
|
|
14
|
+
],
|
|
15
|
+
}))[0];
|
|
16
|
+
}
|
|
17
|
+
/** Allocation is computed from the pinned empty Docked wire shape, not a decoder minimum or captured rent rate. Fixed-size fields use zero values only for sizing. */
|
|
18
|
+
export function emptyDockedFleetSize() {
|
|
19
|
+
const zero = '11111111111111111111111111111111';
|
|
20
|
+
const cargo = { seqId: 0, storageCost: 0n, amounts: new Map() };
|
|
21
|
+
return getFleetEncoder().encode({
|
|
22
|
+
version: 0,
|
|
23
|
+
bump: 0,
|
|
24
|
+
gameId: zero,
|
|
25
|
+
ownerProfile: zero,
|
|
26
|
+
subProfile: zero,
|
|
27
|
+
subProfileInvalidator: zero,
|
|
28
|
+
faction: 0,
|
|
29
|
+
npcFactionId: 0,
|
|
30
|
+
fleetLabel: '',
|
|
31
|
+
shipCounts: {
|
|
32
|
+
total: 0,
|
|
33
|
+
xxSmall: 0,
|
|
34
|
+
xSmall: 0,
|
|
35
|
+
small: 0,
|
|
36
|
+
medium: 0,
|
|
37
|
+
large: 0,
|
|
38
|
+
capital: 0,
|
|
39
|
+
commander: 0,
|
|
40
|
+
titan: 0,
|
|
41
|
+
},
|
|
42
|
+
warpCooldownExpiresAt: 0n,
|
|
43
|
+
scanCooldownExpiresAt: 0n,
|
|
44
|
+
stats: {
|
|
45
|
+
movementStats: {
|
|
46
|
+
subwarpSpeed: 0,
|
|
47
|
+
warpSpeed: 0,
|
|
48
|
+
warpLaneSpeed: 0,
|
|
49
|
+
maxWarpDistance: 0,
|
|
50
|
+
warpCoolDown: 0,
|
|
51
|
+
subwarpFuelConsumptionRate: 0,
|
|
52
|
+
warpFuelConsumptionRate: 0,
|
|
53
|
+
planetExitFuelAmount: 0,
|
|
54
|
+
warpXpRate: 0,
|
|
55
|
+
subwarpXpRate: 0,
|
|
56
|
+
},
|
|
57
|
+
cargoStats: {
|
|
58
|
+
cargoCapacity: 0,
|
|
59
|
+
fuelCapacity: 0,
|
|
60
|
+
ammoCapacity: 0,
|
|
61
|
+
ammoConsumptionRate: 0,
|
|
62
|
+
foodConsumptionRate: 0,
|
|
63
|
+
miningRate: 0,
|
|
64
|
+
loadRate: 0,
|
|
65
|
+
},
|
|
66
|
+
combatStats: {
|
|
67
|
+
ap: 0,
|
|
68
|
+
hp: 0,
|
|
69
|
+
sp: 0,
|
|
70
|
+
ammoConsumptionRate: 0,
|
|
71
|
+
apRegenRate: 0,
|
|
72
|
+
shieldRechargeRate: 0,
|
|
73
|
+
repairRate: 0,
|
|
74
|
+
repairAbility: 0,
|
|
75
|
+
repairEfficiency: 0,
|
|
76
|
+
repairCost: 0,
|
|
77
|
+
lootRate: 0,
|
|
78
|
+
shieldBreakDelay: 0,
|
|
79
|
+
warpSpoolTime: 0,
|
|
80
|
+
damageKinetic: 0,
|
|
81
|
+
damageKineticVariance: 0,
|
|
82
|
+
damageEnergy: 0,
|
|
83
|
+
damageEnergyVariance: 0,
|
|
84
|
+
damageEmp: 0,
|
|
85
|
+
damageEmpVariance: 0,
|
|
86
|
+
damageSuperchill: 0,
|
|
87
|
+
damageSuperchillVariance: 0,
|
|
88
|
+
damageShockwave: 0,
|
|
89
|
+
damageShockwaveVariance: 0,
|
|
90
|
+
damageGraygoo: 0,
|
|
91
|
+
damageGraygooVariance: 0,
|
|
92
|
+
damageHeat: 0,
|
|
93
|
+
damageHeatVariance: 0,
|
|
94
|
+
damageBomb: 0,
|
|
95
|
+
damageBombVariance: 0,
|
|
96
|
+
counterDecoy: 0,
|
|
97
|
+
counterEnergyCapacitor: 0,
|
|
98
|
+
counterFireSuppressor: 0,
|
|
99
|
+
counterFlare: 0,
|
|
100
|
+
counterHealingNanobots: 0,
|
|
101
|
+
counterMine: 0,
|
|
102
|
+
counterNegativeRemPlating: 0,
|
|
103
|
+
counterWarmingPlates: 0,
|
|
104
|
+
counterFaradayShielding: 0,
|
|
105
|
+
stealthPower: 0,
|
|
106
|
+
hitChance: 0,
|
|
107
|
+
aimAbility: 0,
|
|
108
|
+
critChance: 0,
|
|
109
|
+
critMultiplier: 0,
|
|
110
|
+
fuelConsumptionRate: 0,
|
|
111
|
+
missileDamage: 0,
|
|
112
|
+
missileFireRate: 0,
|
|
113
|
+
},
|
|
114
|
+
miscStats: {
|
|
115
|
+
requiredCrew: 0,
|
|
116
|
+
passengerCapacity: 0,
|
|
117
|
+
respawnTimeWithoutFee: 0,
|
|
118
|
+
respawnTimeWithFee: 0,
|
|
119
|
+
recoveryFee: 0,
|
|
120
|
+
scanCoolDown: 0,
|
|
121
|
+
scanPower: 0,
|
|
122
|
+
scanCost: 0,
|
|
123
|
+
scanBonus: 0,
|
|
124
|
+
lpValue: 0,
|
|
125
|
+
medallionValue: 0,
|
|
126
|
+
xpValue: 0,
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
fuelTank: { cargoId: 0, amount: 0n },
|
|
130
|
+
ammoBank: { cargoId: 0, amount: 0n },
|
|
131
|
+
crewCount: 0,
|
|
132
|
+
rentedCrew: 0,
|
|
133
|
+
shipDefinitionsSeqId: 0,
|
|
134
|
+
ap: 0,
|
|
135
|
+
sp: 0,
|
|
136
|
+
hp: 0,
|
|
137
|
+
pendingHp: 0,
|
|
138
|
+
stance: { ammoUsage: 0 },
|
|
139
|
+
apReloadExpiresAt: 0n,
|
|
140
|
+
shieldBreakDelayExpiresAt: 0n,
|
|
141
|
+
lastCombatUpdate: 0n,
|
|
142
|
+
location: [0, 0],
|
|
143
|
+
lastUpdateAt: 0n,
|
|
144
|
+
fleetShips: new Map(),
|
|
145
|
+
respawningCargo: cargo,
|
|
146
|
+
components: cargo,
|
|
147
|
+
cargoHold: cargo,
|
|
148
|
+
activeStimulants: new Map(),
|
|
149
|
+
state: { __kind: 'Docked', fields: [{ system: zero, systemSeqId: 0n }] },
|
|
150
|
+
}).length;
|
|
151
|
+
}
|
|
152
|
+
export function createFleetInstruction(input, accounts) {
|
|
153
|
+
return {
|
|
154
|
+
programAddress: SAGE_PROGRAM_ADDRESS,
|
|
155
|
+
accounts: [
|
|
156
|
+
{ address: input.authority, role: AccountRole.READONLY_SIGNER },
|
|
157
|
+
{ address: input.profile, role: AccountRole.WRITABLE },
|
|
158
|
+
{ address: SAGE_PROGRAM_ADDRESS, role: AccountRole.READONLY },
|
|
159
|
+
{
|
|
160
|
+
address: PLAYER_PROFILE_PROGRAM_ADDRESS,
|
|
161
|
+
role: AccountRole.READONLY,
|
|
162
|
+
},
|
|
163
|
+
{ address: accounts.profileFaction, role: AccountRole.READONLY },
|
|
164
|
+
{ address: accounts.character, role: AccountRole.WRITABLE },
|
|
165
|
+
{ address: input.game, role: AccountRole.READONLY },
|
|
166
|
+
{ address: accounts.fleet, role: AccountRole.WRITABLE },
|
|
167
|
+
{ address: input.system, role: AccountRole.READONLY },
|
|
168
|
+
{ address: accounts.starbasePlayer, role: AccountRole.WRITABLE },
|
|
169
|
+
{
|
|
170
|
+
address: '11111111111111111111111111111111',
|
|
171
|
+
role: AccountRole.READONLY,
|
|
172
|
+
},
|
|
173
|
+
],
|
|
174
|
+
data: getCreateFleetInstructionDataEncoder().encode({
|
|
175
|
+
fleetLabel: input.label,
|
|
176
|
+
keyIndex: input.keyIndex,
|
|
177
|
+
}),
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=fleet-creation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fleet-creation.js","sourceRoot":"","sources":["../../../src/internal/c4/fleet-creation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,wBAAwB,GAGzB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,oCAAoC,GACrC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAK/E,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,IAAa,EACb,OAAgB,EAChB,KAAa;IAEb,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5C,OAAO,CACL,MAAM,wBAAwB,CAAC;QAC7B,cAAc,EAAE,oBAAoB;QACpC,KAAK,EAAE;YACL,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;YACjC,iBAAiB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;YAChC,iBAAiB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;SACf;KACF,CAAC,CACH,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AACD,sKAAsK;AACtK,MAAM,UAAU,oBAAoB;IAClC,MAAM,IAAI,GAAG,kCAA6C,CAAC;IAC3D,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;IAChE,OAAO,eAAe,EAAE,CAAC,MAAM,CAAC;QAC9B,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,IAAI;QAChB,qBAAqB,EAAE,IAAI;QAC3B,OAAO,EAAE,CAAC;QACV,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,EAAE;QACd,UAAU,EAAE;YACV,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,CAAC;YACZ,KAAK,EAAE,CAAC;SACT;QACD,qBAAqB,EAAE,EAAE;QACzB,qBAAqB,EAAE,EAAE;QACzB,KAAK,EAAE;YACL,aAAa,EAAE;gBACb,YAAY,EAAE,CAAC;gBACf,SAAS,EAAE,CAAC;gBACZ,aAAa,EAAE,CAAC;gBAChB,eAAe,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC;gBACf,0BAA0B,EAAE,CAAC;gBAC7B,uBAAuB,EAAE,CAAC;gBAC1B,oBAAoB,EAAE,CAAC;gBACvB,UAAU,EAAE,CAAC;gBACb,aAAa,EAAE,CAAC;aACjB;YACD,UAAU,EAAE;gBACV,aAAa,EAAE,CAAC;gBAChB,YAAY,EAAE,CAAC;gBACf,YAAY,EAAE,CAAC;gBACf,mBAAmB,EAAE,CAAC;gBACtB,mBAAmB,EAAE,CAAC;gBACtB,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,CAAC;aACZ;YACD,WAAW,EAAE;gBACX,EAAE,EAAE,CAAC;gBACL,EAAE,EAAE,CAAC;gBACL,EAAE,EAAE,CAAC;gBACL,mBAAmB,EAAE,CAAC;gBACtB,WAAW,EAAE,CAAC;gBACd,kBAAkB,EAAE,CAAC;gBACrB,UAAU,EAAE,CAAC;gBACb,aAAa,EAAE,CAAC;gBAChB,gBAAgB,EAAE,CAAC;gBACnB,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,CAAC;gBACX,gBAAgB,EAAE,CAAC;gBACnB,aAAa,EAAE,CAAC;gBAChB,aAAa,EAAE,CAAC;gBAChB,qBAAqB,EAAE,CAAC;gBACxB,YAAY,EAAE,CAAC;gBACf,oBAAoB,EAAE,CAAC;gBACvB,SAAS,EAAE,CAAC;gBACZ,iBAAiB,EAAE,CAAC;gBACpB,gBAAgB,EAAE,CAAC;gBACnB,wBAAwB,EAAE,CAAC;gBAC3B,eAAe,EAAE,CAAC;gBAClB,uBAAuB,EAAE,CAAC;gBAC1B,aAAa,EAAE,CAAC;gBAChB,qBAAqB,EAAE,CAAC;gBACxB,UAAU,EAAE,CAAC;gBACb,kBAAkB,EAAE,CAAC;gBACrB,UAAU,EAAE,CAAC;gBACb,kBAAkB,EAAE,CAAC;gBACrB,YAAY,EAAE,CAAC;gBACf,sBAAsB,EAAE,CAAC;gBACzB,qBAAqB,EAAE,CAAC;gBACxB,YAAY,EAAE,CAAC;gBACf,sBAAsB,EAAE,CAAC;gBACzB,WAAW,EAAE,CAAC;gBACd,yBAAyB,EAAE,CAAC;gBAC5B,oBAAoB,EAAE,CAAC;gBACvB,uBAAuB,EAAE,CAAC;gBAC1B,YAAY,EAAE,CAAC;gBACf,SAAS,EAAE,CAAC;gBACZ,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,CAAC;gBACb,cAAc,EAAE,CAAC;gBACjB,mBAAmB,EAAE,CAAC;gBACtB,aAAa,EAAE,CAAC;gBAChB,eAAe,EAAE,CAAC;aACnB;YACD,SAAS,EAAE;gBACT,YAAY,EAAE,CAAC;gBACf,iBAAiB,EAAE,CAAC;gBACpB,qBAAqB,EAAE,CAAC;gBACxB,kBAAkB,EAAE,CAAC;gBACrB,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,CAAC;gBACf,SAAS,EAAE,CAAC;gBACZ,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;gBACV,cAAc,EAAE,CAAC;gBACjB,OAAO,EAAE,CAAC;aACX;SACF;QACD,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACpC,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACpC,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,CAAC;QACb,oBAAoB,EAAE,CAAC;QACvB,EAAE,EAAE,CAAC;QACL,EAAE,EAAE,CAAC;QACL,EAAE,EAAE,CAAC;QACL,SAAS,EAAE,CAAC;QACZ,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;QACxB,iBAAiB,EAAE,EAAE;QACrB,yBAAyB,EAAE,EAAE;QAC7B,gBAAgB,EAAE,EAAE;QACpB,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAChB,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,IAAI,GAAG,EAAE;QACrB,eAAe,EAAE,KAAK;QACtB,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,KAAK;QAChB,gBAAgB,EAAE,IAAI,GAAG,EAAE;QAC3B,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAAE;KACzE,CAAC,CAAC,MAAM,CAAC;AACZ,CAAC;AACD,MAAM,UAAU,sBAAsB,CACpC,KAA0B,EAC1B,QAA+B;IAE/B,OAAO;QACL,cAAc,EAAE,oBAAoB;QACpC,QAAQ,EAAE;YACR,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,eAAe,EAAE;YAC/D,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE;YACtD,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE;YAC7D;gBACE,OAAO,EAAE,8BAA8B;gBACvC,IAAI,EAAE,WAAW,CAAC,QAAQ;aAC3B;YACD,EAAE,OAAO,EAAE,QAAQ,CAAC,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE;YAChE,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE;YAC3D,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE;YACnD,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE;YACvD,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE;YACrD,EAAE,OAAO,EAAE,QAAQ,CAAC,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE;YAChE;gBACE,OAAO,EAAE,kCAA6C;gBACtD,IAAI,EAAE,WAAW,CAAC,QAAQ;aAC3B;SACF;QACD,IAAI,EAAE,oCAAoC,EAAE,CAAC,MAAM,CAAC;YAClD,UAAU,EAAE,KAAK,CAAC,KAAK;YACvB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC;KACH,CAAC;AACJ,CAAC"}
|
|
@@ -4,9 +4,18 @@ import type { C4AccountAdapter } from './adapter.js';
|
|
|
4
4
|
export interface FleetCrewBindingAccountData {
|
|
5
5
|
readonly fleet: Address;
|
|
6
6
|
readonly ownerProfile: Address;
|
|
7
|
+
/** Exact empty body created by the deployed fungible-only roster path. */
|
|
8
|
+
readonly isNeutral: boolean;
|
|
7
9
|
}
|
|
8
10
|
/** Minimal validated internal definition; no public crew domain is exposed. */
|
|
9
11
|
export declare const fleetCrewBindingAccountDefinition: C4AccountAdapter<FleetCrewBindingAccountData>;
|
|
12
|
+
/**
|
|
13
|
+
* Matches validated binding identity: only the exact all-zero 395-byte body
|
|
14
|
+
* waives stored Fleet/Profile equality. Alternative empty encodings (including
|
|
15
|
+
* nonzero version, bump or lastActionEpoch) are unsupported. Callers must still
|
|
16
|
+
* require the canonical Fleet-only PDA; neutral status never waives that check.
|
|
17
|
+
*/
|
|
18
|
+
export declare function matchesFleetCrewBindingIdentity(data: FleetCrewBindingAccountData, fleet: Address, ownerProfile: Address): boolean;
|
|
10
19
|
/** Derives the canonical Fleet-only FleetCrewBinding PDA. */
|
|
11
20
|
export declare function deriveFleetCrewBindingAddress(fleet: Address): Promise<Address>;
|
|
12
21
|
//# sourceMappingURL=fleet-crew-binding.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-crew-binding.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/fleet-crew-binding.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,2BAA2B,CAAC;AAMrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAUrD,gFAAgF;AAChF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"fleet-crew-binding.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/fleet-crew-binding.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,2BAA2B,CAAC;AAMrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAUrD,gFAAgF;AAChF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAgCD,+EAA+E;AAC/E,eAAO,MAAM,iCAAiC,EAAE,gBAAgB,CAAC,2BAA2B,CAoBxF,CAAC;AAEL;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,2BAA2B,EACjC,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,OAAO,GACpB,OAAO,CAKT;AAED,6DAA6D;AAC7D,wBAAsB,6BAA6B,CACjD,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,OAAO,CAAC,CASlB"}
|
|
@@ -2,10 +2,11 @@ import { FLEET_CREW_BINDING_DISCRIMINATOR, SAGE_PROGRAM_ADDRESS, getFleetCrewBin
|
|
|
2
2
|
import { getAddressEncoder, getBytesEncoder, getProgramDerivedAddress, } from '@solana/kit';
|
|
3
3
|
import { AccountDecodeError, InvalidAccountOwnerError, InvalidDiscriminatorError, } from '../../client/errors.js';
|
|
4
4
|
const FLEET_CREW_BINDING_ACCOUNT_LENGTH = 403;
|
|
5
|
-
const FLEET_CREW_BINDING_PDA_PREFIX = new Uint8Array([
|
|
5
|
+
const FLEET_CREW_BINDING_PDA_PREFIX = /* @__PURE__ */ new Uint8Array([
|
|
6
6
|
70, 108, 101, 101, 116, 67, 114, 101, 119, 66, 105, 110, 100, 105, 110, 103,
|
|
7
7
|
]);
|
|
8
|
-
const DISCRIMINATOR = Object.freeze(
|
|
8
|
+
const DISCRIMINATOR = /* @__PURE__ */ Object.freeze(
|
|
9
|
+
/* @__PURE__ */ Array.from(FLEET_CREW_BINDING_DISCRIMINATOR));
|
|
9
10
|
function validateFleetCrewBindingAccount(account) {
|
|
10
11
|
if (account.owner !== SAGE_PROGRAM_ADDRESS) {
|
|
11
12
|
throw new InvalidAccountOwnerError('fleetCrewBinding', account.address, SAGE_PROGRAM_ADDRESS, account.owner);
|
|
@@ -22,13 +23,19 @@ function decodeExactly(account) {
|
|
|
22
23
|
return getFleetCrewBindingDecoder().decode(account.data);
|
|
23
24
|
}
|
|
24
25
|
/** Minimal validated internal definition; no public crew domain is exposed. */
|
|
25
|
-
export const fleetCrewBindingAccountDefinition =
|
|
26
|
+
export const fleetCrewBindingAccountDefinition =
|
|
27
|
+
/* @__PURE__ */ Object.freeze({
|
|
26
28
|
decode(account) {
|
|
27
29
|
validateFleetCrewBindingAccount(account);
|
|
28
30
|
const decoded = decodeExactly(account);
|
|
29
31
|
return {
|
|
30
32
|
fleet: decoded.fleet,
|
|
31
33
|
ownerProfile: decoded.ownerProfile,
|
|
34
|
+
// #489: zero identities alone are insufficient; the entire validated
|
|
35
|
+
// body must match the chain-created neutral encoding.
|
|
36
|
+
isNeutral: account.data
|
|
37
|
+
.subarray(DISCRIMINATOR.length)
|
|
38
|
+
.every((byte) => byte === 0),
|
|
32
39
|
};
|
|
33
40
|
},
|
|
34
41
|
discriminator: DISCRIMINATOR,
|
|
@@ -37,6 +44,16 @@ export const fleetCrewBindingAccountDefinition = Object.freeze({
|
|
|
37
44
|
type: 'fleetCrewBinding',
|
|
38
45
|
validate: validateFleetCrewBindingAccount,
|
|
39
46
|
});
|
|
47
|
+
/**
|
|
48
|
+
* Matches validated binding identity: only the exact all-zero 395-byte body
|
|
49
|
+
* waives stored Fleet/Profile equality. Alternative empty encodings (including
|
|
50
|
+
* nonzero version, bump or lastActionEpoch) are unsupported. Callers must still
|
|
51
|
+
* require the canonical Fleet-only PDA; neutral status never waives that check.
|
|
52
|
+
*/
|
|
53
|
+
export function matchesFleetCrewBindingIdentity(data, fleet, ownerProfile) {
|
|
54
|
+
return (data.isNeutral ||
|
|
55
|
+
(data.fleet === fleet && data.ownerProfile === ownerProfile));
|
|
56
|
+
}
|
|
40
57
|
/** Derives the canonical Fleet-only FleetCrewBinding PDA. */
|
|
41
58
|
export async function deriveFleetCrewBindingAddress(fleet) {
|
|
42
59
|
const [address] = await getProgramDerivedAddress({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-crew-binding.js","sourceRoot":"","sources":["../../../src/internal/c4/fleet-crew-binding.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,oBAAoB,EACpB,0BAA0B,GAE3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAGhC,MAAM,iCAAiC,GAAG,GAAG,CAAC;AAC9C,MAAM,6BAA6B,GAAG,IAAI,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"fleet-crew-binding.js","sourceRoot":"","sources":["../../../src/internal/c4/fleet-crew-binding.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type Address, type Instruction } from '@solana/kit';
|
|
2
|
+
import { SAGE_PROGRAM_ADDRESS } from '@staratlas/dev-sage';
|
|
3
|
+
import type { RawAccount } from '../../client/contracts.js';
|
|
4
|
+
import type { FleetRespawnIntent } from '../planning/fleet-respawn.js';
|
|
5
|
+
export { SAGE_PROGRAM_ADDRESS };
|
|
6
|
+
/** Sizes only the audited state transition while preserving every stored variable collection. */
|
|
7
|
+
export declare function fleetRespawnSize(raw: RawAccount, phase: FleetRespawnIntent['phase'], system: Address): number;
|
|
8
|
+
export interface FleetRespawnAccounts {
|
|
9
|
+
readonly character: Address;
|
|
10
|
+
readonly regionTracker: Address;
|
|
11
|
+
readonly currencyCache: Address;
|
|
12
|
+
readonly crewBinding?: Address;
|
|
13
|
+
readonly starbasePlayer: Address;
|
|
14
|
+
}
|
|
15
|
+
/** Address-only pinned instructions: no signer object is created or retained. */
|
|
16
|
+
export declare function fleetRespawnInstruction(intent: FleetRespawnIntent, accounts: FleetRespawnAccounts): Instruction;
|
|
17
|
+
//# sourceMappingURL=fleet-respawn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fleet-respawn.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/fleet-respawn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EACL,oBAAoB,EAKrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAChC,iGAAiG;AACjG,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAClC,MAAM,EAAE,OAAO,GACd,MAAM,CAiBR;AACD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AACD,iFAAiF;AACjF,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,kBAAkB,EAC1B,QAAQ,EAAE,oBAAoB,GAC7B,WAAW,CAyCb"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { AccountRole } from '@solana/kit';
|
|
2
|
+
import { SAGE_PROGRAM_ADDRESS, getFleetDecoder, getFleetEncoder, getIdleToRespawnInstructionDataEncoder, getRespawnToDockedInstructionDataEncoder, } from '@staratlas/dev-sage';
|
|
3
|
+
import { PLAYER_PROFILE_PROGRAM_ADDRESS } from '@staratlas/dev-player-profile';
|
|
4
|
+
import { SageSdkError } from '../../client/errors.js';
|
|
5
|
+
export { SAGE_PROGRAM_ADDRESS };
|
|
6
|
+
/** Sizes only the audited state transition while preserving every stored variable collection. */
|
|
7
|
+
export function fleetRespawnSize(raw, phase, system) {
|
|
8
|
+
const fleet = getFleetDecoder().decode(raw.data);
|
|
9
|
+
if (getFleetEncoder().encode(fleet).length !== raw.data.length)
|
|
10
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Recovery Fleet collections cannot be re-encoded losslessly. Refresh a canonical Fleet and recreate the Plan.');
|
|
11
|
+
return getFleetEncoder().encode({
|
|
12
|
+
...fleet,
|
|
13
|
+
state: phase === 'start'
|
|
14
|
+
? {
|
|
15
|
+
__kind: 'Respawn',
|
|
16
|
+
fields: [{ start: 0n, end: 0n, wasInLowRiskZone: false }],
|
|
17
|
+
}
|
|
18
|
+
: { __kind: 'Docked', fields: [{ system, systemSeqId: 0n }] },
|
|
19
|
+
}).length;
|
|
20
|
+
}
|
|
21
|
+
/** Address-only pinned instructions: no signer object is created or retained. */
|
|
22
|
+
export function fleetRespawnInstruction(intent, accounts) {
|
|
23
|
+
const readonly = (address) => ({
|
|
24
|
+
address,
|
|
25
|
+
role: AccountRole.READONLY,
|
|
26
|
+
});
|
|
27
|
+
const writable = (address) => ({
|
|
28
|
+
address,
|
|
29
|
+
role: AccountRole.WRITABLE,
|
|
30
|
+
});
|
|
31
|
+
const common = [
|
|
32
|
+
{ address: intent.authority, role: AccountRole.READONLY_SIGNER },
|
|
33
|
+
writable(intent.profile),
|
|
34
|
+
readonly(SAGE_PROGRAM_ADDRESS),
|
|
35
|
+
readonly(PLAYER_PROFILE_PROGRAM_ADDRESS),
|
|
36
|
+
];
|
|
37
|
+
return {
|
|
38
|
+
programAddress: SAGE_PROGRAM_ADDRESS,
|
|
39
|
+
accounts: intent.phase === 'start'
|
|
40
|
+
? [
|
|
41
|
+
...common,
|
|
42
|
+
writable(accounts.character),
|
|
43
|
+
writable(intent.fleet),
|
|
44
|
+
readonly(intent.system),
|
|
45
|
+
readonly(accounts.regionTracker),
|
|
46
|
+
readonly(intent.game),
|
|
47
|
+
writable(accounts.currencyCache),
|
|
48
|
+
readonly(accounts.crewBinding ?? SAGE_PROGRAM_ADDRESS),
|
|
49
|
+
]
|
|
50
|
+
: [
|
|
51
|
+
...common,
|
|
52
|
+
writable(intent.fleet),
|
|
53
|
+
readonly(intent.game),
|
|
54
|
+
readonly(intent.system),
|
|
55
|
+
readonly(accounts.starbasePlayer),
|
|
56
|
+
],
|
|
57
|
+
data: (intent.phase === 'start'
|
|
58
|
+
? getIdleToRespawnInstructionDataEncoder()
|
|
59
|
+
: getRespawnToDockedInstructionDataEncoder()).encode({ keyIndex: intent.keyIndex }),
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=fleet-respawn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fleet-respawn.js","sourceRoot":"","sources":["../../../src/internal/c4/fleet-respawn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAC1E,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,sCAAsC,EACtC,wCAAwC,GACzC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAE/E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAChC,iGAAiG;AACjG,MAAM,UAAU,gBAAgB,CAC9B,GAAe,EACf,KAAkC,EAClC,MAAe;IAEf,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM;QAC5D,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,8GAA8G,CAC/G,CAAC;IACJ,OAAO,eAAe,EAAE,CAAC,MAAM,CAAC;QAC9B,GAAG,KAAK;QACR,KAAK,EACH,KAAK,KAAK,OAAO;YACf,CAAC,CAAC;gBACE,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;aAC1D;YACH,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,EAAE;KAClE,CAAC,CAAC,MAAM,CAAC;AACZ,CAAC;AAQD,iFAAiF;AACjF,MAAM,UAAU,uBAAuB,CACrC,MAA0B,EAC1B,QAA8B;IAE9B,MAAM,QAAQ,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC;QACtC,OAAO;QACP,IAAI,EAAE,WAAW,CAAC,QAAQ;KAC3B,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC;QACtC,OAAO;QACP,IAAI,EAAE,WAAW,CAAC,QAAQ;KAC3B,CAAC,CAAC;IACH,MAAM,MAAM,GAAG;QACb,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,eAAe,EAAE;QAChE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;QACxB,QAAQ,CAAC,oBAAoB,CAAC;QAC9B,QAAQ,CAAC,8BAA8B,CAAC;KACzC,CAAC;IACF,OAAO;QACL,cAAc,EAAE,oBAAoB;QACpC,QAAQ,EACN,MAAM,CAAC,KAAK,KAAK,OAAO;YACtB,CAAC,CAAC;gBACE,GAAG,MAAM;gBACT,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAC5B,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtB,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;gBACvB,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAChC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;gBACrB,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAChC,QAAQ,CAAC,QAAQ,CAAC,WAAW,IAAI,oBAAoB,CAAC;aACvD;YACH,CAAC,CAAC;gBACE,GAAG,MAAM;gBACT,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;gBACrB,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;gBACvB,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;aAClC;QACP,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO;YAC7B,CAAC,CAAC,sCAAsC,EAAE;YAC1C,CAAC,CAAC,wCAAwC,EAAE,CAC7C,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type Instruction } from '@solana/kit';
|
|
2
|
+
import { type Ship } from '@staratlas/dev-sage';
|
|
3
|
+
import type { RawAccount } from '../../client/contracts.js';
|
|
4
|
+
import type { FleetShipAssemblyIntent, FleetShipAssemblyAccounts } from '../planning/fleet-ship-assembly.js';
|
|
5
|
+
/** Finite supported assembly configuration; all other eligibility remains outside this route. */
|
|
6
|
+
export declare function isBasicFleetAssemblyShip(ship: Ship | undefined): ship is Ship;
|
|
7
|
+
/** Sizes the complete already-validated pinned Fleet encoding, preserving every variable field and zero-valued map entry. */
|
|
8
|
+
export declare function fleetShipAssemblySize(raw: RawAccount, shipId: number, amount: bigint): number;
|
|
9
|
+
/** Audited singleton instruction with deployment-tested inert legacy indices. */
|
|
10
|
+
export declare function addShipToFleetInstruction(input: FleetShipAssemblyIntent, accounts: FleetShipAssemblyAccounts): Instruction;
|
|
11
|
+
//# sourceMappingURL=fleet-ship-assembly.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fleet-ship-assembly.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/fleet-ship-assembly.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAGL,KAAK,IAAI,EAIV,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EACV,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,oCAAoC,CAAC;AAC5C,iGAAiG;AACjG,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,IAAI,IAAI,CAO7E;AACD,6HAA6H;AAC7H,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,MAAM,CAYR;AACD,iFAAiF;AACjF,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,uBAAuB,EAC9B,QAAQ,EAAE,yBAAyB,GAClC,WAAW,CAqBb"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { AccountRole } from '@solana/kit';
|
|
2
|
+
import { SAGE_PROGRAM_ADDRESS, SizeClass, getAddShipToFleetInstructionDataEncoder, getFleetDecoder, getFleetEncoder, } from '@staratlas/dev-sage';
|
|
3
|
+
import { PLAYER_PROFILE_PROGRAM_ADDRESS } from '@staratlas/dev-player-profile';
|
|
4
|
+
import { AccountDecodeError } from '../../client/errors.js';
|
|
5
|
+
/** Finite supported assembly configuration; all other eligibility remains outside this route. */
|
|
6
|
+
export function isBasicFleetAssemblyShip(ship) {
|
|
7
|
+
return (ship !== undefined &&
|
|
8
|
+
ship.sizeClass === SizeClass.XxSmall &&
|
|
9
|
+
ship.researchRequirements.length === 0 &&
|
|
10
|
+
ship.componentRequirements.size === 0);
|
|
11
|
+
}
|
|
12
|
+
/** Sizes the complete already-validated pinned Fleet encoding, preserving every variable field and zero-valued map entry. */
|
|
13
|
+
export function fleetShipAssemblySize(raw, shipId, amount) {
|
|
14
|
+
const fleet = getFleetDecoder().decode(raw.data);
|
|
15
|
+
if (getFleetEncoder().encode(fleet).length !== raw.data.length)
|
|
16
|
+
throw new AccountDecodeError('fleet', raw.address, new RangeError('Fleet decoding lost variable collection entries.'), 'The Fleet contains noncanonical variable collections. Refresh a valid Fleet before estimating ship assembly rent.');
|
|
17
|
+
const fleetShips = new Map(fleet.fleetShips);
|
|
18
|
+
fleetShips.set(shipId, (fleetShips.get(shipId) ?? 0n) + amount);
|
|
19
|
+
return getFleetEncoder().encode({ ...fleet, fleetShips }).length;
|
|
20
|
+
}
|
|
21
|
+
/** Audited singleton instruction with deployment-tested inert legacy indices. */
|
|
22
|
+
export function addShipToFleetInstruction(input, accounts) {
|
|
23
|
+
return {
|
|
24
|
+
programAddress: SAGE_PROGRAM_ADDRESS,
|
|
25
|
+
accounts: [
|
|
26
|
+
{ address: input.authority, role: AccountRole.READONLY_SIGNER },
|
|
27
|
+
{ address: input.profile, role: AccountRole.WRITABLE },
|
|
28
|
+
{ address: SAGE_PROGRAM_ADDRESS, role: AccountRole.READONLY },
|
|
29
|
+
{ address: PLAYER_PROFILE_PROGRAM_ADDRESS, role: AccountRole.READONLY },
|
|
30
|
+
{ address: accounts.character, role: AccountRole.WRITABLE },
|
|
31
|
+
{ address: accounts.fleet, role: AccountRole.WRITABLE },
|
|
32
|
+
{ address: input.game, role: AccountRole.READONLY },
|
|
33
|
+
{ address: input.system, role: AccountRole.READONLY },
|
|
34
|
+
{ address: accounts.starbasePlayer, role: AccountRole.WRITABLE },
|
|
35
|
+
],
|
|
36
|
+
data: getAddShipToFleetInstructionDataEncoder().encode({
|
|
37
|
+
ships: [{ id: input.shipId, amount: Number(input.amount) }],
|
|
38
|
+
shipEscrowIndex: 0,
|
|
39
|
+
fleetShipInfoIndex: null,
|
|
40
|
+
keyIndex: input.keyIndex,
|
|
41
|
+
}),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=fleet-ship-assembly.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fleet-ship-assembly.js","sourceRoot":"","sources":["../../../src/internal/c4/fleet-ship-assembly.ts"],"names":[],"mappings":"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"}
|
|
@@ -180,21 +180,29 @@ export interface FleetCombatStatsData {
|
|
|
180
180
|
readonly shieldBreakDelaySeconds: number;
|
|
181
181
|
readonly warpSpoolTimeSeconds: number;
|
|
182
182
|
readonly damageKinetic: number;
|
|
183
|
-
|
|
183
|
+
/** U26F6 fixed-point client display value; exact encoded integer retained in `raw`. */
|
|
184
|
+
readonly damageKineticVariance: FleetFixedValue;
|
|
184
185
|
readonly damageEnergy: number;
|
|
185
|
-
|
|
186
|
+
/** U26F6 fixed-point client display value; exact encoded integer retained in `raw`. */
|
|
187
|
+
readonly damageEnergyVariance: FleetFixedValue;
|
|
186
188
|
readonly damageEmp: number;
|
|
187
|
-
|
|
189
|
+
/** U26F6 fixed-point client display value; exact encoded integer retained in `raw`. */
|
|
190
|
+
readonly damageEmpVariance: FleetFixedValue;
|
|
188
191
|
readonly damageSuperchill: number;
|
|
189
|
-
|
|
192
|
+
/** U26F6 fixed-point client display value; exact encoded integer retained in `raw`. */
|
|
193
|
+
readonly damageSuperchillVariance: FleetFixedValue;
|
|
190
194
|
readonly damageShockwave: number;
|
|
191
|
-
|
|
195
|
+
/** U26F6 fixed-point client display value; exact encoded integer retained in `raw`. */
|
|
196
|
+
readonly damageShockwaveVariance: FleetFixedValue;
|
|
192
197
|
readonly damageGraygoo: number;
|
|
193
|
-
|
|
198
|
+
/** U26F6 fixed-point client display value; exact encoded integer retained in `raw`. */
|
|
199
|
+
readonly damageGraygooVariance: FleetFixedValue;
|
|
194
200
|
readonly damageHeat: number;
|
|
195
|
-
|
|
201
|
+
/** U26F6 fixed-point client display value; exact encoded integer retained in `raw`. */
|
|
202
|
+
readonly damageHeatVariance: FleetFixedValue;
|
|
196
203
|
readonly damageBomb: number;
|
|
197
|
-
|
|
204
|
+
/** U26F6 fixed-point client display value; exact encoded integer retained in `raw`. */
|
|
205
|
+
readonly damageBombVariance: FleetFixedValue;
|
|
198
206
|
readonly counterDecoy: number;
|
|
199
207
|
readonly counterEnergyCapacitor: number;
|
|
200
208
|
readonly counterFireSuppressor: number;
|
|
@@ -204,14 +212,22 @@ export interface FleetCombatStatsData {
|
|
|
204
212
|
readonly counterNegativeRemPlating: number;
|
|
205
213
|
readonly counterWarmingPlates: number;
|
|
206
214
|
readonly counterFaradayShielding: number;
|
|
207
|
-
|
|
208
|
-
readonly
|
|
209
|
-
|
|
210
|
-
readonly
|
|
211
|
-
|
|
212
|
-
readonly
|
|
213
|
-
|
|
214
|
-
readonly
|
|
215
|
+
/** U26F6 fixed-point client display value; exact encoded integer retained in `raw`. */
|
|
216
|
+
readonly stealthPower: FleetFixedValue;
|
|
217
|
+
/** U26F6 fixed-point hit value; no probability or percentage interpretation is implied. */
|
|
218
|
+
readonly hitChance: FleetFixedValue;
|
|
219
|
+
/** U26F6 fixed-point client display value; exact encoded integer retained in `raw`. */
|
|
220
|
+
readonly aimAbility: FleetFixedValue;
|
|
221
|
+
/** U26F6 fixed-point critical-hit value; no probability or percentage interpretation is implied. */
|
|
222
|
+
readonly critChance: FleetFixedValue;
|
|
223
|
+
/** U26F6 fixed-point critical multiplier. */
|
|
224
|
+
readonly critMultiplier: FleetFixedValue;
|
|
225
|
+
/** U26F6 fixed-point client display value; exact encoded integer retained in `raw`. */
|
|
226
|
+
readonly fuelConsumptionRate: FleetFixedValue;
|
|
227
|
+
/** U26F6 fixed-point client display value; exact encoded integer retained in `raw`. */
|
|
228
|
+
readonly missileDamage: FleetFixedValue;
|
|
229
|
+
/** U26F6 fixed-point client display value; exact encoded integer retained in `raw`. */
|
|
230
|
+
readonly missileFireRate: FleetFixedValue;
|
|
215
231
|
}
|
|
216
232
|
/** Translated miscellaneous Fleet statistics.
|
|
217
233
|
* @example
|
|
@@ -227,13 +243,16 @@ export interface FleetMiscStatsData {
|
|
|
227
243
|
readonly respawnTimeWithFeeSeconds: number;
|
|
228
244
|
readonly respawnFeeRaw: bigint;
|
|
229
245
|
readonly respawnFeeAtlas: number;
|
|
230
|
-
|
|
231
|
-
readonly
|
|
246
|
+
/** U16F16 fixed-point scanning cooldown in seconds. */
|
|
247
|
+
readonly scanCoolDownSeconds: FleetFixedValue;
|
|
248
|
+
/** U26F6 fixed-point scanning power. */
|
|
249
|
+
readonly scanPower: FleetFixedValue;
|
|
232
250
|
readonly scanCost: number;
|
|
233
251
|
readonly scanBonus: number;
|
|
234
252
|
readonly lpValue: number;
|
|
235
253
|
readonly medallionValue: number;
|
|
236
|
-
|
|
254
|
+
/** U16F16 fixed-point configured XP value; not an awarded-XP calculation. */
|
|
255
|
+
readonly xpValue: FleetFixedValue;
|
|
237
256
|
}
|
|
238
257
|
/** Grouped translated Fleet statistics.
|
|
239
258
|
* @example
|
|
@@ -285,6 +304,11 @@ export interface FleetAccountData {
|
|
|
285
304
|
readonly shieldBreakDelayExpiresAt: bigint;
|
|
286
305
|
readonly lastCombatUpdate: bigint;
|
|
287
306
|
readonly location: WorldCoordinates;
|
|
307
|
+
/** Exact stored I8F56 coordinates; use these for arithmetic, not the display numbers. */
|
|
308
|
+
readonly locationRaw: {
|
|
309
|
+
readonly x: bigint;
|
|
310
|
+
readonly y: bigint;
|
|
311
|
+
};
|
|
288
312
|
readonly lastUpdateAt: bigint;
|
|
289
313
|
readonly fleetShips: readonly FleetShipAmountData[];
|
|
290
314
|
readonly respawningCargo: FleetCargoPodData;
|
|
@@ -305,6 +329,8 @@ export declare function assertCanonicalFleetAddress(fleet: SnapshotEnvelope<Flee
|
|
|
305
329
|
export declare const fleetAccountDefinition: C4AccountAdapter<FleetAccountData>;
|
|
306
330
|
/** Builds the three stable Fleet memcmp filters; Fleet tails and data size are excluded. */
|
|
307
331
|
export declare function buildFleetDiscoveryFilters(game: Address, ownerProfile: Address): readonly ProgramAccountFilter[];
|
|
332
|
+
/** Discovers decoded Fleet candidates and verifies the stable Game field after decoding. */
|
|
333
|
+
export declare function discoverFleetAccountsForGame(context: SageContext, options?: Omit<DiscoveryRequest, 'filters' | 'strategy'>): Promise<readonly SnapshotEnvelope<FleetAccountData>[]>;
|
|
308
334
|
/** Discovers decoded Fleet candidates and verifies the stable query fields after decoding. */
|
|
309
335
|
export declare function discoverFleetAccounts(context: SageContext, ownerProfile: Address, options?: Omit<DiscoveryRequest, 'filters' | 'strategy'>): Promise<readonly SnapshotEnvelope<FleetAccountData>[]>;
|
|
310
336
|
//# sourceMappingURL=fleet.d.ts.map
|