@aephia/atlas-kit 0.6.0-next.7 → 0.6.0-next.71
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 +25 -12
- 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 +3 -2
- 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 +22 -10
- 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 +87 -37
- package/dist/claim-stakes/actions/index.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 +1 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -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 +98 -50
- package/dist/combat/actions/index.js.map +1 -1
- package/dist/crafting/actions/index.d.ts.map +1 -1
- package/dist/crafting/actions/index.js +49 -29
- package/dist/crafting/actions/index.js.map +1 -1
- package/dist/crafting/index.d.ts +24 -2
- package/dist/crafting/index.d.ts.map +1 -1
- package/dist/crafting/index.js +31 -2
- 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.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 +1 -1
- 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/index.d.ts +34 -15
- package/dist/fleets/actions/index.d.ts.map +1 -1
- package/dist/fleets/actions/index.js +168 -109
- package/dist/fleets/actions/index.js.map +1 -1
- package/dist/fleets/actions/respawn.d.ts +38 -0
- package/dist/fleets/actions/respawn.d.ts.map +1 -0
- package/dist/fleets/actions/respawn.js +122 -0
- package/dist/fleets/actions/respawn.js.map +1 -0
- package/dist/fleets/actions/ship-import.d.ts +48 -0
- package/dist/fleets/actions/ship-import.d.ts.map +1 -0
- package/dist/fleets/actions/ship-import.js +330 -0
- package/dist/fleets/actions/ship-import.js.map +1 -0
- package/dist/fleets/cooldown.d.ts +44 -0
- package/dist/fleets/cooldown.d.ts.map +1 -0
- package/dist/fleets/cooldown.js +43 -0
- package/dist/fleets/cooldown.js.map +1 -0
- package/dist/fleets/coordinate-warp-estimate.d.ts +70 -0
- package/dist/fleets/coordinate-warp-estimate.d.ts.map +1 -0
- package/dist/fleets/coordinate-warp-estimate.js +46 -0
- package/dist/fleets/coordinate-warp-estimate.js.map +1 -0
- package/dist/fleets/index.d.ts +5 -0
- package/dist/fleets/index.d.ts.map +1 -1
- package/dist/fleets/index.js +5 -0
- 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/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-toll.d.ts +55 -0
- package/dist/fleets/warp-lane-toll.d.ts.map +1 -0
- package/dist/fleets/warp-lane-toll.js +79 -0
- package/dist/fleets/warp-lane-toll.js.map +1 -0
- package/dist/identity/actions/create-profile.d.ts +56 -0
- package/dist/identity/actions/create-profile.d.ts.map +1 -0
- package/dist/identity/actions/create-profile.js +139 -0
- package/dist/identity/actions/create-profile.js.map +1 -0
- package/dist/identity/actions/index.d.ts +4 -3
- package/dist/identity/actions/index.d.ts.map +1 -1
- package/dist/identity/actions/index.js +49 -27
- package/dist/identity/actions/index.js.map +1 -1
- package/dist/identity/index.d.ts +15 -0
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +15 -0
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/permissions.d.ts +124 -0
- package/dist/identity/permissions.d.ts.map +1 -0
- package/dist/identity/permissions.js +171 -0
- package/dist/identity/permissions.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/c4/cargo-bytes-config.d.ts +7 -0
- package/dist/internal/c4/cargo-bytes-config.d.ts.map +1 -0
- package/dist/internal/c4/cargo-bytes-config.js +19 -0
- package/dist/internal/c4/cargo-bytes-config.js.map +1 -0
- package/dist/internal/c4/character-registration.d.ts +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/claim-stake.d.ts +0 -27
- package/dist/internal/c4/claim-stake.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake.js +0 -33
- package/dist/internal/c4/claim-stake.js.map +1 -1
- package/dist/internal/c4/combat.d.ts +0 -27
- package/dist/internal/c4/combat.d.ts.map +1 -1
- package/dist/internal/c4/combat.js +0 -33
- package/dist/internal/c4/combat.js.map +1 -1
- package/dist/internal/c4/crafting-process-codec.d.ts +13 -0
- package/dist/internal/c4/crafting-process-codec.d.ts.map +1 -0
- package/dist/internal/c4/crafting-process-codec.js +34 -0
- package/dist/internal/c4/crafting-process-codec.js.map +1 -0
- package/dist/internal/c4/crafting.d.ts +11 -31
- package/dist/internal/c4/crafting.d.ts.map +1 -1
- package/dist/internal/c4/crafting.js +26 -43
- package/dist/internal/c4/crafting.js.map +1 -1
- 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/factions.d.ts +9 -57
- package/dist/internal/c4/factions.d.ts.map +1 -1
- package/dist/internal/c4/factions.js +21 -139
- package/dist/internal/c4/factions.js.map +1 -1
- package/dist/internal/c4/fleet-arrival.d.ts +28 -0
- package/dist/internal/c4/fleet-arrival.d.ts.map +1 -0
- package/dist/internal/c4/fleet-arrival.js +42 -0
- package/dist/internal/c4/fleet-arrival.js.map +1 -0
- package/dist/internal/c4/fleet-creation.d.ts +7 -0
- package/dist/internal/c4/fleet-creation.d.ts.map +1 -0
- package/dist/internal/c4/fleet-creation.js +180 -0
- package/dist/internal/c4/fleet-creation.js.map +1 -0
- package/dist/internal/c4/fleet-crew-binding.d.ts +9 -0
- package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
- package/dist/internal/c4/fleet-crew-binding.js +15 -0
- package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
- package/dist/internal/c4/fleet-respawn.d.ts +19 -0
- package/dist/internal/c4/fleet-respawn.d.ts.map +1 -0
- package/dist/internal/c4/fleet-respawn.js +91 -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 +43 -19
- package/dist/internal/c4/fleet.d.ts.map +1 -1
- package/dist/internal/c4/fleet.js +1 -0
- package/dist/internal/c4/fleet.js.map +1 -1
- package/dist/internal/c4/game.d.ts +31 -8
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +88 -12
- package/dist/internal/c4/game.js.map +1 -1
- package/dist/internal/c4/identity.d.ts +2 -7
- package/dist/internal/c4/identity.d.ts.map +1 -1
- package/dist/internal/c4/identity.js +2 -23
- package/dist/internal/c4/identity.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 +0 -33
- package/dist/internal/c4/loyalty.js.map +1 -1
- package/dist/internal/c4/market.d.ts +1 -37
- package/dist/internal/c4/market.d.ts.map +1 -1
- package/dist/internal/c4/market.js +11 -49
- package/dist/internal/c4/market.js.map +1 -1
- package/dist/internal/c4/mining-instructions.d.ts +2 -0
- package/dist/internal/c4/mining-instructions.d.ts.map +1 -0
- package/dist/internal/c4/mining-instructions.js +3 -0
- package/dist/internal/c4/mining-instructions.js.map +1 -0
- package/dist/internal/c4/open-signal.d.ts +8 -0
- package/dist/internal/c4/open-signal.d.ts.map +1 -0
- package/dist/internal/c4/open-signal.js +37 -0
- package/dist/internal/c4/open-signal.js.map +1 -0
- package/dist/internal/c4/profile-creation.d.ts +17 -0
- package/dist/internal/c4/profile-creation.d.ts.map +1 -0
- package/dist/internal/c4/profile-creation.js +36 -0
- package/dist/internal/c4/profile-creation.js.map +1 -0
- package/dist/internal/c4/profile-permissions.d.ts +14 -0
- package/dist/internal/c4/profile-permissions.d.ts.map +1 -0
- package/dist/internal/c4/profile-permissions.js +81 -0
- package/dist/internal/c4/profile-permissions.js.map +1 -0
- package/dist/internal/c4/region-geometry.d.ts +8 -0
- package/dist/internal/c4/region-geometry.d.ts.map +1 -0
- package/dist/internal/c4/region-geometry.js +43 -0
- package/dist/internal/c4/region-geometry.js.map +1 -0
- package/dist/internal/c4/rewards.d.ts +0 -27
- package/dist/internal/c4/rewards.d.ts.map +1 -1
- package/dist/internal/c4/rewards.js +0 -33
- package/dist/internal/c4/rewards.js.map +1 -1
- package/dist/internal/c4/runtime-bindings.d.ts +3 -0
- package/dist/internal/c4/runtime-bindings.d.ts.map +1 -0
- package/dist/internal/c4/runtime-bindings.js +4 -0
- package/dist/internal/c4/runtime-bindings.js.map +1 -0
- package/dist/internal/c4/scan-detection-codecs.d.ts +3 -0
- package/dist/internal/c4/scan-detection-codecs.d.ts.map +1 -0
- package/dist/internal/c4/scan-detection-codecs.js +3 -0
- package/dist/internal/c4/scan-detection-codecs.js.map +1 -0
- package/dist/internal/c4/scan-lifecycle.d.ts +306 -0
- package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -0
- package/dist/internal/c4/scan-lifecycle.js +258 -0
- package/dist/internal/c4/scan-lifecycle.js.map +1 -0
- package/dist/internal/c4/scanning.d.ts +1 -28
- package/dist/internal/c4/scanning.d.ts.map +1 -1
- package/dist/internal/c4/scanning.js +2 -33
- package/dist/internal/c4/scanning.js.map +1 -1
- package/dist/internal/c4/ship-import.d.ts +4 -0
- package/dist/internal/c4/ship-import.d.ts.map +1 -0
- package/dist/internal/c4/ship-import.js +13 -0
- package/dist/internal/c4/ship-import.js.map +1 -0
- package/dist/internal/c4/ship-stats.d.ts.map +1 -1
- package/dist/internal/c4/ship-stats.js +25 -21
- package/dist/internal/c4/ship-stats.js.map +1 -1
- package/dist/internal/c4/starbase.d.ts +0 -32
- package/dist/internal/c4/starbase.d.ts.map +1 -1
- package/dist/internal/c4/starbase.js +3 -41
- package/dist/internal/c4/starbase.js.map +1 -1
- package/dist/internal/c4/world.d.ts +17 -2
- package/dist/internal/c4/world.d.ts.map +1 -1
- package/dist/internal/c4/world.js +32 -6
- 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 +19 -6
- package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
- package/dist/internal/planning/authorization-adapter.js +102 -16
- package/dist/internal/planning/authorization-adapter.js.map +1 -1
- package/dist/internal/planning/character-registration-guard.d.ts +4 -0
- package/dist/internal/planning/character-registration-guard.d.ts.map +1 -0
- package/dist/internal/planning/character-registration-guard.js +58 -0
- package/dist/internal/planning/character-registration-guard.js.map +1 -0
- package/dist/internal/planning/character-registration.d.ts +23 -0
- package/dist/internal/planning/character-registration.d.ts.map +1 -0
- package/dist/internal/planning/character-registration.js +86 -0
- package/dist/internal/planning/character-registration.js.map +1 -0
- package/dist/internal/planning/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.js +2 -2
- 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 +107 -0
- package/dist/internal/planning/fleet-creation.js.map +1 -0
- package/dist/internal/planning/fleet-crew-guard.d.ts +28 -0
- package/dist/internal/planning/fleet-crew-guard.d.ts.map +1 -0
- package/dist/internal/planning/fleet-crew-guard.js +47 -0
- package/dist/internal/planning/fleet-crew-guard.js.map +1 -0
- package/dist/internal/planning/fleet-crew-transfer.d.ts +7 -0
- package/dist/internal/planning/fleet-crew-transfer.d.ts.map +1 -0
- package/dist/internal/planning/fleet-crew-transfer.js +131 -0
- package/dist/internal/planning/fleet-crew-transfer.js.map +1 -0
- package/dist/internal/planning/fleet-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 +36 -0
- package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -0
- package/dist/internal/planning/fleet-ship-assembly.js +136 -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/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 +84 -0
- package/dist/internal/planning/open-signal.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 +636 -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 +220 -0
- package/dist/internal/planning/scan-completion.js.map +1 -0
- package/dist/internal/planning/scan-detect-guard.d.ts +34 -0
- package/dist/internal/planning/scan-detect-guard.d.ts.map +1 -0
- package/dist/internal/planning/scan-detect-guard.js +77 -0
- package/dist/internal/planning/scan-detect-guard.js.map +1 -0
- package/dist/internal/planning/scan-detect.d.ts +24 -0
- package/dist/internal/planning/scan-detect.d.ts.map +1 -0
- package/dist/internal/planning/scan-detect.js +244 -0
- package/dist/internal/planning/scan-detect.js.map +1 -0
- package/dist/internal/planning/ship-import-funding.d.ts +22 -0
- package/dist/internal/planning/ship-import-funding.d.ts.map +1 -0
- package/dist/internal/planning/ship-import-funding.js +52 -0
- package/dist/internal/planning/ship-import-funding.js.map +1 -0
- package/dist/internal/planning/ship-token.d.ts +10 -0
- package/dist/internal/planning/ship-token.d.ts.map +1 -0
- package/dist/internal/planning/ship-token.js +47 -0
- package/dist/internal/planning/ship-token.js.map +1 -0
- package/dist/internal/planning/starbase-system-guard.d.ts +6 -0
- package/dist/internal/planning/starbase-system-guard.d.ts.map +1 -0
- package/dist/internal/planning/starbase-system-guard.js +93 -0
- package/dist/internal/planning/starbase-system-guard.js.map +1 -0
- package/dist/internal/planning/starbase-system.d.ts +12 -0
- package/dist/internal/planning/starbase-system.d.ts.map +1 -0
- package/dist/internal/planning/starbase-system.js +22 -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/loyalty/actions/index.d.ts.map +1 -1
- package/dist/loyalty/actions/index.js +4 -3
- 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 +1 -0
- package/dist/markets/actions/index.d.ts.map +1 -1
- package/dist/markets/actions/index.js +40 -16
- 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 +291 -0
- package/dist/markets/actions/trade-faction-market.js.map +1 -0
- package/dist/mining/actions/index.d.ts +84 -0
- package/dist/mining/actions/index.d.ts.map +1 -0
- package/dist/mining/actions/index.js +328 -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 +8 -2
- package/dist/mining/index.d.ts.map +1 -1
- package/dist/mining/index.js +6 -2
- package/dist/mining/index.js.map +1 -1
- package/dist/planning/assembly.d.ts.map +1 -1
- package/dist/planning/assembly.js +18 -0
- package/dist/planning/assembly.js.map +1 -1
- package/dist/planning/execution.d.ts.map +1 -1
- package/dist/planning/execution.js +378 -12
- package/dist/planning/execution.js.map +1 -1
- package/dist/planning/index.d.ts +180 -132
- package/dist/planning/index.d.ts.map +1 -1
- package/dist/planning/index.js +845 -104
- package/dist/planning/index.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 +6 -11
- 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/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 +8 -1
- package/dist/registry/onboarding.d.ts.map +1 -1
- package/dist/registry/onboarding.js +18 -5
- 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 +30 -0
- package/dist/registry/ships.d.ts.map +1 -0
- package/dist/registry/ships.js +59 -0
- package/dist/registry/ships.js.map +1 -0
- package/dist/registry/xp-runtime.d.ts +4 -0
- package/dist/registry/xp-runtime.d.ts.map +1 -0
- package/dist/registry/xp-runtime.js +14 -0
- package/dist/registry/xp-runtime.js.map +1 -0
- package/dist/scanning/actions/index.d.ts +116 -0
- package/dist/scanning/actions/index.d.ts.map +1 -0
- package/dist/scanning/actions/index.js +209 -0
- package/dist/scanning/actions/index.js.map +1 -0
- package/dist/scanning/index.d.ts +4 -1
- package/dist/scanning/index.d.ts.map +1 -1
- package/dist/scanning/index.js +5 -2
- package/dist/scanning/index.js.map +1 -1
- package/dist/scanning/lifecycle.d.ts +77 -0
- package/dist/scanning/lifecycle.d.ts.map +1 -0
- package/dist/scanning/lifecycle.js +93 -0
- package/dist/scanning/lifecycle.js.map +1 -0
- package/dist/scanning/odds.d.ts +111 -0
- package/dist/scanning/odds.d.ts.map +1 -0
- package/dist/scanning/odds.js +294 -0
- package/dist/scanning/odds.js.map +1 -0
- package/dist/scanning/signals.d.ts +121 -0
- package/dist/scanning/signals.d.ts.map +1 -0
- package/dist/scanning/signals.js +171 -0
- package/dist/scanning/signals.js.map +1 -0
- package/dist/world/index.d.ts +64 -5
- package/dist/world/index.d.ts.map +1 -1
- package/dist/world/index.js +53 -4
- package/dist/world/index.js.map +1 -1
- package/package.json +10 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mining/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,SAAS,EAEd,KAAK,WAAW,EAChB,KAAK,WAAW,EAEjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,yBAAyB,CAAC;AAWjC,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,sBAAsB,CAAC;AAY9B;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;IACzC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACnD,MAAM,IAAI,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC5D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IAC9C,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,eAAe,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;KACjC,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC/C,MAAM,IAAI,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,gBAAgB,EAChB,SAAS,GAAG,UAAU,CACvB,CAAC;AAuGF;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,uBAAuB,CAAC,CAMlC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAU9C;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,wBAAwB,EAAE,MAAM,EAChC,aAAa,EAAE,MAAM,GACpB,MAAM,CAGR;AAKD
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mining/index.ts"],"names":[],"mappings":"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"}
|
package/dist/mining/index.js
CHANGED
|
@@ -102,7 +102,10 @@ export function deriveMiningStateAgeSeconds(lastUpdatedAtUnixSeconds, atUnixSeco
|
|
|
102
102
|
return elapsed > 0n ? Number(elapsed) : 0;
|
|
103
103
|
}
|
|
104
104
|
const MINING_DERIVATION_REMEDY = 'Mining derivations require a finite, nonnegative value. Supply a finite value greater than or equal to zero before deriving mining output.';
|
|
105
|
-
/**
|
|
105
|
+
/** Shares Fleet units/second equally among selected resources, then applies richness.
|
|
106
|
+
* Supply the complete selected resource list, including zero-richness selections.
|
|
107
|
+
* An empty selection returns no rates. Results are nominal estimates; cargo
|
|
108
|
+
* limits, upkeep and whole-unit settlement remain chain-authoritative.
|
|
106
109
|
* @example
|
|
107
110
|
* ```ts
|
|
108
111
|
* const rates = deriveMiningOutputRates(2, [{ cargoId: 8, richness: 1.5 }]);
|
|
@@ -118,7 +121,7 @@ export function deriveMiningOutputRates(fleetUnitsPerSecond, outputs) {
|
|
|
118
121
|
}
|
|
119
122
|
return Object.freeze({
|
|
120
123
|
cargoId,
|
|
121
|
-
unitsPerSecond: fleetUnitsPerSecond * richness,
|
|
124
|
+
unitsPerSecond: (fleetUnitsPerSecond / outputs.length) * richness,
|
|
122
125
|
});
|
|
123
126
|
}));
|
|
124
127
|
}
|
|
@@ -233,4 +236,5 @@ export async function getFleetMiningStatesByOwner(context, owner, options) {
|
|
|
233
236
|
const states = (await Promise.all(envelopes.map((envelope) => toFleetMiningSnapshot(context, envelope, options)))).filter((state) => state !== undefined);
|
|
234
237
|
return Object.freeze(attachReadMeta(states, metadata));
|
|
235
238
|
}
|
|
239
|
+
export { deriveMiningEstimate, } from './estimate.js';
|
|
236
240
|
//# sourceMappingURL=index.js.map
|
package/dist/mining/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mining/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,SAAS,GAQV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,GAG3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EACL,YAAY,GAEb,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mining/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assembly.d.ts","sourceRoot":"","sources":["../../src/planning/assembly.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"assembly.d.ts","sourceRoot":"","sources":["../../src/planning/assembly.ts"],"names":[],"mappings":"AASA,OAAO,EAgBL,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,gCAAgC,EACtC,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGxE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAevC;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,wBAAwB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACjC;AAgCD,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,CAIlE;AAaD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,cAAc,EACtB,eAAe,GAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAA4B,GAChE,uBAAuB,CAmFzB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAmDhE;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,IAAI,CACV,uBAAuB,EACvB,kBAAkB,GAAG,0BAA0B,CAChD,GACA,IAAI,CAqBN;AASD;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,WAAW,GAAG,gCAAgC,CAAC,CAKzD;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,uBAAuB,GACvC,OAAO,CAAC,WAAW,GAAG,gCAAgC,CAAC,CAqCzD"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
import { validateOpenSignalInstructions } from '../internal/planning/open-signal-guard.js';
|
|
2
|
+
import { validateRespawnInstructions } from '../internal/planning/respawn-guards.js';
|
|
3
|
+
import { validateFleetAttackInstructions } from '../internal/planning/fleet-attack-xp.js';
|
|
4
|
+
import { validateMovementXpInstructions } from '../internal/planning/movement-xp-guard.js';
|
|
5
|
+
import { validateStarbaseSystemInstructions } from '../internal/planning/starbase-system-guard.js';
|
|
6
|
+
import { validateCharacterRegistrationInstructions } from '../internal/planning/character-registration-guard.js';
|
|
7
|
+
import { validateArrivalInstructions } from '../internal/planning/arrival-guards.js';
|
|
8
|
+
import { validateRuntimeInstructions } from '../internal/planning/runtime-guards.js';
|
|
9
|
+
import { validateMiningStopInstructions } from '../internal/planning/mining-stop.js';
|
|
1
10
|
import { appendTransactionMessageInstructions, compileTransaction, createTransactionMessage, getTransactionSize, getTransactionSizeLimit, isAddress, isSolanaError, setTransactionMessageComputeUnitLimit, setTransactionMessageComputeUnitPrice, setTransactionMessageFeePayer, setTransactionMessageLifetimeUsingBlockhash, SOLANA_ERROR__TRANSACTION__TOO_MANY_ACCOUNT_ADDRESSES, SOLANA_ERROR__TRANSACTION__TOO_MANY_ACCOUNTS_IN_INSTRUCTION, SOLANA_ERROR__TRANSACTION__TOO_MANY_INSTRUCTIONS, SOLANA_ERROR__TRANSACTION__TOO_MANY_SIGNER_ADDRESSES, } from '@solana/kit';
|
|
2
11
|
import { InvalidActionInputError, SageSdkError } from '../client/errors.js';
|
|
3
12
|
import { validatePlanComposition } from './composition.js';
|
|
@@ -86,6 +95,15 @@ export function validatePlan(plan) {
|
|
|
86
95
|
}
|
|
87
96
|
const validatedPlan = plan;
|
|
88
97
|
validatePlanComposition(validatedPlan.steps);
|
|
98
|
+
validateOpenSignalInstructions(validatedPlan.steps, validatedPlan.preconditions);
|
|
99
|
+
validateStarbaseSystemInstructions(validatedPlan.steps, validatedPlan.preconditions);
|
|
100
|
+
validateCharacterRegistrationInstructions(validatedPlan.steps, validatedPlan.preconditions);
|
|
101
|
+
validateRuntimeInstructions(validatedPlan.steps, validatedPlan.preconditions);
|
|
102
|
+
validateFleetAttackInstructions(validatedPlan.steps, validatedPlan.preconditions);
|
|
103
|
+
validateArrivalInstructions(validatedPlan.steps, validatedPlan.preconditions);
|
|
104
|
+
validateRespawnInstructions(validatedPlan.steps, validatedPlan.preconditions);
|
|
105
|
+
validateMovementXpInstructions(validatedPlan.steps, validatedPlan.preconditions);
|
|
106
|
+
validateMiningStopInstructions(validatedPlan.steps, validatedPlan.preconditions);
|
|
89
107
|
for (let index = 0; index < validatedPlan.steps.length; index += 1) {
|
|
90
108
|
if (validatedPlan.steps[index]?.instruction.programAddress ===
|
|
91
109
|
COMPUTE_BUDGET_PROGRAM_ADDRESS) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assembly.js","sourceRoot":"","sources":["../../src/planning/assembly.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"assembly.js","sourceRoot":"","sources":["../../src/planning/assembly.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/planning/execution.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/planning/execution.ts"],"names":[],"mappings":"AA8DA,OAAO,EAcL,KAAK,UAAU,EACf,KAAK,SAAS,EAOd,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAEV,WAAW,EAEZ,MAAM,wBAAwB,CAAC;AAMhC,OAAO,KAAK,EAAE,IAAI,EAAoB,MAAM,YAAY,CAAC;AAgBzD;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACjC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,GAC5B,QAAQ,CAAC;IACP,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,SAAS,CAAC;IAClB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CAAC,GACF,QAAQ,CAAC;IACP,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,YAAY,GAAG,kBAAkB,GAAG,cAAc,CAAC;IAC9D,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CAAC,CAAC;AAEP;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,GAAG,oBAAoB,CAAC;AAYhF,2EAA2E;AAC3E,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,UAAU,EAAE,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AA0wCD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CAE9B;AAED,mFAAmF;AACnF,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,kBAAkB,EAC3B,SAAS,CAAC,EAAE,sBAAsB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CA2G9B"}
|
|
@@ -1,6 +1,28 @@
|
|
|
1
|
+
import { resolveFleetCrewTransfer } from '../internal/planning/fleet-crew-transfer.js';
|
|
2
|
+
import { revalidateScanCompletion } from '../internal/planning/scan-completion.js';
|
|
3
|
+
import { openSignalAddresses, validateOpenSignal, } from '../internal/planning/open-signal.js';
|
|
4
|
+
import { revalidateDetect } from '../internal/planning/scan-detect.js';
|
|
5
|
+
import { resolveFleetRespawn } from '../internal/planning/fleet-respawn.js';
|
|
6
|
+
import { validateFleetAttackActors } from '../internal/planning/fleet-attack-xp.js';
|
|
7
|
+
import { RENT_ADDRESS, readRent, } from '../internal/planning/faction-enrollment.js';
|
|
8
|
+
import { getBase64Decoder, } from '@solana/kit';
|
|
9
|
+
import { hashMovementCharacter } from '../internal/planning/movement-character.js';
|
|
10
|
+
import { validateStarbaseSystem } from '../internal/planning/starbase-system.js';
|
|
11
|
+
import { revalidateCharacterRegistration, isEmptySystemAccount, } from '../internal/planning/character-registration.js';
|
|
12
|
+
import { validateFleetArrivalIntent } from '../internal/planning/fleet-arrival.js';
|
|
13
|
+
import { isRuntimeGuard, revalidateRuntimeGuards, } from '../internal/planning/runtime-guards.js';
|
|
14
|
+
import { isFactionTradeGuard } from '../internal/planning/faction-trade-guards.js';
|
|
15
|
+
import { resolveShipImportFunding, validateShipImportFunding, } from '../internal/planning/ship-import-funding.js';
|
|
16
|
+
import { matchesFleetMiningState } from '../internal/planning/mining-stop.js';
|
|
17
|
+
import { requireGameAddress } from '../internal/game-context.js';
|
|
18
|
+
import { matchesFactionTradeState } from '../internal/planning/faction-trade-state.js';
|
|
19
|
+
import { resolveFleetShipAssembly, validateFleetShipAssembly, } from '../internal/planning/fleet-ship-assembly.js';
|
|
20
|
+
import { resolveFleetCreation, validateFleetCreation, } from '../internal/planning/fleet-creation.js';
|
|
21
|
+
import { validateTokenMint } from '../internal/planning/token-mint.js';
|
|
22
|
+
import { hashGameShipConfigurations, decodeGameShipAssemblyCatalog, } from '../registry/ships.js';
|
|
1
23
|
import { validateGameForCharacterRegistration } from '../registry/onboarding.js';
|
|
2
24
|
import { hashAccountState } from '../internal/planning/account-state.js';
|
|
3
|
-
import {
|
|
25
|
+
import { hashGameCargoConfigurationGuards } from '../registry/cargo.js';
|
|
4
26
|
import { validateWalletCargoCache } from '../internal/c4/wallet-cargo-cache.js';
|
|
5
27
|
import { getAddressEncoder, getProgramDerivedAddress, getAddressDecoder, getBase58Decoder, getBase64EncodedWireTransaction, getSignatureFromTransaction, isAddress, isTransactionModifyingSigner, isTransactionPartialSigner, isTransactionSendingSigner, signAndSendTransactionWithSigners, signTransactionWithSigners, } from '@solana/kit';
|
|
6
28
|
import { InvalidActionInputError, SageSdkError } from '../client/errors.js';
|
|
@@ -35,8 +57,8 @@ class MissingWriteTransportError extends SageSdkError {
|
|
|
35
57
|
class ActionPreconditionFailedError extends SageSdkError {
|
|
36
58
|
describes;
|
|
37
59
|
observedSlot;
|
|
38
|
-
constructor(precondition, observedSlot) {
|
|
39
|
-
super('ACTION_PRECONDITION_FAILED', `The account state required by this Plan changed at ${
|
|
60
|
+
constructor(precondition, observedSlot, cause, address = precondition.address) {
|
|
61
|
+
super('ACTION_PRECONDITION_FAILED', `The account state required by this Plan changed at ${address}: ${cause ?? precondition.describes} Refresh the affected game state and create a new Plan before retrying.`, { address });
|
|
40
62
|
this.describes = precondition.describes;
|
|
41
63
|
this.observedSlot = observedSlot;
|
|
42
64
|
}
|
|
@@ -292,45 +314,351 @@ function matchesTokenAccount(account, expected) {
|
|
|
292
314
|
return (decoder.decode(account.data.subarray(0, 32)) === expected.mint &&
|
|
293
315
|
decoder.decode(account.data.subarray(32, 64)) === expected.owner);
|
|
294
316
|
}
|
|
295
|
-
|
|
296
|
-
const
|
|
317
|
+
function checkRegistrationFunding(registrations, fee) {
|
|
318
|
+
const balances = new Map();
|
|
319
|
+
for (const registration of registrations) {
|
|
320
|
+
const previous = balances.get(registration.funder);
|
|
321
|
+
if (previous === undefined || registration.observedLamports < previous)
|
|
322
|
+
balances.set(registration.funder, registration.observedLamports);
|
|
323
|
+
}
|
|
324
|
+
if (fee && balances.has(fee.payer))
|
|
325
|
+
balances.set(fee.payer, balances.get(fee.payer) - fee.lamports);
|
|
326
|
+
for (const registration of registrations) {
|
|
327
|
+
const balance = balances.get(registration.funder);
|
|
328
|
+
if (balance < registration.requiredLamports)
|
|
329
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Character registration funding cannot cover the ordered upfront storage and applicable transaction fee. Fund the wallet separately and recreate the Plan; a later Character refund cannot fund an earlier allocation.', { address: registration.funder });
|
|
330
|
+
balances.set(registration.funder, balance - registration.netDebit);
|
|
331
|
+
}
|
|
332
|
+
if (fee)
|
|
333
|
+
for (const registration of registrations) {
|
|
334
|
+
const balance = balances.get(registration.funder);
|
|
335
|
+
if (balance !== 0n && balance < registration.minimumBalance)
|
|
336
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Character registration leaves the funder below its empty-System-account rent minimum. Leave zero or a rent-exempt balance after storage and fees, then recreate the Plan.', { address: registration.funder });
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
async function checkPreconditions(context, allPreconditions, steps, commitment) {
|
|
340
|
+
for (const guard of allPreconditions) {
|
|
341
|
+
if (guard.kind === 'fleet-crew-transfer') {
|
|
342
|
+
try {
|
|
343
|
+
await resolveFleetCrewTransfer(context, guard, guard, commitment);
|
|
344
|
+
}
|
|
345
|
+
catch (error) {
|
|
346
|
+
throw new ActionPreconditionFailedError(guard, undefined, error instanceof SageSdkError
|
|
347
|
+
? error.message
|
|
348
|
+
: 'Crew transfer prerequisites could not be verified. Refresh crew state and recreate the Plan.');
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
if (guard.kind === 'scan-completion')
|
|
352
|
+
await revalidateScanCompletion(context, guard, commitment);
|
|
353
|
+
if (guard.kind === 'scan-detect')
|
|
354
|
+
await revalidateDetect(context, guard, commitment);
|
|
355
|
+
if (guard.kind === 'fleet-attack')
|
|
356
|
+
await validateFleetAttackActors(context, guard);
|
|
357
|
+
}
|
|
358
|
+
for (const guard of allPreconditions) {
|
|
359
|
+
if (guard.kind !== 'fleet-respawn')
|
|
360
|
+
continue;
|
|
361
|
+
try {
|
|
362
|
+
const current = await resolveFleetRespawn(context, { ...guard, fleet: guard.address }, guard, commitment);
|
|
363
|
+
const planned = steps[0].instruction;
|
|
364
|
+
const fresh = current.instruction;
|
|
365
|
+
if (planned.programAddress !== fresh.programAddress ||
|
|
366
|
+
planned.data?.length !== fresh.data?.length ||
|
|
367
|
+
fresh.data?.some((v, i) => planned.data?.[i] !== v) ||
|
|
368
|
+
planned.accounts?.length !== fresh.accounts?.length ||
|
|
369
|
+
fresh.accounts?.some((a, i) => planned.accounts?.[i]?.address !== a.address ||
|
|
370
|
+
planned.accounts?.[i]?.role !== a.role))
|
|
371
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Recovery instruction accounts changed. Recreate and inspect the recovery Plan before signing.');
|
|
372
|
+
}
|
|
373
|
+
catch (error) {
|
|
374
|
+
throw new ActionPreconditionFailedError(guard, undefined, error instanceof SageSdkError
|
|
375
|
+
? error.message
|
|
376
|
+
: 'Recovery prerequisites could not be validated. Refresh the Fleet and recreate the Plan.');
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
const checkedXp = new Set();
|
|
380
|
+
const freshGameVersions = new Map();
|
|
381
|
+
const registrationFunding = [];
|
|
382
|
+
const initializations = new Map();
|
|
383
|
+
for (const guard of allPreconditions) {
|
|
384
|
+
if (guard.kind !== 'character-registration')
|
|
385
|
+
continue;
|
|
386
|
+
registrationFunding.push(await revalidateCharacterRegistration(context, guard, commitment, freshGameVersions, initializations));
|
|
387
|
+
}
|
|
388
|
+
checkRegistrationFunding(registrationFunding);
|
|
389
|
+
for (const guard of allPreconditions) {
|
|
390
|
+
if (guard.kind !== 'fleet-arrival')
|
|
391
|
+
continue;
|
|
392
|
+
try {
|
|
393
|
+
const current = await validateFleetArrivalIntent(context, guard.intent, freshGameVersions);
|
|
394
|
+
for (const xp of allPreconditions) {
|
|
395
|
+
if (xp.kind !== 'xp-runtime' ||
|
|
396
|
+
xp.intent.game !== current.xp.intent.game ||
|
|
397
|
+
xp.intent.character !== current.xp.intent.character ||
|
|
398
|
+
xp.intent.structure !== current.xp.intent.structure ||
|
|
399
|
+
(xp.intent.profile !== undefined &&
|
|
400
|
+
xp.intent.profile !== current.intent.profile))
|
|
401
|
+
continue;
|
|
402
|
+
if (['xpBudget', 'xpBudgetConfig', 'xpAccrual'].some((key) => xp.accounts[key] !== current.xp.accounts[key]))
|
|
403
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Arrival XP runtime changed. Refresh the Fleet and recreate the Plan.');
|
|
404
|
+
checkedXp.add(xp);
|
|
405
|
+
}
|
|
406
|
+
if (current.character !== guard.character ||
|
|
407
|
+
current.regionTracker !== guard.regionTracker)
|
|
408
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Arrival account links changed. Refresh the Fleet and recreate the Plan.');
|
|
409
|
+
}
|
|
410
|
+
catch (error) {
|
|
411
|
+
throw new ActionPreconditionFailedError(guard, undefined, error instanceof SageSdkError
|
|
412
|
+
? error.message
|
|
413
|
+
: 'Arrival prerequisites could not be validated. Refresh the Fleet and recreate the Plan.');
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
await revalidateRuntimeGuards(context, allPreconditions
|
|
417
|
+
.filter(isRuntimeGuard)
|
|
418
|
+
.filter((guard) => !checkedXp.has(guard)), freshGameVersions);
|
|
419
|
+
const preconditions = allPreconditions.filter((guard) => !isRuntimeGuard(guard) &&
|
|
420
|
+
guard.kind !== 'fleet-attack' &&
|
|
421
|
+
guard.kind !== 'fleet-arrival' &&
|
|
422
|
+
guard.kind !== 'character-registration' &&
|
|
423
|
+
guard.kind !== 'scan-detect' &&
|
|
424
|
+
guard.kind !== 'scan-completion' &&
|
|
425
|
+
guard.kind !== 'fleet-respawn' &&
|
|
426
|
+
guard.kind !== 'fleet-crew-transfer');
|
|
427
|
+
const fleetCreationAccounts = new Map();
|
|
428
|
+
const fleetAssemblyAccounts = new Map();
|
|
429
|
+
const importFundingAccounts = new Map();
|
|
430
|
+
const assemblyGames = new Set();
|
|
431
|
+
const assemblyCatalogs = new Map();
|
|
432
|
+
const requiredAddresses = new Set(preconditions.map(({ address }) => address));
|
|
433
|
+
for (const guard of preconditions) {
|
|
434
|
+
if (guard.kind === 'scan-signal-open') {
|
|
435
|
+
for (const address of openSignalAddresses(guard))
|
|
436
|
+
requiredAddresses.add(address);
|
|
437
|
+
}
|
|
438
|
+
if (guard.kind !== 'fleet-create')
|
|
439
|
+
continue;
|
|
440
|
+
const resolved = await resolveFleetCreation(guard);
|
|
441
|
+
if (resolved.fleet !== guard.address)
|
|
442
|
+
throw new ActionPreconditionFailedError(guard, undefined, 'The Fleet address does not match this Game, Profile and exact label. Recreate the Fleet creation Plan from its intended label.');
|
|
443
|
+
fleetCreationAccounts.set(guard, resolved);
|
|
444
|
+
for (const address of [
|
|
445
|
+
resolved.game,
|
|
446
|
+
resolved.profile,
|
|
447
|
+
resolved.system,
|
|
448
|
+
resolved.character,
|
|
449
|
+
resolved.profileFaction,
|
|
450
|
+
resolved.starbasePlayer,
|
|
451
|
+
resolved.fleet,
|
|
452
|
+
resolved.rent,
|
|
453
|
+
resolved.clock,
|
|
454
|
+
])
|
|
455
|
+
requiredAddresses.add(address);
|
|
456
|
+
}
|
|
457
|
+
for (const guard of preconditions) {
|
|
458
|
+
if (guard.kind !== 'fleet-add-ship')
|
|
459
|
+
continue;
|
|
460
|
+
const resolved = await resolveFleetShipAssembly(guard);
|
|
461
|
+
fleetAssemblyAccounts.set(guard, resolved);
|
|
462
|
+
assemblyGames.add(resolved.game);
|
|
463
|
+
for (const address of [
|
|
464
|
+
resolved.game,
|
|
465
|
+
resolved.profile,
|
|
466
|
+
resolved.system,
|
|
467
|
+
resolved.character,
|
|
468
|
+
resolved.profileFaction,
|
|
469
|
+
resolved.starbasePlayer,
|
|
470
|
+
resolved.fleet,
|
|
471
|
+
resolved.rent,
|
|
472
|
+
resolved.clock,
|
|
473
|
+
])
|
|
474
|
+
requiredAddresses.add(address);
|
|
475
|
+
}
|
|
476
|
+
for (const guard of preconditions) {
|
|
477
|
+
if (guard.kind !== 'ship-import-funding')
|
|
478
|
+
continue;
|
|
479
|
+
let resolved;
|
|
480
|
+
try {
|
|
481
|
+
resolved = await resolveShipImportFunding(guard);
|
|
482
|
+
}
|
|
483
|
+
catch {
|
|
484
|
+
throw new ActionPreconditionFailedError(guard, undefined, 'The ship import target does not match its Game, Profile and System. Refresh the canonical StarbasePlayer and prepare a new import.');
|
|
485
|
+
}
|
|
486
|
+
importFundingAccounts.set(guard, resolved);
|
|
487
|
+
for (const address of [
|
|
488
|
+
resolved.profile,
|
|
489
|
+
resolved.character,
|
|
490
|
+
resolved.starbasePlayer,
|
|
491
|
+
resolved.rent,
|
|
492
|
+
])
|
|
493
|
+
requiredAddresses.add(address);
|
|
494
|
+
}
|
|
495
|
+
const addresses = [...requiredAddresses];
|
|
297
496
|
const accounts = await readContextRawAccounts(context, addresses, {
|
|
298
497
|
commitment,
|
|
299
498
|
});
|
|
300
499
|
const byAddress = new Map(addresses.map((address, index) => [address, accounts[index]]));
|
|
301
500
|
const cargoIdsByGame = new Map();
|
|
302
501
|
for (const guard of preconditions) {
|
|
303
|
-
if (guard.kind !== 'game-cargo-config')
|
|
502
|
+
if (guard.kind !== 'game-cargo-bytes-config')
|
|
304
503
|
continue;
|
|
305
504
|
const ids = cargoIdsByGame.get(guard.address) ?? [];
|
|
306
505
|
ids.push(guard.cargoId);
|
|
307
506
|
cargoIdsByGame.set(guard.address, ids);
|
|
308
507
|
}
|
|
508
|
+
const shipIdsByGame = new Map();
|
|
509
|
+
for (const guard of preconditions) {
|
|
510
|
+
if (guard.kind !== 'game-ship-config')
|
|
511
|
+
continue;
|
|
512
|
+
const ids = shipIdsByGame.get(guard.address) ?? [];
|
|
513
|
+
ids.push(guard.shipId);
|
|
514
|
+
shipIdsByGame.set(guard.address, ids);
|
|
515
|
+
}
|
|
516
|
+
const shipHashesByGame = new Map();
|
|
309
517
|
// Invocation-local only: every execution attempt still reads and decodes fresh state.
|
|
310
518
|
const cargoHashesByGame = new Map();
|
|
311
519
|
const validatedGames = new Set();
|
|
520
|
+
const profileFunding = new Map();
|
|
521
|
+
const fundedTargets = new Set();
|
|
522
|
+
const recordFunding = (guard, funding) => {
|
|
523
|
+
// Repeated guards for one action are assertions, not additional debits.
|
|
524
|
+
// Every guard still validates its own ceiling before reaching here.
|
|
525
|
+
const target = `${guard.kind}:${guard.address}`;
|
|
526
|
+
if (fundedTargets.has(target))
|
|
527
|
+
return;
|
|
528
|
+
fundedTargets.add(target);
|
|
529
|
+
const current = profileFunding.get(guard.profile);
|
|
530
|
+
profileFunding.set(guard.profile, {
|
|
531
|
+
debit: (current?.debit ?? 0n) + funding.profileDebit,
|
|
532
|
+
reserve: funding.profileReserve,
|
|
533
|
+
guard,
|
|
534
|
+
});
|
|
535
|
+
};
|
|
536
|
+
const fleetFailure = (guard, error) => {
|
|
537
|
+
// Only SDK diagnostics from this bounded validation batch are exposed.
|
|
538
|
+
// Never stringify provider/codec objects or retain their inner causes.
|
|
539
|
+
if (error instanceof SageSdkError &&
|
|
540
|
+
error.address !== undefined &&
|
|
541
|
+
requiredAddresses.has(error.address))
|
|
542
|
+
return new ActionPreconditionFailedError(guard, byAddress.get(error.address)?.slot, error.message, error.address);
|
|
543
|
+
return new ActionPreconditionFailedError(guard, undefined, 'Fleet prerequisites could not be validated. Refresh the related accounts and replan with a supported binding version.');
|
|
544
|
+
};
|
|
312
545
|
for (const precondition of preconditions) {
|
|
313
546
|
const account = byAddress.get(precondition.address);
|
|
547
|
+
if (precondition.kind === 'scan-signal-open') {
|
|
548
|
+
if (precondition.game !== requireGameAddress(context))
|
|
549
|
+
throw new ActionPreconditionFailedError(precondition, undefined, 'This signal setup belongs to a different configured Game. Refetch and recreate the Plan using the intended Game context.');
|
|
550
|
+
try {
|
|
551
|
+
recordFunding(precondition, await validateOpenSignal(precondition, byAddress, precondition.authorityHash));
|
|
552
|
+
}
|
|
553
|
+
catch (error) {
|
|
554
|
+
throw fleetFailure(precondition, error);
|
|
555
|
+
}
|
|
556
|
+
continue;
|
|
557
|
+
}
|
|
558
|
+
if (precondition.kind === 'ship-import-funding') {
|
|
559
|
+
try {
|
|
560
|
+
const funding = validateShipImportFunding(precondition, importFundingAccounts.get(precondition), byAddress, precondition.maximumProfileDebit);
|
|
561
|
+
recordFunding(precondition, funding);
|
|
562
|
+
}
|
|
563
|
+
catch (error) {
|
|
564
|
+
throw fleetFailure(precondition, error);
|
|
565
|
+
}
|
|
566
|
+
continue;
|
|
567
|
+
}
|
|
568
|
+
if (precondition.kind === 'fleet-add-ship') {
|
|
569
|
+
try {
|
|
570
|
+
const game = byAddress.get(precondition.game);
|
|
571
|
+
let catalog = assemblyCatalogs.get(precondition.game);
|
|
572
|
+
if (!catalog && game) {
|
|
573
|
+
catalog = decodeGameShipAssemblyCatalog(game);
|
|
574
|
+
assemblyCatalogs.set(precondition.game, catalog);
|
|
575
|
+
}
|
|
576
|
+
const funding = await validateFleetShipAssembly(precondition, fleetAssemblyAccounts.get(precondition), byAddress, precondition, catalog);
|
|
577
|
+
recordFunding(precondition, funding);
|
|
578
|
+
}
|
|
579
|
+
catch (error) {
|
|
580
|
+
throw fleetFailure(precondition, error);
|
|
581
|
+
}
|
|
582
|
+
continue;
|
|
583
|
+
}
|
|
584
|
+
if (precondition.kind === 'fleet-create') {
|
|
585
|
+
try {
|
|
586
|
+
const funding = await validateFleetCreation(precondition, fleetCreationAccounts.get(precondition), byAddress, precondition.maximumProfileDebit);
|
|
587
|
+
recordFunding(precondition, funding);
|
|
588
|
+
}
|
|
589
|
+
catch (error) {
|
|
590
|
+
throw fleetFailure(precondition, error);
|
|
591
|
+
}
|
|
592
|
+
continue;
|
|
593
|
+
}
|
|
314
594
|
let narrowed = true;
|
|
315
595
|
if (precondition.kind === 'token-account')
|
|
316
596
|
narrowed =
|
|
317
597
|
account !== undefined && matchesTokenAccount(account, precondition);
|
|
318
|
-
if (precondition.kind === '
|
|
319
|
-
precondition.kind === '
|
|
598
|
+
if (precondition.kind === 'movement-character' ||
|
|
599
|
+
precondition.kind === 'starbase-system' ||
|
|
600
|
+
precondition.kind === 'fleet-mining' ||
|
|
601
|
+
isFactionTradeGuard(precondition) ||
|
|
602
|
+
precondition.kind === 'token-mint' ||
|
|
603
|
+
precondition.kind === 'game-ship-config' ||
|
|
604
|
+
precondition.kind === 'game-account' ||
|
|
605
|
+
precondition.kind === 'game-cargo-bytes-config' ||
|
|
320
606
|
precondition.kind === 'cargo-cache') {
|
|
321
607
|
try {
|
|
322
608
|
if (!account)
|
|
323
609
|
narrowed = false;
|
|
610
|
+
else if (precondition.kind === 'movement-character') {
|
|
611
|
+
narrowed =
|
|
612
|
+
precondition.game === requireGameAddress(context) &&
|
|
613
|
+
(await hashMovementCharacter(account, precondition)) ===
|
|
614
|
+
precondition.stateHash;
|
|
615
|
+
}
|
|
616
|
+
else if (precondition.kind === 'starbase-system') {
|
|
617
|
+
narrowed = precondition.game === requireGameAddress(context);
|
|
618
|
+
if (narrowed)
|
|
619
|
+
await validateStarbaseSystem(account, precondition);
|
|
620
|
+
}
|
|
621
|
+
else if (precondition.kind === 'fleet-mining') {
|
|
622
|
+
narrowed =
|
|
623
|
+
precondition.game === requireGameAddress(context) &&
|
|
624
|
+
(await matchesFleetMiningState(account, precondition));
|
|
625
|
+
}
|
|
626
|
+
else if (isFactionTradeGuard(precondition)) {
|
|
627
|
+
narrowed = await matchesFactionTradeState(account, precondition);
|
|
628
|
+
}
|
|
629
|
+
else if (precondition.kind === 'token-mint') {
|
|
630
|
+
narrowed = validateTokenMint(account) === precondition.decimals;
|
|
631
|
+
}
|
|
632
|
+
else if (precondition.kind === 'game-ship-config') {
|
|
633
|
+
let hashes = shipHashesByGame.get(precondition.address);
|
|
634
|
+
if (!hashes) {
|
|
635
|
+
let catalog = assemblyCatalogs.get(precondition.address);
|
|
636
|
+
if (!catalog && assemblyGames.has(precondition.address)) {
|
|
637
|
+
catalog = decodeGameShipAssemblyCatalog(account);
|
|
638
|
+
assemblyCatalogs.set(precondition.address, catalog);
|
|
639
|
+
}
|
|
640
|
+
hashes = await hashGameShipConfigurations(account, shipIdsByGame.get(precondition.address), catalog);
|
|
641
|
+
shipHashesByGame.set(precondition.address, hashes);
|
|
642
|
+
}
|
|
643
|
+
narrowed =
|
|
644
|
+
hashes.get(precondition.shipId) === precondition.configHash;
|
|
645
|
+
}
|
|
324
646
|
else if (precondition.kind === 'game-account') {
|
|
325
647
|
if (!validatedGames.has(account.address)) {
|
|
326
|
-
|
|
648
|
+
if (assemblyGames.has(precondition.address)) {
|
|
649
|
+
if (!assemblyCatalogs.has(precondition.address))
|
|
650
|
+
assemblyCatalogs.set(precondition.address, decodeGameShipAssemblyCatalog(account));
|
|
651
|
+
}
|
|
652
|
+
else
|
|
653
|
+
validateGameForCharacterRegistration(account);
|
|
327
654
|
validatedGames.add(account.address);
|
|
328
655
|
}
|
|
329
656
|
}
|
|
330
|
-
else if (precondition.kind === 'game-cargo-config') {
|
|
657
|
+
else if (precondition.kind === 'game-cargo-bytes-config') {
|
|
331
658
|
let hashes = cargoHashesByGame.get(precondition.address);
|
|
332
659
|
if (!hashes) {
|
|
333
|
-
|
|
660
|
+
const ids = cargoIdsByGame.get(precondition.address);
|
|
661
|
+
hashes = await hashGameCargoConfigurationGuards(account, ids);
|
|
334
662
|
cargoHashesByGame.set(precondition.address, hashes);
|
|
335
663
|
}
|
|
336
664
|
narrowed =
|
|
@@ -357,6 +685,11 @@ async function checkPreconditions(context, preconditions, commitment) {
|
|
|
357
685
|
(precondition.kind === 'token-account-or-absent' &&
|
|
358
686
|
account !== undefined &&
|
|
359
687
|
!matchesTokenAccount(account, precondition)) ||
|
|
688
|
+
(precondition.kind === 'system-account-or-absent' &&
|
|
689
|
+
account !== undefined &&
|
|
690
|
+
(account.owner !== '11111111111111111111111111111111' ||
|
|
691
|
+
account.executable ||
|
|
692
|
+
account.data.length !== 0)) ||
|
|
360
693
|
(precondition.kind === 'account-absent' && account !== undefined) ||
|
|
361
694
|
(precondition.kind === 'account-state' &&
|
|
362
695
|
(account === undefined ||
|
|
@@ -365,6 +698,13 @@ async function checkPreconditions(context, preconditions, commitment) {
|
|
|
365
698
|
throw new ActionPreconditionFailedError(precondition, account?.slot);
|
|
366
699
|
}
|
|
367
700
|
}
|
|
701
|
+
for (const [profile, funding] of profileFunding) {
|
|
702
|
+
// Validation above guarantees a fresh Profile from the same finite batch.
|
|
703
|
+
const account = byAddress.get(profile);
|
|
704
|
+
if (account.lamports < funding.reserve + funding.debit)
|
|
705
|
+
throw new ActionPreconditionFailedError(funding.guard, account.slot, 'The Profile cannot cover the combined Fleet creation, assembly and ship import debits while preserving its rent reserve. Fund the Profile or the Fleet/StarbasePlayer targets explicitly, then replan.', profile);
|
|
706
|
+
}
|
|
707
|
+
return registrationFunding;
|
|
368
708
|
}
|
|
369
709
|
function commitmentReached(actual, requested) {
|
|
370
710
|
if (actual === null)
|
|
@@ -591,7 +931,14 @@ export async function executePlanWithLifecycle(context, plan, options, lifecycle
|
|
|
591
931
|
const writeRpc = context.writeRpc;
|
|
592
932
|
if (writeRpc === undefined)
|
|
593
933
|
throw new MissingWriteTransportError();
|
|
594
|
-
|
|
934
|
+
// Guard order is not trusted: funding follows instruction order, including hydrated Plans.
|
|
935
|
+
const ordered = [...plan.preconditions].sort((a, b) => {
|
|
936
|
+
const index = (guard) => guard.kind === 'character-registration'
|
|
937
|
+
? plan.steps.findIndex((step) => step.instruction.accounts?.[2]?.address === guard.address)
|
|
938
|
+
: -1;
|
|
939
|
+
return index(a) - index(b);
|
|
940
|
+
});
|
|
941
|
+
const registrationFunding = await checkPreconditions(context, ordered, plan.steps, validated.commitment);
|
|
595
942
|
const transaction = await assemblePlan(context, plan, {
|
|
596
943
|
feePayer: validated.feePayer.address,
|
|
597
944
|
commitment: validated.commitment,
|
|
@@ -602,6 +949,25 @@ export async function executePlanWithLifecycle(context, plan, options, lifecycle
|
|
|
602
949
|
? {}
|
|
603
950
|
: { priorityFeeMicroLamports: validated.priorityFeeMicroLamports }),
|
|
604
951
|
});
|
|
952
|
+
if (registrationFunding.length > 0) {
|
|
953
|
+
if (typeof writeRpc.getFeeForMessage !== 'function')
|
|
954
|
+
throw new SageSdkError('MISSING_WRITE_TRANSPORT', 'The writeRpc transport has no callable getFeeForMessage method, so Character registration cannot check current transaction fees before signing. Update the custom writeRpc transport to implement the required SageWriteRpc getFeeForMessage method, then retry.');
|
|
955
|
+
const payer = validated.feePayer.address;
|
|
956
|
+
const { value: fee } = await writeRpc
|
|
957
|
+
.getFeeForMessage(getBase64Decoder().decode(transaction.messageBytes), { commitment: validated.commitment })
|
|
958
|
+
.send();
|
|
959
|
+
if (typeof fee !== 'bigint' || fee < 0n)
|
|
960
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Current transaction fee could not be determined. Refresh the blockhash and recreate the registration Plan before signing.', { address: payer });
|
|
961
|
+
if (!registrationFunding.some((funding) => funding.funder === payer)) {
|
|
962
|
+
const [account, rent] = await readContextRawAccounts(context, [payer, RENT_ADDRESS], { commitment: validated.commitment });
|
|
963
|
+
if (!account || !isEmptySystemAccount(account) || !rent)
|
|
964
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Registration fee payer must be an existing empty System wallet with current Rent available. Select and fund it separately.', { address: payer });
|
|
965
|
+
const remaining = account.lamports - fee;
|
|
966
|
+
if (remaining < 0n || (remaining > 0n && remaining < readRent(rent)(0)))
|
|
967
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Registration fee payer cannot pay the current fee and retain zero or a rent-exempt balance. Fund it separately.', { address: payer });
|
|
968
|
+
}
|
|
969
|
+
checkRegistrationFunding(registrationFunding, { payer, lamports: fee });
|
|
970
|
+
}
|
|
605
971
|
await lifecycle?.onPrepared(sendingSigner === undefined ? 'observable' : 'opaque');
|
|
606
972
|
const submission = await signAndSubmit(writeRpc, transaction, signers, sendingSigner, validated.commitment, lifecycle);
|
|
607
973
|
if (submission.status === 'unknown')
|