@aephia/atlas-kit 0.6.0-next.12 → 0.6.0-next.121
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 +2 -2
- package/dist/cargo/actions/deposit.d.ts.map +1 -1
- package/dist/cargo/actions/deposit.js +28 -117
- package/dist/cargo/actions/deposit.js.map +1 -1
- package/dist/cargo/actions/index.d.ts +1 -1
- package/dist/cargo/actions/index.d.ts.map +1 -1
- package/dist/cargo/actions/index.js +28 -84
- package/dist/cargo/actions/index.js.map +1 -1
- package/dist/cargo/actions/wallet-context.d.ts +52 -3
- package/dist/cargo/actions/wallet-context.d.ts.map +1 -1
- package/dist/cargo/actions/wallet-context.js +118 -7
- package/dist/cargo/actions/wallet-context.js.map +1 -1
- package/dist/cargo/actions/wallet-token.d.ts +1 -6
- package/dist/cargo/actions/wallet-token.d.ts.map +1 -1
- package/dist/cargo/actions/wallet-token.js +0 -53
- package/dist/cargo/actions/wallet-token.js.map +1 -1
- package/dist/cargo/actions/withdrawal.d.ts +1 -1
- package/dist/cargo/actions/withdrawal.d.ts.map +1 -1
- package/dist/cargo/actions/withdrawal.js +39 -164
- package/dist/cargo/actions/withdrawal.js.map +1 -1
- package/dist/cargo/index.d.ts.map +1 -1
- package/dist/cargo/index.js +2 -10
- package/dist/cargo/index.js.map +1 -1
- package/dist/claim-stakes/actions/index.d.ts +14 -1
- package/dist/claim-stakes/actions/index.d.ts.map +1 -1
- package/dist/claim-stakes/actions/index.js +399 -592
- 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 +25 -12
- 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 +4 -4
- package/dist/combat/actions/index.d.ts.map +1 -1
- package/dist/combat/actions/index.js +207 -261
- package/dist/combat/actions/index.js.map +1 -1
- package/dist/combat/index.d.ts +13 -3
- package/dist/combat/index.d.ts.map +1 -1
- package/dist/combat/index.js +9 -16
- package/dist/combat/index.js.map +1 -1
- package/dist/crafting/actions/index.d.ts +12 -1
- package/dist/crafting/actions/index.d.ts.map +1 -1
- package/dist/crafting/actions/index.js +181 -303
- 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 +49 -28
- package/dist/crafting/index.js.map +1 -1
- package/dist/factions/actions/index.d.ts +2 -1
- package/dist/factions/actions/index.d.ts.map +1 -1
- package/dist/factions/actions/index.js +6 -4
- package/dist/factions/actions/index.js.map +1 -1
- package/dist/factions/index.d.ts +1 -1
- package/dist/factions/index.d.ts.map +1 -1
- package/dist/factions/index.js +16 -18
- 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 +120 -0
- package/dist/fleets/actions/add-ship.js.map +1 -0
- package/dist/fleets/actions/create-fleet.d.ts +36 -0
- package/dist/fleets/actions/create-fleet.d.ts.map +1 -0
- package/dist/fleets/actions/create-fleet.js +108 -0
- package/dist/fleets/actions/create-fleet.js.map +1 -0
- package/dist/fleets/actions/crew-transfer.d.ts +41 -0
- package/dist/fleets/actions/crew-transfer.d.ts.map +1 -0
- package/dist/fleets/actions/crew-transfer.js +94 -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 +64 -24
- package/dist/fleets/actions/index.d.ts.map +1 -1
- package/dist/fleets/actions/index.js +385 -334
- package/dist/fleets/actions/index.js.map +1 -1
- package/dist/fleets/actions/respawn.d.ts +38 -0
- package/dist/fleets/actions/respawn.d.ts.map +1 -0
- package/dist/fleets/actions/respawn.js +93 -0
- package/dist/fleets/actions/respawn.js.map +1 -0
- package/dist/fleets/actions/ship-import.d.ts +1 -1
- package/dist/fleets/actions/ship-import.d.ts.map +1 -1
- package/dist/fleets/actions/ship-import.js +67 -91
- 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 +54 -12
- package/dist/fleets/index.js.map +1 -1
- package/dist/fleets/movement-arithmetic.d.ts +21 -0
- package/dist/fleets/movement-arithmetic.d.ts.map +1 -0
- package/dist/fleets/movement-arithmetic.js +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 +1 -1
- package/dist/identity/actions/create-profile.d.ts.map +1 -1
- package/dist/identity/actions/create-profile.js +2 -2
- package/dist/identity/actions/create-profile.js.map +1 -1
- package/dist/identity/actions/index.d.ts +4 -4
- package/dist/identity/actions/index.d.ts.map +1 -1
- package/dist/identity/actions/index.js +51 -29
- package/dist/identity/actions/index.js.map +1 -1
- package/dist/identity/index.d.ts +5 -2
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +6 -12
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/research-state.d.ts +60 -0
- package/dist/identity/research-state.d.ts.map +1 -0
- package/dist/identity/research-state.js +68 -0
- package/dist/identity/research-state.js.map +1 -0
- package/dist/index.d.ts +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 +49 -0
- package/dist/internal/c4/account-decoding.d.ts.map +1 -0
- package/dist/internal/c4/account-decoding.js +74 -0
- package/dist/internal/c4/account-decoding.js.map +1 -0
- package/dist/internal/c4/cargo-bytes-config.d.ts +7 -0
- package/dist/internal/c4/cargo-bytes-config.d.ts.map +1 -0
- package/dist/internal/c4/cargo-bytes-config.js +19 -0
- package/dist/internal/c4/cargo-bytes-config.js.map +1 -0
- package/dist/internal/c4/cargo-pod.d.ts +15 -0
- package/dist/internal/c4/cargo-pod.d.ts.map +1 -0
- package/dist/internal/c4/cargo-pod.js +13 -0
- package/dist/internal/c4/cargo-pod.js.map +1 -0
- package/dist/internal/c4/character-modifier.d.ts +1 -1
- package/dist/internal/c4/character-modifier.d.ts.map +1 -1
- package/dist/internal/c4/character-registration.d.ts +2 -0
- package/dist/internal/c4/character-registration.d.ts.map +1 -1
- package/dist/internal/c4/character-registration.js +2 -0
- package/dist/internal/c4/character-registration.js.map +1 -1
- package/dist/internal/c4/character.d.ts +157 -0
- package/dist/internal/c4/character.d.ts.map +1 -0
- package/dist/internal/c4/character.js +64 -0
- package/dist/internal/c4/character.js.map +1 -0
- package/dist/internal/c4/claim-stake-building-definitions.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake-building-definitions.js +2 -1
- package/dist/internal/c4/claim-stake-building-definitions.js.map +1 -1
- package/dist/internal/c4/claim-stake-configuration.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake-configuration.js +5 -36
- package/dist/internal/c4/claim-stake-configuration.js.map +1 -1
- package/dist/internal/c4/claim-stake-definitions.d.ts +4 -4
- package/dist/internal/c4/claim-stake-definitions.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake-definitions.js +2 -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 +38 -83
- package/dist/internal/c4/claim-stake.js.map +1 -1
- package/dist/internal/c4/combat.d.ts +1 -82
- package/dist/internal/c4/combat.d.ts.map +1 -1
- package/dist/internal/c4/combat.js +16 -213
- package/dist/internal/c4/combat.js.map +1 -1
- package/dist/internal/c4/crafting-process-codec.d.ts +13 -0
- package/dist/internal/c4/crafting-process-codec.d.ts.map +1 -0
- package/dist/internal/c4/crafting-process-codec.js +34 -0
- package/dist/internal/c4/crafting-process-codec.js.map +1 -0
- package/dist/internal/c4/crafting.d.ts +25 -33
- package/dist/internal/c4/crafting.d.ts.map +1 -1
- package/dist/internal/c4/crafting.js +76 -127
- package/dist/internal/c4/crafting.js.map +1 -1
- package/dist/internal/c4/currency-cache.d.ts +6 -0
- package/dist/internal/c4/currency-cache.d.ts.map +1 -0
- package/dist/internal/c4/currency-cache.js +27 -0
- package/dist/internal/c4/currency-cache.js.map +1 -0
- package/dist/internal/c4/discriminators.d.ts +81 -0
- package/dist/internal/c4/discriminators.d.ts.map +1 -0
- package/dist/internal/c4/discriminators.js +166 -0
- package/dist/internal/c4/discriminators.js.map +1 -0
- package/dist/internal/c4/docking-funding.d.ts +4 -0
- package/dist/internal/c4/docking-funding.d.ts.map +1 -0
- package/dist/internal/c4/docking-funding.js +11 -0
- package/dist/internal/c4/docking-funding.js.map +1 -0
- package/dist/internal/c4/faction-epoch-meter.d.ts +10 -0
- package/dist/internal/c4/faction-epoch-meter.d.ts.map +1 -0
- package/dist/internal/c4/faction-epoch-meter.js +26 -0
- package/dist/internal/c4/faction-epoch-meter.js.map +1 -0
- package/dist/internal/c4/faction-treasury.d.ts +23 -0
- package/dist/internal/c4/faction-treasury.d.ts.map +1 -0
- package/dist/internal/c4/faction-treasury.js +41 -0
- package/dist/internal/c4/faction-treasury.js.map +1 -0
- package/dist/internal/c4/faction.d.ts +21 -0
- package/dist/internal/c4/faction.d.ts.map +1 -0
- package/dist/internal/c4/faction.js +23 -0
- package/dist/internal/c4/faction.js.map +1 -0
- package/dist/internal/c4/factions.d.ts +13 -57
- package/dist/internal/c4/factions.d.ts.map +1 -1
- package/dist/internal/c4/factions.js +79 -222
- 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 +171 -0
- package/dist/internal/c4/fleet-creation.js.map +1 -0
- package/dist/internal/c4/fleet-crew-binding.d.ts +9 -0
- package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
- package/dist/internal/c4/fleet-crew-binding.js +31 -44
- package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
- package/dist/internal/c4/fleet-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 +48 -19
- package/dist/internal/c4/fleet.d.ts.map +1 -1
- package/dist/internal/c4/fleet.js +50 -87
- 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 +76 -30
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +173 -124
- package/dist/internal/c4/game.js.map +1 -1
- package/dist/internal/c4/identity.d.ts +3 -152
- package/dist/internal/c4/identity.d.ts.map +1 -1
- package/dist/internal/c4/identity.js +19 -126
- package/dist/internal/c4/identity.js.map +1 -1
- package/dist/internal/c4/local-market-order.d.ts +29 -0
- package/dist/internal/c4/local-market-order.d.ts.map +1 -0
- package/dist/internal/c4/local-market-order.js +46 -0
- package/dist/internal/c4/local-market-order.js.map +1 -0
- package/dist/internal/c4/loot-layout.js +1 -1
- package/dist/internal/c4/loot-layout.js.map +1 -1
- package/dist/internal/c4/loot.d.ts +87 -0
- package/dist/internal/c4/loot.d.ts.map +1 -0
- package/dist/internal/c4/loot.js +108 -0
- package/dist/internal/c4/loot.js.map +1 -0
- package/dist/internal/c4/loyalty.d.ts +0 -27
- package/dist/internal/c4/loyalty.d.ts.map +1 -1
- package/dist/internal/c4/loyalty.js +32 -160
- 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 +26 -120
- package/dist/internal/c4/market.js.map +1 -1
- package/dist/internal/c4/mining-instructions.d.ts +2 -0
- package/dist/internal/c4/mining-instructions.d.ts.map +1 -0
- package/dist/internal/c4/mining-instructions.js +3 -0
- package/dist/internal/c4/mining-instructions.js.map +1 -0
- package/dist/internal/c4/open-signal.d.ts +8 -0
- package/dist/internal/c4/open-signal.d.ts.map +1 -0
- package/dist/internal/c4/open-signal.js +37 -0
- package/dist/internal/c4/open-signal.js.map +1 -0
- package/dist/internal/c4/pda.d.ts +31 -0
- package/dist/internal/c4/pda.d.ts.map +1 -1
- package/dist/internal/c4/pda.js +60 -17
- package/dist/internal/c4/pda.js.map +1 -1
- package/dist/internal/c4/profile-faction.d.ts +2 -1
- package/dist/internal/c4/profile-faction.d.ts.map +1 -1
- package/dist/internal/c4/profile-faction.js +36 -72
- package/dist/internal/c4/profile-faction.js.map +1 -1
- package/dist/internal/c4/profile-permissions.d.ts +1 -1
- package/dist/internal/c4/profile-permissions.d.ts.map +1 -1
- package/dist/internal/c4/profile-permissions.js +2 -1
- package/dist/internal/c4/profile-permissions.js.map +1 -1
- package/dist/internal/c4/region-geometry.d.ts +8 -0
- package/dist/internal/c4/region-geometry.d.ts.map +1 -0
- package/dist/internal/c4/region-geometry.js +43 -0
- package/dist/internal/c4/region-geometry.js.map +1 -0
- package/dist/internal/c4/rewards.d.ts +1 -61
- package/dist/internal/c4/rewards.d.ts.map +1 -1
- package/dist/internal/c4/rewards.js +23 -203
- package/dist/internal/c4/rewards.js.map +1 -1
- package/dist/internal/c4/runtime-bindings.d.ts +4 -0
- package/dist/internal/c4/runtime-bindings.d.ts.map +1 -0
- package/dist/internal/c4/runtime-bindings.js +4 -0
- package/dist/internal/c4/runtime-bindings.js.map +1 -0
- package/dist/internal/c4/scan-detection-codecs.d.ts +3 -0
- package/dist/internal/c4/scan-detection-codecs.d.ts.map +1 -0
- package/dist/internal/c4/scan-detection-codecs.js +3 -0
- package/dist/internal/c4/scan-detection-codecs.js.map +1 -0
- package/dist/internal/c4/scan-lifecycle.d.ts +306 -0
- package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -0
- package/dist/internal/c4/scan-lifecycle.js +235 -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 +32 -103
- 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 +45 -43
- package/dist/internal/c4/ship-stats.js.map +1 -1
- package/dist/internal/c4/starbase.d.ts +0 -32
- package/dist/internal/c4/starbase.d.ts.map +1 -1
- package/dist/internal/c4/starbase.js +26 -136
- package/dist/internal/c4/starbase.js.map +1 -1
- package/dist/internal/c4/wallet-cargo-cache.js +2 -1
- package/dist/internal/c4/wallet-cargo-cache.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 +87 -129
- package/dist/internal/c4/world.js.map +1 -1
- package/dist/internal/cargo.d.ts +2 -0
- package/dist/internal/cargo.d.ts.map +1 -1
- package/dist/internal/cargo.js +8 -0
- package/dist/internal/cargo.js.map +1 -1
- package/dist/internal/fleet.d.ts +1 -0
- package/dist/internal/fleet.d.ts.map +1 -1
- package/dist/internal/fleet.js +3 -1
- package/dist/internal/fleet.js.map +1 -1
- package/dist/internal/loyalty-atlas-bank-state.d.ts +16 -0
- package/dist/internal/loyalty-atlas-bank-state.d.ts.map +1 -0
- package/dist/internal/loyalty-atlas-bank-state.js +10 -0
- package/dist/internal/loyalty-atlas-bank-state.js.map +1 -0
- package/dist/internal/planning/account-state.d.ts +6 -0
- package/dist/internal/planning/account-state.d.ts.map +1 -1
- package/dist/internal/planning/account-state.js +13 -0
- package/dist/internal/planning/account-state.js.map +1 -1
- package/dist/internal/planning/action-runtime.d.ts +38 -0
- package/dist/internal/planning/action-runtime.d.ts.map +1 -0
- package/dist/internal/planning/action-runtime.js +63 -0
- package/dist/internal/planning/action-runtime.js.map +1 -0
- package/dist/internal/planning/arrival-guards.d.ts +19 -0
- package/dist/internal/planning/arrival-guards.d.ts.map +1 -0
- package/dist/internal/planning/arrival-guards.js +172 -0
- package/dist/internal/planning/arrival-guards.js.map +1 -0
- package/dist/internal/planning/authorization-adapter.d.ts +45 -37
- package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
- package/dist/internal/planning/authorization-adapter.js +169 -81
- 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 +59 -0
- package/dist/internal/planning/character-registration-guard.js.map +1 -0
- package/dist/internal/planning/character-registration.d.ts +23 -0
- package/dist/internal/planning/character-registration.d.ts.map +1 -0
- package/dist/internal/planning/character-registration.js +87 -0
- package/dist/internal/planning/character-registration.js.map +1 -0
- package/dist/internal/planning/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 +33 -0
- package/dist/internal/planning/currency-cache-guard.js.map +1 -0
- package/dist/internal/planning/democracy-history.d.ts +50 -0
- package/dist/internal/planning/democracy-history.d.ts.map +1 -0
- package/dist/internal/planning/democracy-history.js +189 -0
- package/dist/internal/planning/democracy-history.js.map +1 -0
- package/dist/internal/planning/direct-options.d.ts +17 -0
- package/dist/internal/planning/direct-options.d.ts.map +1 -0
- package/dist/internal/planning/direct-options.js +43 -0
- package/dist/internal/planning/direct-options.js.map +1 -0
- package/dist/internal/planning/faction-enrollment.d.ts +0 -4
- package/dist/internal/planning/faction-enrollment.d.ts.map +1 -1
- package/dist/internal/planning/faction-enrollment.js +1 -31
- package/dist/internal/planning/faction-enrollment.js.map +1 -1
- package/dist/internal/planning/faction-trade-guards.d.ts +30 -0
- package/dist/internal/planning/faction-trade-guards.d.ts.map +1 -0
- package/dist/internal/planning/faction-trade-guards.js +15 -0
- package/dist/internal/planning/faction-trade-guards.js.map +1 -0
- package/dist/internal/planning/faction-trade-state.d.ts +16 -0
- package/dist/internal/planning/faction-trade-state.d.ts.map +1 -0
- package/dist/internal/planning/faction-trade-state.js +43 -0
- package/dist/internal/planning/faction-trade-state.js.map +1 -0
- package/dist/internal/planning/fleet-arrival.d.ts +40 -0
- package/dist/internal/planning/fleet-arrival.d.ts.map +1 -0
- package/dist/internal/planning/fleet-arrival.js +107 -0
- package/dist/internal/planning/fleet-arrival.js.map +1 -0
- package/dist/internal/planning/fleet-attack-xp.d.ts +20 -0
- package/dist/internal/planning/fleet-attack-xp.d.ts.map +1 -0
- package/dist/internal/planning/fleet-attack-xp.js +104 -0
- package/dist/internal/planning/fleet-attack-xp.js.map +1 -0
- package/dist/internal/planning/fleet-creation.d.ts +30 -0
- package/dist/internal/planning/fleet-creation.d.ts.map +1 -0
- package/dist/internal/planning/fleet-creation.js +89 -0
- package/dist/internal/planning/fleet-creation.js.map +1 -0
- package/dist/internal/planning/fleet-crew-guard.d.ts +28 -0
- package/dist/internal/planning/fleet-crew-guard.d.ts.map +1 -0
- package/dist/internal/planning/fleet-crew-guard.js +48 -0
- package/dist/internal/planning/fleet-crew-guard.js.map +1 -0
- package/dist/internal/planning/fleet-crew-transfer.d.ts +7 -0
- package/dist/internal/planning/fleet-crew-transfer.d.ts.map +1 -0
- package/dist/internal/planning/fleet-crew-transfer.js +123 -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 +209 -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 +43 -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 +71 -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 +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 +118 -0
- package/dist/internal/planning/fleet-ship-assembly.js.map +1 -0
- package/dist/internal/planning/fleet-state.d.ts +25 -0
- package/dist/internal/planning/fleet-state.d.ts.map +1 -0
- package/dist/internal/planning/fleet-state.js +28 -0
- package/dist/internal/planning/fleet-state.js.map +1 -0
- package/dist/internal/planning/governance-fees.d.ts +64 -0
- package/dist/internal/planning/governance-fees.d.ts.map +1 -0
- package/dist/internal/planning/governance-fees.js +231 -0
- package/dist/internal/planning/governance-fees.js.map +1 -0
- package/dist/internal/planning/local-market-order-funding.d.ts +8 -0
- package/dist/internal/planning/local-market-order-funding.d.ts.map +1 -0
- package/dist/internal/planning/local-market-order-funding.js +128 -0
- package/dist/internal/planning/local-market-order-funding.js.map +1 -0
- package/dist/internal/planning/local-market-order.d.ts +40 -0
- package/dist/internal/planning/local-market-order.d.ts.map +1 -0
- package/dist/internal/planning/local-market-order.js +139 -0
- package/dist/internal/planning/local-market-order.js.map +1 -0
- package/dist/internal/planning/mining-stop.d.ts +14 -0
- package/dist/internal/planning/mining-stop.d.ts.map +1 -0
- package/dist/internal/planning/mining-stop.js +42 -0
- package/dist/internal/planning/mining-stop.js.map +1 -0
- package/dist/internal/planning/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 +104 -0
- package/dist/internal/planning/movement-xp-guard.js.map +1 -0
- package/dist/internal/planning/open-signal-guard.d.ts +3 -0
- package/dist/internal/planning/open-signal-guard.d.ts.map +1 -0
- package/dist/internal/planning/open-signal-guard.js +32 -0
- package/dist/internal/planning/open-signal-guard.js.map +1 -0
- package/dist/internal/planning/open-signal.d.ts +31 -0
- package/dist/internal/planning/open-signal.d.ts.map +1 -0
- package/dist/internal/planning/open-signal.js +85 -0
- package/dist/internal/planning/open-signal.js.map +1 -0
- package/dist/internal/planning/original-token.d.ts +40 -0
- package/dist/internal/planning/original-token.d.ts.map +1 -0
- package/dist/internal/planning/original-token.js +112 -0
- package/dist/internal/planning/original-token.js.map +1 -0
- package/dist/internal/planning/own-starbase-facts.d.ts +33 -0
- package/dist/internal/planning/own-starbase-facts.d.ts.map +1 -0
- package/dist/internal/planning/own-starbase-facts.js +49 -0
- package/dist/internal/planning/own-starbase-facts.js.map +1 -0
- package/dist/internal/planning/plan-fields.d.ts +60 -0
- package/dist/internal/planning/plan-fields.d.ts.map +1 -0
- package/dist/internal/planning/plan-fields.js +159 -0
- package/dist/internal/planning/plan-fields.js.map +1 -0
- package/dist/internal/planning/plan-guards.d.ts +4 -0
- package/dist/internal/planning/plan-guards.d.ts.map +1 -0
- package/dist/internal/planning/plan-guards.js +168 -0
- package/dist/internal/planning/plan-guards.js.map +1 -0
- package/dist/internal/planning/profile-key.d.ts +13 -0
- package/dist/internal/planning/profile-key.d.ts.map +1 -0
- package/dist/internal/planning/profile-key.js +20 -0
- package/dist/internal/planning/profile-key.js.map +1 -0
- package/dist/internal/planning/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 +42 -0
- package/dist/internal/planning/respawn-guards.js.map +1 -0
- package/dist/internal/planning/runtime-guards.d.ts +41 -0
- package/dist/internal/planning/runtime-guards.d.ts.map +1 -0
- package/dist/internal/planning/runtime-guards.js +640 -0
- package/dist/internal/planning/runtime-guards.js.map +1 -0
- package/dist/internal/planning/scan-completion-guard.d.ts +43 -0
- package/dist/internal/planning/scan-completion-guard.d.ts.map +1 -0
- package/dist/internal/planning/scan-completion-guard.js +95 -0
- package/dist/internal/planning/scan-completion-guard.js.map +1 -0
- package/dist/internal/planning/scan-completion.d.ts +20 -0
- package/dist/internal/planning/scan-completion.d.ts.map +1 -0
- package/dist/internal/planning/scan-completion.js +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 +1 -6
- package/dist/internal/planning/ship-token.d.ts.map +1 -1
- package/dist/internal/planning/ship-token.js +2 -41
- package/dist/internal/planning/ship-token.js.map +1 -1
- package/dist/internal/planning/starbase-player-owner.d.ts +21 -0
- package/dist/internal/planning/starbase-player-owner.d.ts.map +1 -0
- package/dist/internal/planning/starbase-player-owner.js +17 -0
- package/dist/internal/planning/starbase-player-owner.js.map +1 -0
- package/dist/internal/planning/starbase-system-guard.d.ts +6 -0
- package/dist/internal/planning/starbase-system-guard.d.ts.map +1 -0
- package/dist/internal/planning/starbase-system-guard.js +94 -0
- package/dist/internal/planning/starbase-system-guard.js.map +1 -0
- package/dist/internal/planning/starbase-system.d.ts +15 -0
- package/dist/internal/planning/starbase-system.d.ts.map +1 -0
- package/dist/internal/planning/starbase-system.js +25 -0
- package/dist/internal/planning/starbase-system.js.map +1 -0
- package/dist/internal/planning/token-mint.d.ts +4 -0
- package/dist/internal/planning/token-mint.d.ts.map +1 -0
- package/dist/internal/planning/token-mint.js +16 -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/wallet-starbase.d.ts +34 -0
- package/dist/internal/planning/wallet-starbase.d.ts.map +1 -0
- package/dist/internal/planning/wallet-starbase.js +39 -0
- package/dist/internal/planning/wallet-starbase.js.map +1 -0
- package/dist/internal/planning/xp-runtime.d.ts +36 -0
- package/dist/internal/planning/xp-runtime.d.ts.map +1 -0
- package/dist/internal/planning/xp-runtime.js +117 -0
- package/dist/internal/planning/xp-runtime.js.map +1 -0
- package/dist/internal/read-meta.d.ts +12 -0
- package/dist/internal/read-meta.d.ts.map +1 -1
- package/dist/internal/read-meta.js +10 -0
- package/dist/internal/read-meta.js.map +1 -1
- package/dist/internal/system-program.d.ts +4 -0
- package/dist/internal/system-program.d.ts.map +1 -0
- package/dist/internal/system-program.js +3 -0
- package/dist/internal/system-program.js.map +1 -0
- package/dist/loyalty/actions/index.d.ts +1 -1
- package/dist/loyalty/actions/index.d.ts.map +1 -1
- package/dist/loyalty/actions/index.js +15 -45
- package/dist/loyalty/actions/index.js.map +1 -1
- package/dist/loyalty/index.d.ts.map +1 -1
- package/dist/loyalty/index.js +6 -18
- package/dist/loyalty/index.js.map +1 -1
- package/dist/markets/actions/index.d.ts +62 -4
- package/dist/markets/actions/index.d.ts.map +1 -1
- package/dist/markets/actions/index.js +230 -178
- 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 +277 -0
- package/dist/markets/actions/trade-faction-market.js.map +1 -0
- package/dist/markets/index.d.ts +38 -7
- package/dist/markets/index.d.ts.map +1 -1
- package/dist/markets/index.js +59 -20
- package/dist/markets/index.js.map +1 -1
- package/dist/mining/actions/index.d.ts +87 -0
- package/dist/mining/actions/index.d.ts.map +1 -0
- package/dist/mining/actions/index.js +319 -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 +10 -13
- package/dist/mining/index.js.map +1 -1
- package/dist/mining/profile.d.ts +82 -0
- package/dist/mining/profile.d.ts.map +1 -0
- package/dist/mining/profile.js +109 -0
- package/dist/mining/profile.js.map +1 -0
- package/dist/planning/assembly.d.ts +6 -1
- package/dist/planning/assembly.d.ts.map +1 -1
- package/dist/planning/assembly.js +12 -8
- package/dist/planning/assembly.js.map +1 -1
- package/dist/planning/execution.d.ts +19 -3
- package/dist/planning/execution.d.ts.map +1 -1
- package/dist/planning/execution.js +504 -72
- 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 +31 -355
- package/dist/planning/index.js.map +1 -1
- package/dist/planning/plan-construction.d.ts +25 -0
- package/dist/planning/plan-construction.d.ts.map +1 -0
- package/dist/planning/plan-construction.js +143 -0
- package/dist/planning/plan-construction.js.map +1 -0
- package/dist/planning/plan-sequence-checkpoint.d.ts +9 -0
- package/dist/planning/plan-sequence-checkpoint.d.ts.map +1 -1
- package/dist/planning/plan-sequence-checkpoint.js +16 -7
- package/dist/planning/plan-sequence-checkpoint.js.map +1 -1
- package/dist/planning/plan-sequence-execution.d.ts +5 -0
- package/dist/planning/plan-sequence-execution.d.ts.map +1 -1
- package/dist/planning/plan-sequence-execution.js +74 -40
- package/dist/planning/plan-sequence-execution.js.map +1 -1
- package/dist/planning/plan-sequence.d.ts +2 -1
- package/dist/planning/plan-sequence.d.ts.map +1 -1
- package/dist/planning/plan-sequence.js +8 -1
- package/dist/planning/plan-sequence.js.map +1 -1
- package/dist/planning/plan-validation.d.ts +17 -0
- package/dist/planning/plan-validation.d.ts.map +1 -0
- package/dist/planning/plan-validation.js +127 -0
- package/dist/planning/plan-validation.js.map +1 -0
- package/dist/planning/simulation.d.ts +25 -1
- package/dist/planning/simulation.d.ts.map +1 -1
- package/dist/planning/simulation.js +111 -11
- package/dist/planning/simulation.js.map +1 -1
- package/dist/registry/cargo.d.ts +7 -12
- package/dist/registry/cargo.d.ts.map +1 -1
- package/dist/registry/cargo.js +20 -20
- 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 +190 -224
- 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/rewards/index.d.ts +11 -5
- package/dist/rewards/index.d.ts.map +1 -1
- package/dist/rewards/index.js +10 -21
- package/dist/rewards/index.js.map +1 -1
- package/dist/scanning/actions/index.d.ts +116 -0
- package/dist/scanning/actions/index.d.ts.map +1 -0
- package/dist/scanning/actions/index.js +191 -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 +17 -21
- 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.d.ts +1 -1
- package/dist/starbases/actions/index.d.ts.map +1 -1
- package/dist/starbases/actions/index.js +16 -58
- package/dist/starbases/actions/index.js.map +1 -1
- package/dist/starbases/index.d.ts.map +1 -1
- package/dist/starbases/index.js +3 -11
- package/dist/starbases/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 +112 -15
- 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
|
@@ -1,14 +1,21 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LOCAL_MARKET_MAXIMUM_GROWTH_BYTES } from '../../internal/c4/local-market-order.js';
|
|
2
|
+
import { resolveMarketOrderAmounts } from '../../internal/planning/local-market-order-funding.js';
|
|
3
|
+
import { validateLocalMarketOrderInstructions, } from '../../internal/planning/local-market-order.js';
|
|
4
|
+
import { isPlanInstance } from '../../planning/plan-instances.js';
|
|
5
|
+
import {} from '@solana/kit';
|
|
6
|
+
import { resolveActionRuntime } from '../../internal/planning/action-runtime.js';
|
|
7
|
+
import { requireProfileStarbasePlayer } from '../../internal/planning/starbase-player-owner.js';
|
|
2
8
|
import { InvalidActionInputError, SageSdkError } from '../../client/errors.js';
|
|
3
9
|
import { readContextRawAccounts } from '../../client/reconciliation.js';
|
|
4
|
-
import {
|
|
5
|
-
import { characterAccountDefinition
|
|
10
|
+
import { OrderSide } from '../../internal/c4/runtime-bindings.js';
|
|
11
|
+
import { characterAccountDefinition } from '../../internal/c4/character.js';
|
|
6
12
|
import { deriveLocalMarketAddress, localMarketAccountDefinition, } from '../../internal/c4/market.js';
|
|
7
13
|
import { deriveStarbasePlayerAddress, starbasePlayerAccountDefinition, } from '../../internal/c4/starbase.js';
|
|
8
14
|
import { deriveStarSystemAddress, starSystemAccountDefinition, } from '../../internal/c4/world.js';
|
|
9
15
|
import { requireGameAddress } from '../../internal/game-context.js';
|
|
10
|
-
import { adaptCancelLocalMarketOrdersInstruction, adaptPlaceLocalMarketOrderInstruction,
|
|
11
|
-
import {
|
|
16
|
+
import { adaptCancelLocalMarketOrdersInstruction, adaptPlaceLocalMarketOrderInstruction, readPlanAuthorization, } from '../../internal/planning/authorization-adapter.js';
|
|
17
|
+
import { buildPlannerPlan } from '../../planning/plan-construction.js';
|
|
18
|
+
import { accountStatePrecondition } from '../../internal/planning/account-state.js';
|
|
12
19
|
const U64_MAX = (1n << 64n) - 1n;
|
|
13
20
|
const LEVELS = Object.freeze({
|
|
14
21
|
'level-0': 0,
|
|
@@ -44,10 +51,7 @@ function validateOptions(value) {
|
|
|
44
51
|
'priceRaw',
|
|
45
52
|
'quantity',
|
|
46
53
|
]);
|
|
47
|
-
const
|
|
48
|
-
assertKeys(authorizationRecord, 'authorization', ['profile', 'authority', 'keyIndex'], ['certificate']);
|
|
49
|
-
const authorization = authorizationRecord;
|
|
50
|
-
validatePlanAuthorization(authorization);
|
|
54
|
+
const authorization = readPlanAuthorization(options.authorization);
|
|
51
55
|
if (options.side !== 'bid' && options.side !== 'ask') {
|
|
52
56
|
invalid('side', options.side, 'either bid or ask', 'Set side to bid to buy cargo or ask to sell cargo before retrying.');
|
|
53
57
|
}
|
|
@@ -57,8 +61,11 @@ function validateOptions(value) {
|
|
|
57
61
|
invalid(field, amount, `a positive raw bigint from 1 through ${String(U64_MAX)} (unsigned u64)`, `Set ${field} to the exact positive raw value within the instruction codec range.`);
|
|
58
62
|
}
|
|
59
63
|
}
|
|
64
|
+
if (options.side === 'bid' &&
|
|
65
|
+
options.priceRaw * options.quantity > U64_MAX)
|
|
66
|
+
invalid('priceRaw × quantity', options.priceRaw * options.quantity, 'a bid principal within unsigned u64', 'Reduce the raw price or cargo quantity so the complete bid principal fits unsigned u64.');
|
|
60
67
|
return {
|
|
61
|
-
authorization,
|
|
68
|
+
authorization: { ...authorization },
|
|
62
69
|
priceRaw: options.priceRaw,
|
|
63
70
|
quantity: options.quantity,
|
|
64
71
|
side: options.side,
|
|
@@ -67,12 +74,9 @@ function validateOptions(value) {
|
|
|
67
74
|
function validateCancelOptions(value) {
|
|
68
75
|
const options = readRecord(value, 'options');
|
|
69
76
|
assertKeys(options, 'options', ['authorization', 'orderIds']);
|
|
70
|
-
const
|
|
71
|
-
assertKeys(authorizationRecord, 'authorization', ['profile', 'authority', 'keyIndex'], ['certificate']);
|
|
72
|
-
const authorization = authorizationRecord;
|
|
73
|
-
validatePlanAuthorization(authorization);
|
|
77
|
+
const authorization = readPlanAuthorization(options.authorization);
|
|
74
78
|
if (!Array.isArray(options.orderIds)) {
|
|
75
|
-
invalid('orderIds', options.orderIds, 'a dense array of unique
|
|
79
|
+
invalid('orderIds', options.orderIds, 'a dense array of unique unsigned-u64 bigint integers', 'Provide orderIds as a plain array, or an empty array to withdraw filled escrow only.');
|
|
76
80
|
}
|
|
77
81
|
const orderIds = options.orderIds;
|
|
78
82
|
const seen = new Set();
|
|
@@ -81,8 +85,8 @@ function validateCancelOptions(value) {
|
|
|
81
85
|
invalid('orderIds', orderIds, 'a dense array without missing elements', 'Remove sparse positions from orderIds before retrying.');
|
|
82
86
|
}
|
|
83
87
|
const orderId = orderIds[index];
|
|
84
|
-
if (
|
|
85
|
-
invalid(`orderIds[${String(index)}]`, orderId, '
|
|
88
|
+
if (typeof orderId !== 'bigint' || orderId < 0n || orderId > U64_MAX) {
|
|
89
|
+
invalid(`orderIds[${String(index)}]`, orderId, 'an unsigned-u64 bigint integer', 'Use the exact finite order id exposed by the Local Market snapshot.');
|
|
86
90
|
}
|
|
87
91
|
if (seen.has(orderId)) {
|
|
88
92
|
invalid(`orderIds[${String(index)}]`, orderId, 'a unique order id that appears once', 'Remove duplicate order ids before retrying.');
|
|
@@ -113,21 +117,77 @@ function sameBalances(snapshot, account) {
|
|
|
113
117
|
return account.some((amount) => amount.cargoId === item.id && amount.amount === item.quantityRaw);
|
|
114
118
|
});
|
|
115
119
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
120
|
+
/** Snapshot facts both Local Market planners check before reads: one System,
|
|
121
|
+
* the authorization Profile's canonical Starbase Player and the canonical
|
|
122
|
+
* Market address. Returns the canonical Character. */
|
|
123
|
+
async function requireMarketSnapshots(market, player, profile, game) {
|
|
124
|
+
if (market.system.address !== player.system.address) {
|
|
125
|
+
fail(`Local Market ${market.address} is in System ${market.system.address}, not Starbase Player System ${player.system.address}. Choose a Market at the player's Starbase and retry.`, market.address);
|
|
126
|
+
}
|
|
127
|
+
const character = await requireProfileStarbasePlayer(player, profile, game);
|
|
128
|
+
if ((await deriveLocalMarketAddress(market.system.address, market.cargo.id, market.starbaseSequenceId)) !== market.address) {
|
|
129
|
+
fail(`Local Market ${market.address} does not match cargo ${String(market.cargo.id)} and Starbase sequence ${String(market.starbaseSequenceId)}. Refresh the Local Market and retry.`, market.address);
|
|
130
|
+
}
|
|
131
|
+
return character;
|
|
123
132
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
133
|
+
/** Reads the canonical Character, the System, the Starbase Player and the
|
|
134
|
+
* Local Market, and requires their shared identity: the Character of the
|
|
135
|
+
* Profile in the configured Game, the canonical System, the canonical Starbase
|
|
136
|
+
* Player of the Profile, Character and System, and the canonical Market of the
|
|
137
|
+
* loaded System, Starbase sequence, cargo and initializer. `action` completes
|
|
138
|
+
* the Starbase Player remedy. */
|
|
139
|
+
async function readMarketFacts(ctx, market, player, character, profile, game, action) {
|
|
140
|
+
const [characterCandidate, systemCandidate, playerCandidate, marketCandidate,] = await readContextRawAccounts(ctx, [
|
|
141
|
+
character,
|
|
142
|
+
player.system.address,
|
|
143
|
+
player.address,
|
|
144
|
+
market.address,
|
|
145
|
+
]);
|
|
146
|
+
const characterAccount = requireAccount(characterCandidate, character, `Canonical Character ${character} is missing for Profile ${profile}. Create or repair the Character in the configured Game, refresh the Starbase Player, and retry.`);
|
|
147
|
+
const systemAccount = requireAccount(systemCandidate, player.system.address, `Star System ${player.system.address} is missing. Refresh the Starbase Player and Local Market, then retry.`);
|
|
148
|
+
const playerAccount = requireAccount(playerCandidate, player.address, `Starbase Player ${player.address} is missing. Refresh the Starbase Player and retry ${action}.`);
|
|
149
|
+
const marketAccount = requireAccount(marketCandidate, market.address, `Local Market ${market.address} is missing. Refresh the Local Market and retry.`);
|
|
150
|
+
const characterData = characterAccountDefinition.decode(characterAccount);
|
|
151
|
+
if (characterAccount.address !== character ||
|
|
152
|
+
characterData.playerProfile !== profile ||
|
|
153
|
+
characterData.game !== game) {
|
|
154
|
+
fail(`The canonical Character does not match Profile ${profile} and the configured Game ${game}. Refresh or repair the Character relationship before retrying.`, characterAccount.address);
|
|
155
|
+
}
|
|
156
|
+
const systemData = starSystemAccountDefinition.decode(systemAccount);
|
|
157
|
+
if (systemAccount.address !== player.system.address ||
|
|
158
|
+
(await deriveStarSystemAddress(game, systemData.systemId)) !==
|
|
159
|
+
player.system.address ||
|
|
160
|
+
systemData.game !== game) {
|
|
161
|
+
fail(`Star System ${player.system.address} does not match its canonical System id and configured Game ${game}. Refresh the Starbase Player and Local Market, then retry.`, player.system.address);
|
|
162
|
+
}
|
|
163
|
+
const playerData = starbasePlayerAccountDefinition.decode(playerAccount);
|
|
164
|
+
if (playerAccount.address !== player.address ||
|
|
165
|
+
playerData.playerProfile !== profile ||
|
|
166
|
+
playerData.character !== character ||
|
|
167
|
+
playerData.system !== player.system.address ||
|
|
168
|
+
(await deriveStarbasePlayerAddress(playerData.system, playerData.character)) !== player.address) {
|
|
169
|
+
fail(`Starbase Player ${player.address} changed or does not match its canonical Profile, Character, or System. Refresh the Starbase Player through this context and retry.`, player.address);
|
|
170
|
+
}
|
|
171
|
+
const marketData = localMarketAccountDefinition.decode(marketAccount);
|
|
172
|
+
if (marketAccount.address !== market.address ||
|
|
173
|
+
marketData.system !== market.system.address ||
|
|
174
|
+
marketData.starbaseSequenceId !== market.starbaseSequenceId ||
|
|
175
|
+
marketData.version !== market.version ||
|
|
176
|
+
marketData.bump !== market.bump ||
|
|
177
|
+
marketData.initializerProfile !== market.initializerProfile.address ||
|
|
178
|
+
marketData.cargo.cargoId !== market.cargo.id ||
|
|
179
|
+
(await deriveLocalMarketAddress(marketData.system, marketData.cargo.cargoId, marketData.starbaseSequenceId)) !== market.address) {
|
|
180
|
+
fail(`Local Market ${market.address} changed or does not match its canonical System, Starbase sequence, cargo, or initializer. Refresh the Local Market through this context and retry.`, market.address);
|
|
181
|
+
}
|
|
182
|
+
return {
|
|
183
|
+
characterAccount,
|
|
184
|
+
characterData,
|
|
185
|
+
marketAccount,
|
|
186
|
+
marketData,
|
|
187
|
+
playerAccount,
|
|
188
|
+
playerData,
|
|
189
|
+
systemData,
|
|
190
|
+
};
|
|
131
191
|
}
|
|
132
192
|
/** Plans one Local Market bid or ask without signing, simulation, or writes.
|
|
133
193
|
*
|
|
@@ -135,6 +195,8 @@ async function precondition(account, describes) {
|
|
|
135
195
|
* canonical Character/System/Game graph, the current market-enabled Starbase
|
|
136
196
|
* incarnation, and the known bid ATLAS or ask cargo balance. Matching, rent,
|
|
137
197
|
* final capacity, permissions, and state races remain chain-authoritative.
|
|
198
|
+
* A valid Profile below the conservative storage ceiling still produces a Plan;
|
|
199
|
+
* its debit bounds are unavailable with reason `profile-below-storage-ceiling`.
|
|
138
200
|
*
|
|
139
201
|
* @example
|
|
140
202
|
* ```ts
|
|
@@ -149,60 +211,21 @@ async function precondition(account, describes) {
|
|
|
149
211
|
export async function planPlaceLocalMarketOrder(ctx, market, player, input) {
|
|
150
212
|
const options = validateOptions(input);
|
|
151
213
|
const game = requireGameAddress(ctx);
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
}
|
|
155
|
-
if (player.playerProfile.address !== options.authorization.profile) {
|
|
156
|
-
fail(`Starbase Player ${player.address} does not belong to authorization Profile ${options.authorization.profile}. Refresh the Starbase Player for that Profile and retry.`, player.address);
|
|
157
|
-
}
|
|
158
|
-
const character = await findCharacterPda(options.authorization.profile, game);
|
|
159
|
-
if (player.character.address !== character) {
|
|
160
|
-
fail(`Starbase Player ${player.address} does not reference the canonical Character ${character} for authorization Profile ${options.authorization.profile}. Refresh the Starbase Player and retry.`, player.address);
|
|
161
|
-
}
|
|
162
|
-
const canonicalPlayer = await deriveStarbasePlayerAddress(player.system.address, character);
|
|
163
|
-
if (canonicalPlayer !== player.address) {
|
|
164
|
-
fail(`Starbase Player ${player.address} is not canonical for its Character and System. Refresh the Starbase Player through this context and retry.`, player.address);
|
|
165
|
-
}
|
|
166
|
-
const canonicalMarket = await deriveLocalMarketAddress(market.system.address, market.cargo.id, market.starbaseSequenceId);
|
|
167
|
-
if (canonicalMarket !== market.address) {
|
|
168
|
-
fail(`Local Market ${market.address} does not match cargo ${String(market.cargo.id)} and Starbase sequence ${String(market.starbaseSequenceId)}. Refresh the active Local Market and retry.`, market.address);
|
|
169
|
-
}
|
|
214
|
+
const { profile } = options.authorization;
|
|
215
|
+
const character = await requireMarketSnapshots(market, player, profile, game);
|
|
170
216
|
if (options.side === 'ask') {
|
|
171
217
|
const available = balance(player.cargo.items, market.cargo.id);
|
|
172
218
|
if (available < options.quantity) {
|
|
173
219
|
fail(`Starbase Player ${player.address} has ${String(available)} raw ${market.cargo.name}, but this ask requires ${String(options.quantity)}. Add the missing cargo, refresh the Starbase Player, and retry.`, player.address);
|
|
174
220
|
}
|
|
175
221
|
}
|
|
176
|
-
const
|
|
177
|
-
character,
|
|
178
|
-
player.system.address,
|
|
179
|
-
player.address,
|
|
180
|
-
market.address,
|
|
181
|
-
];
|
|
182
|
-
const reads = await readContextRawAccounts(ctx, addresses);
|
|
183
|
-
const characterAccount = requireAccount(reads[0], character, `Canonical Character ${character} is missing for Profile ${options.authorization.profile}. Create or repair the Character in the configured Game, refresh the Starbase Player, and retry.`);
|
|
184
|
-
const systemAccount = requireAccount(reads[1], player.system.address, `Star System ${player.system.address} is missing. Refresh the Starbase Player and Local Market, then retry.`);
|
|
185
|
-
const playerAccount = requireAccount(reads[2], player.address, `Starbase Player ${player.address} is missing. Refresh the Starbase Player and retry placing the order.`);
|
|
186
|
-
const marketAccount = requireAccount(reads[3], market.address, `Local Market ${market.address} is missing. Refresh the active Local Market and retry.`);
|
|
187
|
-
const characterData = characterAccountDefinition.decode(characterAccount);
|
|
188
|
-
if (characterAccount.address !== character ||
|
|
189
|
-
characterData.playerProfile !== options.authorization.profile ||
|
|
190
|
-
characterData.game !== game) {
|
|
191
|
-
fail(`The canonical Character does not match Profile ${options.authorization.profile} and the configured Game ${game}. Refresh or repair the Character relationship before retrying.`, characterAccount.address);
|
|
192
|
-
}
|
|
222
|
+
const { characterAccount, characterData, marketAccount, marketData, playerAccount, playerData, systemData, } = await readMarketFacts(ctx, market, player, character, profile, game, 'placing the order');
|
|
193
223
|
if (options.side === 'bid') {
|
|
194
224
|
const required = options.priceRaw * options.quantity;
|
|
195
225
|
if (characterData.atlasRaw < required) {
|
|
196
226
|
fail(`Character ${character} has ${String(characterData.atlasRaw)} raw ATLAS, but this bid requires ${String(required)}. Add the missing ATLAS, refresh the Character, and retry.`, character);
|
|
197
227
|
}
|
|
198
228
|
}
|
|
199
|
-
const systemData = starSystemAccountDefinition.decode(systemAccount);
|
|
200
|
-
const canonicalSystem = await deriveStarSystemAddress(game, systemData.systemId);
|
|
201
|
-
if (systemAccount.address !== player.system.address ||
|
|
202
|
-
canonicalSystem !== player.system.address ||
|
|
203
|
-
systemData.game !== game) {
|
|
204
|
-
fail(`Star System ${player.system.address} does not match its canonical System id and configured Game ${game}. Refresh the Starbase Player and Local Market, then retry.`, player.system.address);
|
|
205
|
-
}
|
|
206
229
|
if (systemData.sequenceId !== market.starbaseSequenceId) {
|
|
207
230
|
fail(`Local Market ${market.address} has Starbase sequence ${String(market.starbaseSequenceId)}, but System ${player.system.address} is now sequence ${String(systemData.sequenceId)}. Refresh the active Local Market and retry.`, market.address);
|
|
208
231
|
}
|
|
@@ -213,43 +236,67 @@ export async function planPlaceLocalMarketOrder(ctx, market, player, input) {
|
|
|
213
236
|
LEVELS[systemData.starbase.localMarketEnableLevel]) {
|
|
214
237
|
fail(`Starbase ${player.system.address} is ${systemData.starbase.level}, but its Local Market requires ${systemData.starbase.localMarketEnableLevel}. Choose an active market-enabled Starbase, refresh it, and retry.`, player.system.address);
|
|
215
238
|
}
|
|
216
|
-
|
|
217
|
-
if (playerAccount.address !== player.address ||
|
|
218
|
-
playerData.playerProfile !== options.authorization.profile ||
|
|
219
|
-
playerData.character !== character ||
|
|
220
|
-
playerData.system !== player.system.address ||
|
|
221
|
-
(await deriveStarbasePlayerAddress(playerData.system, playerData.character)) !== player.address ||
|
|
222
|
-
playerData.sequenceId !== player.sequenceId ||
|
|
239
|
+
if (playerData.sequenceId !== player.sequenceId ||
|
|
223
240
|
!sameBalances(player.cargo.items, playerData.cargo.amounts)) {
|
|
224
|
-
fail(`Starbase Player ${player.address} changed
|
|
241
|
+
fail(`Starbase Player ${player.address} changed its sequence or cargo state. Refresh the Starbase Player through this context and retry.`, player.address);
|
|
225
242
|
}
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
marketData.starbaseSequenceId !== market.starbaseSequenceId ||
|
|
230
|
-
marketData.version !== market.version ||
|
|
231
|
-
marketData.bump !== market.bump ||
|
|
232
|
-
marketData.initializerProfile !== market.initializerProfile.address ||
|
|
233
|
-
marketData.cargo.cargoId !== market.cargo.id ||
|
|
234
|
-
marketData.cargo.amountRaw !== market.cargo.amountRaw ||
|
|
235
|
-
marketData.vaultRaw !== market.vaultRaw ||
|
|
236
|
-
(await deriveLocalMarketAddress(marketData.system, marketData.cargo.cargoId, marketData.starbaseSequenceId)) !== market.address) {
|
|
237
|
-
fail(`Local Market ${market.address} changed or does not match its canonical System, Starbase sequence, cargo, initializer, or vault state. Refresh the Local Market through this context and retry.`, market.address);
|
|
243
|
+
if (marketData.cargo.amountRaw !== market.cargo.amountRaw ||
|
|
244
|
+
marketData.vaultRaw !== market.vaultRaw) {
|
|
245
|
+
fail(`Local Market ${market.address} changed its cargo or vault state. Refresh the Local Market through this context and retry.`, market.address);
|
|
238
246
|
}
|
|
239
|
-
const
|
|
247
|
+
const runtime = await resolveActionRuntime(ctx, {
|
|
248
|
+
mode: 'market',
|
|
249
|
+
game,
|
|
250
|
+
system: player.system.address,
|
|
251
|
+
starbaseSeqId: market.starbaseSequenceId,
|
|
252
|
+
});
|
|
253
|
+
const intent = {
|
|
254
|
+
address: market.address,
|
|
255
|
+
game,
|
|
256
|
+
system: player.system.address,
|
|
257
|
+
profile,
|
|
258
|
+
authority: options.authorization.authority,
|
|
259
|
+
...(options.authorization.certificate
|
|
260
|
+
? { certificate: options.authorization.certificate }
|
|
261
|
+
: {}),
|
|
262
|
+
keyIndex: options.authorization.keyIndex,
|
|
263
|
+
character,
|
|
264
|
+
starbasePlayer: player.address,
|
|
265
|
+
starbaseSequenceId: market.starbaseSequenceId,
|
|
266
|
+
cargoId: market.cargo.id,
|
|
267
|
+
side: options.side,
|
|
268
|
+
priceRaw: options.priceRaw,
|
|
269
|
+
quantity: options.quantity,
|
|
270
|
+
};
|
|
271
|
+
const amounts = await resolveMarketOrderAmounts(ctx, intent, marketAccount, playerAccount, characterAccount, runtime.guards);
|
|
272
|
+
const debitGuard = {
|
|
273
|
+
kind: 'local-market-order',
|
|
274
|
+
...intent,
|
|
275
|
+
...amounts,
|
|
276
|
+
describes: amounts.status === 'available'
|
|
277
|
+
? `Maximum order debits: ${String(amounts.maximumCargoDebitRaw)} raw cargo, ${String(amounts.maximumAtlasDebitRaw)} ATLAS Floyds including zero governance fee, and ${String(amounts.maximumProfileDebit)} Profile lamports for conservative storage growth. No fill or proceeds are promised; transaction fees are separate. Ceilings are rechecked before signing, not enforced atomically on chain.`
|
|
278
|
+
: `Local Market debit bounds are unavailable (${amounts.reason}). No fee, rent or spending ceiling is claimed; inspect the route separately before authorizing it.`,
|
|
279
|
+
};
|
|
280
|
+
const encodedSide = options.side === 'bid' ? OrderSide.Bid : OrderSide.Ask;
|
|
240
281
|
const description = `Place ${options.side} for ${String(options.quantity)} raw units of ${market.cargo.name} at raw price ${String(options.priceRaw)} ATLAS Floyds each on Local Market ${market.address}.`;
|
|
241
|
-
return
|
|
282
|
+
return buildPlannerPlan({
|
|
242
283
|
kind: 'markets.place-local-order',
|
|
243
|
-
preconditions:
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
284
|
+
preconditions: [
|
|
285
|
+
debitGuard,
|
|
286
|
+
...runtime.guards,
|
|
287
|
+
...(await Promise.all([
|
|
288
|
+
accountStatePrecondition(characterAccount, `The canonical Character retains Profile ${profile}, the configured Game, and the validated raw ATLAS balance.`),
|
|
289
|
+
accountStatePrecondition(playerAccount, `Starbase Player ${player.address} retains its Profile, Character, System, sequence, and cargo inventory.`),
|
|
290
|
+
accountStatePrecondition(marketAccount, `Local Market ${market.address} retains its System, Starbase sequence, cargo, initializer, and vault state.`),
|
|
291
|
+
])),
|
|
292
|
+
],
|
|
249
293
|
steps: [
|
|
250
294
|
{
|
|
251
|
-
describes: description
|
|
295
|
+
describes: `${description} ${runtime.description} ${debitGuard.describes}`,
|
|
252
296
|
instruction: adaptPlaceLocalMarketOrderInstruction({
|
|
297
|
+
...runtime.accounts,
|
|
298
|
+
starbaseGovernance: runtime.accounts.starbaseGovernance,
|
|
299
|
+
currencyCache: runtime.accounts.currencyCache,
|
|
253
300
|
authorization: options.authorization,
|
|
254
301
|
character,
|
|
255
302
|
game,
|
|
@@ -263,7 +310,7 @@ export async function planPlaceLocalMarketOrder(ctx, market, player, input) {
|
|
|
263
310
|
signers: [options.authorization.authority],
|
|
264
311
|
},
|
|
265
312
|
],
|
|
266
|
-
summary: description
|
|
313
|
+
summary: `${description} ${runtime.description} ${debitGuard.describes}`,
|
|
267
314
|
});
|
|
268
315
|
}
|
|
269
316
|
/** Plans cancellation of owned Local Market orders and filled-escrow withdrawal.
|
|
@@ -286,32 +333,16 @@ export async function planPlaceLocalMarketOrder(ctx, market, player, input) {
|
|
|
286
333
|
export async function planCancelLocalMarketOrders(ctx, market, player, input) {
|
|
287
334
|
const options = validateCancelOptions(input);
|
|
288
335
|
const game = requireGameAddress(ctx);
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
}
|
|
292
|
-
if (player.playerProfile.address !== options.authorization.profile) {
|
|
293
|
-
fail(`Starbase Player ${player.address} does not belong to authorization Profile ${options.authorization.profile}. Refresh the Starbase Player for that Profile and retry.`, player.address);
|
|
294
|
-
}
|
|
295
|
-
const character = await findCharacterPda(options.authorization.profile, game);
|
|
296
|
-
if (player.character.address !== character) {
|
|
297
|
-
fail(`Starbase Player ${player.address} does not reference the canonical Character ${character} for authorization Profile ${options.authorization.profile}. Refresh the Starbase Player and retry.`, player.address);
|
|
298
|
-
}
|
|
299
|
-
const canonicalPlayer = await deriveStarbasePlayerAddress(player.system.address, character);
|
|
300
|
-
if (canonicalPlayer !== player.address) {
|
|
301
|
-
fail(`Starbase Player ${player.address} is not canonical for its Character and System. Refresh the Starbase Player through this context and retry.`, player.address);
|
|
302
|
-
}
|
|
303
|
-
const canonicalMarket = await deriveLocalMarketAddress(market.system.address, market.cargo.id, market.starbaseSequenceId);
|
|
304
|
-
if (canonicalMarket !== market.address) {
|
|
305
|
-
fail(`Local Market ${market.address} does not match cargo ${String(market.cargo.id)} and Starbase sequence ${String(market.starbaseSequenceId)}. Refresh the Local Market and retry.`, market.address);
|
|
306
|
-
}
|
|
336
|
+
const { profile } = options.authorization;
|
|
337
|
+
const character = await requireMarketSnapshots(market, player, profile, game);
|
|
307
338
|
const snapshotOrders = [...market.bids.orders, ...market.asks.orders];
|
|
308
339
|
const selected = options.orderIds.map((orderId) => {
|
|
309
|
-
const matches = snapshotOrders.filter((candidate) => candidate.orderId ===
|
|
340
|
+
const matches = snapshotOrders.filter((candidate) => candidate.orderId === orderId);
|
|
310
341
|
if (matches.length === 0) {
|
|
311
342
|
return fail(`Local Market order ${String(orderId)} is not present in snapshot ${market.address}. Refresh the Local Market and select an existing owned order before retrying.`, market.address);
|
|
312
343
|
}
|
|
313
|
-
if (matches.some((candidate) => candidate.maker !==
|
|
314
|
-
return fail(`Local Market order ${String(orderId)} belongs to another
|
|
344
|
+
if (matches.some((candidate) => candidate.maker !== profile)) {
|
|
345
|
+
return fail(`Local Market order ${String(orderId)} belongs to another Profile, not ${profile}. Select only orders owned by the authorization Profile.`, market.address);
|
|
315
346
|
}
|
|
316
347
|
if (matches.length !== 1) {
|
|
317
348
|
return fail(`Local Market order id ${String(orderId)} is ambiguous across the order books. Refresh the Market and wait for an unambiguous owned selection before retrying.`, market.address);
|
|
@@ -323,49 +354,7 @@ export async function planCancelLocalMarketOrders(ctx, market, player, input) {
|
|
|
323
354
|
side: match.side,
|
|
324
355
|
};
|
|
325
356
|
});
|
|
326
|
-
const
|
|
327
|
-
character,
|
|
328
|
-
player.system.address,
|
|
329
|
-
player.address,
|
|
330
|
-
market.address,
|
|
331
|
-
];
|
|
332
|
-
const reads = await readContextRawAccounts(ctx, addresses);
|
|
333
|
-
const characterAccount = requireAccount(reads[0], character, `Canonical Character ${character} is missing for Profile ${options.authorization.profile}. Create or repair the Character, refresh the Starbase Player, and retry.`);
|
|
334
|
-
const systemAccount = requireAccount(reads[1], player.system.address, `Star System ${player.system.address} is missing. Refresh the Starbase Player and Local Market, then retry.`);
|
|
335
|
-
const playerAccount = requireAccount(reads[2], player.address, `Starbase Player ${player.address} is missing. Refresh the Starbase Player and retry cancelling the orders.`);
|
|
336
|
-
const marketAccount = requireAccount(reads[3], market.address, `Local Market ${market.address} is missing. Refresh the Local Market and retry.`);
|
|
337
|
-
const characterData = characterAccountDefinition.decode(characterAccount);
|
|
338
|
-
if (characterAccount.address !== character ||
|
|
339
|
-
characterData.playerProfile !== options.authorization.profile ||
|
|
340
|
-
characterData.game !== game) {
|
|
341
|
-
fail(`The canonical Character does not match Profile ${options.authorization.profile} and the configured Game ${game}. Refresh or repair the Character relationship before retrying.`, characterAccount.address);
|
|
342
|
-
}
|
|
343
|
-
const systemData = starSystemAccountDefinition.decode(systemAccount);
|
|
344
|
-
const canonicalSystem = await deriveStarSystemAddress(game, systemData.systemId);
|
|
345
|
-
if (systemAccount.address !== player.system.address ||
|
|
346
|
-
canonicalSystem !== player.system.address ||
|
|
347
|
-
systemData.game !== game) {
|
|
348
|
-
fail(`Star System ${player.system.address} does not match its canonical System id and configured Game ${game}. Refresh the Starbase Player and Local Market, then retry.`, player.system.address);
|
|
349
|
-
}
|
|
350
|
-
const playerData = starbasePlayerAccountDefinition.decode(playerAccount);
|
|
351
|
-
if (playerAccount.address !== player.address ||
|
|
352
|
-
playerData.playerProfile !== options.authorization.profile ||
|
|
353
|
-
playerData.character !== character ||
|
|
354
|
-
playerData.system !== player.system.address ||
|
|
355
|
-
(await deriveStarbasePlayerAddress(playerData.system, playerData.character)) !== player.address) {
|
|
356
|
-
fail(`Starbase Player ${player.address} changed or does not match its canonical Profile, Character, or System. Refresh the Starbase Player through this context and retry.`, player.address);
|
|
357
|
-
}
|
|
358
|
-
const marketData = localMarketAccountDefinition.decode(marketAccount);
|
|
359
|
-
if (marketAccount.address !== market.address ||
|
|
360
|
-
marketData.system !== market.system.address ||
|
|
361
|
-
marketData.starbaseSequenceId !== market.starbaseSequenceId ||
|
|
362
|
-
marketData.version !== market.version ||
|
|
363
|
-
marketData.bump !== market.bump ||
|
|
364
|
-
marketData.initializerProfile !== market.initializerProfile.address ||
|
|
365
|
-
marketData.cargo.cargoId !== market.cargo.id ||
|
|
366
|
-
(await deriveLocalMarketAddress(marketData.system, marketData.cargo.cargoId, marketData.starbaseSequenceId)) !== market.address) {
|
|
367
|
-
fail(`Local Market ${market.address} changed or does not match its canonical System, Starbase sequence, cargo, or initializer. Refresh the Local Market through this context and retry.`, market.address);
|
|
368
|
-
}
|
|
357
|
+
const { characterAccount, marketAccount, marketData, playerAccount } = await readMarketFacts(ctx, market, player, character, profile, game, 'cancelling the orders');
|
|
369
358
|
const rawOrders = [
|
|
370
359
|
...marketData.bids.orders.map((candidate) => ({
|
|
371
360
|
candidate,
|
|
@@ -381,25 +370,36 @@ export async function planCancelLocalMarketOrders(ctx, market, player, input) {
|
|
|
381
370
|
return (matches.length !== 1 ||
|
|
382
371
|
matches[0].side !== side ||
|
|
383
372
|
matches[0].candidate.priceRaw !== price ||
|
|
384
|
-
matches[0].candidate.maker !==
|
|
373
|
+
matches[0].candidate.maker !== profile);
|
|
385
374
|
})) {
|
|
386
|
-
fail(`Local Market ${market.address} selected order data changed in book side, price, or ownership, or became ambiguous across the fresh books. Refresh the Local Market and choose the
|
|
375
|
+
fail(`Local Market ${market.address} selected order data changed in book side, price, or ownership, or became ambiguous across the fresh books. Refresh the Local Market and choose the Profile's current unambiguous orders before retrying.`, market.address);
|
|
387
376
|
}
|
|
377
|
+
const runtime = await resolveActionRuntime(ctx, {
|
|
378
|
+
mode: 'market',
|
|
379
|
+
game,
|
|
380
|
+
system: player.system.address,
|
|
381
|
+
starbaseSeqId: market.starbaseSequenceId,
|
|
382
|
+
});
|
|
388
383
|
const description = selected.length === 0
|
|
389
384
|
? `Withdraw filled escrow currently available to Character ${character} for ${market.cargo.name} on Local Market ${market.address}; final escrow availability and order races remain chain-authoritative.`
|
|
390
385
|
: `Cancel Local Market orders ${options.orderIds.join(', ')} for ${market.cargo.name} and withdraw all filled escrow currently available to Character ${character}; final escrow availability and order races remain chain-authoritative.`;
|
|
391
|
-
return
|
|
386
|
+
return buildPlannerPlan({
|
|
392
387
|
kind: 'markets.cancel-local-orders',
|
|
393
|
-
preconditions:
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
388
|
+
preconditions: [
|
|
389
|
+
...runtime.guards,
|
|
390
|
+
...(await Promise.all([
|
|
391
|
+
accountStatePrecondition(characterAccount, `The canonical Character retains Profile ${profile} and the configured Game.`),
|
|
392
|
+
accountStatePrecondition(playerAccount, `Starbase Player ${player.address} retains its Profile, Character, and System relationships.`),
|
|
393
|
+
accountStatePrecondition(marketAccount, `Local Market ${market.address} retains its canonical identity and the selected owned order book sides, prices, and ownership.`),
|
|
394
|
+
])),
|
|
395
|
+
],
|
|
399
396
|
steps: [
|
|
400
397
|
{
|
|
401
|
-
describes: description
|
|
398
|
+
describes: `${description} ${runtime.description}`,
|
|
402
399
|
instruction: adaptCancelLocalMarketOrdersInstruction({
|
|
400
|
+
...runtime.accounts,
|
|
401
|
+
starbaseGovernance: runtime.accounts.starbaseGovernance,
|
|
402
|
+
currencyCache: runtime.accounts.currencyCache,
|
|
403
403
|
args: selected,
|
|
404
404
|
authorization: options.authorization,
|
|
405
405
|
character,
|
|
@@ -411,7 +411,59 @@ export async function planCancelLocalMarketOrders(ctx, market, player, input) {
|
|
|
411
411
|
signers: [options.authorization.authority],
|
|
412
412
|
},
|
|
413
413
|
],
|
|
414
|
-
summary: description
|
|
414
|
+
summary: `${description} ${runtime.description}`,
|
|
415
|
+
});
|
|
416
|
+
}
|
|
417
|
+
export { planTradeFactionMarket, } from './trade-faction-market.js';
|
|
418
|
+
/** Reads the persisted debit qualification without network I/O.
|
|
419
|
+
*
|
|
420
|
+
* Unsupported routes retain their existing execution behavior and return an
|
|
421
|
+
* explicit unavailable result, including a valid Profile below the conservative
|
|
422
|
+
* storage ceiling. Available bounds survive Plan persistence and
|
|
423
|
+
* fail closed before signing when their assumptions no longer hold.
|
|
424
|
+
*
|
|
425
|
+
* @example
|
|
426
|
+
* ```ts
|
|
427
|
+
* declare const plan: Plan;
|
|
428
|
+
* const bounds = getLocalMarketOrderDebitBounds(plan);
|
|
429
|
+
* if (bounds.status === 'available') console.log(bounds.maximumAtlasDebitRaw);
|
|
430
|
+
* ```
|
|
431
|
+
*/
|
|
432
|
+
export function getLocalMarketOrderDebitBounds(plan) {
|
|
433
|
+
if (!isPlanInstance(plan))
|
|
434
|
+
throw new InvalidActionInputError('plan', plan, 'a genuine Plan from a planning factory', 'Create or hydrate the Plan through this SDK before reading its debit bounds.');
|
|
435
|
+
validateLocalMarketOrderInstructions(plan.steps, plan.preconditions);
|
|
436
|
+
const guard = plan.preconditions.find((g) => g.kind === 'local-market-order');
|
|
437
|
+
if (!guard)
|
|
438
|
+
return Object.freeze({
|
|
439
|
+
status: 'unavailable',
|
|
440
|
+
reason: 'not-local-market-order',
|
|
441
|
+
});
|
|
442
|
+
if (guard.status === 'unavailable')
|
|
443
|
+
return Object.freeze({ status: 'unavailable', reason: guard.reason });
|
|
444
|
+
return Object.freeze({
|
|
445
|
+
status: 'available',
|
|
446
|
+
maximumCargoDebitRaw: guard.maximumCargoDebitRaw,
|
|
447
|
+
maximumAtlasDebitRaw: guard.maximumAtlasDebitRaw,
|
|
448
|
+
maximumGovernanceFeeRaw: guard.maximumGovernanceFeeRaw,
|
|
449
|
+
maximumProfileDebit: guard.maximumProfileDebit,
|
|
450
|
+
profile: guard.profile,
|
|
451
|
+
character: guard.character,
|
|
452
|
+
starbasePlayer: guard.starbasePlayer,
|
|
453
|
+
localMarket: guard.address,
|
|
454
|
+
cargoId: guard.cargoId,
|
|
455
|
+
side: guard.side,
|
|
456
|
+
priceRaw: guard.priceRaw,
|
|
457
|
+
quantity: guard.quantity,
|
|
458
|
+
cargoUnit: 'raw',
|
|
459
|
+
atlasUnit: 'floyds',
|
|
460
|
+
profileUnit: 'lamports',
|
|
461
|
+
feePolicy: 'default-zero',
|
|
462
|
+
marketVersion: 0,
|
|
463
|
+
characterVersion: 0,
|
|
464
|
+
starbasePlayerVersion: 0,
|
|
465
|
+
maximumMarketGrowthBytes: LOCAL_MARKET_MAXIMUM_GROWTH_BYTES,
|
|
466
|
+
transactionFees: 'excluded',
|
|
415
467
|
});
|
|
416
468
|
}
|
|
417
469
|
//# sourceMappingURL=index.js.map
|