@aephia/atlas-kit 0.6.0-next.11 → 0.6.0-next.111
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 +26 -115
- 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 +20 -61
- package/dist/cargo/actions/index.js.map +1 -1
- package/dist/cargo/actions/wallet-context.d.ts +51 -2
- package/dist/cargo/actions/wallet-context.d.ts.map +1 -1
- package/dist/cargo/actions/wallet-context.js +125 -2
- 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.map +1 -1
- package/dist/cargo/actions/withdrawal.js +37 -162
- 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 +373 -544
- package/dist/claim-stakes/actions/index.js.map +1 -1
- package/dist/claim-stakes/index.d.ts +14 -0
- package/dist/claim-stakes/index.d.ts.map +1 -1
- package/dist/claim-stakes/index.js +23 -2
- package/dist/claim-stakes/index.js.map +1 -1
- package/dist/client/context.d.ts.map +1 -1
- package/dist/client/context.js +1 -1
- package/dist/client/context.js.map +1 -1
- package/dist/client/contracts.d.ts +16 -6
- package/dist/client/contracts.d.ts.map +1 -1
- package/dist/client/errors.d.ts +6 -2
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +31 -1
- package/dist/client/errors.js.map +1 -1
- package/dist/client/index.d.ts +35 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +35 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/rpc-subscription-provider.d.ts +35 -0
- package/dist/client/rpc-subscription-provider.d.ts.map +1 -0
- package/dist/client/rpc-subscription-provider.js +190 -0
- package/dist/client/rpc-subscription-provider.js.map +1 -0
- package/dist/combat/actions/index.d.ts +2 -2
- package/dist/combat/actions/index.d.ts.map +1 -1
- package/dist/combat/actions/index.js +192 -224
- package/dist/combat/actions/index.js.map +1 -1
- package/dist/combat/index.d.ts +4 -3
- package/dist/combat/index.d.ts.map +1 -1
- package/dist/combat/index.js +3 -2
- package/dist/combat/index.js.map +1 -1
- package/dist/crafting/actions/index.d.ts +11 -0
- package/dist/crafting/actions/index.d.ts.map +1 -1
- package/dist/crafting/actions/index.js +175 -283
- package/dist/crafting/actions/index.js.map +1 -1
- package/dist/crafting/index.d.ts +33 -3
- package/dist/crafting/index.d.ts.map +1 -1
- package/dist/crafting/index.js +45 -16
- package/dist/crafting/index.js.map +1 -1
- package/dist/factions/actions/index.d.ts +1 -0
- package/dist/factions/actions/index.d.ts.map +1 -1
- package/dist/factions/actions/index.js +2 -1
- package/dist/factions/actions/index.js.map +1 -1
- package/dist/factions/index.d.ts +1 -1
- package/dist/factions/index.d.ts.map +1 -1
- package/dist/factions/index.js +14 -8
- package/dist/factions/index.js.map +1 -1
- package/dist/factions/profile-faction.d.ts +20 -8
- package/dist/factions/profile-faction.d.ts.map +1 -1
- package/dist/factions/profile-faction.js +20 -8
- package/dist/factions/profile-faction.js.map +1 -1
- package/dist/fleets/actions/add-ship.d.ts +35 -0
- package/dist/fleets/actions/add-ship.d.ts.map +1 -0
- package/dist/fleets/actions/add-ship.js +149 -0
- package/dist/fleets/actions/add-ship.js.map +1 -0
- package/dist/fleets/actions/create-fleet.d.ts +36 -0
- package/dist/fleets/actions/create-fleet.d.ts.map +1 -0
- package/dist/fleets/actions/create-fleet.js +138 -0
- package/dist/fleets/actions/create-fleet.js.map +1 -0
- package/dist/fleets/actions/crew-transfer.d.ts +41 -0
- package/dist/fleets/actions/crew-transfer.d.ts.map +1 -0
- package/dist/fleets/actions/crew-transfer.js +114 -0
- package/dist/fleets/actions/crew-transfer.js.map +1 -0
- package/dist/fleets/actions/dock-bounds.d.ts +38 -0
- package/dist/fleets/actions/dock-bounds.d.ts.map +1 -0
- package/dist/fleets/actions/dock-bounds.js +46 -0
- package/dist/fleets/actions/dock-bounds.js.map +1 -0
- package/dist/fleets/actions/index.d.ts +63 -23
- package/dist/fleets/actions/index.d.ts.map +1 -1
- package/dist/fleets/actions/index.js +370 -304
- package/dist/fleets/actions/index.js.map +1 -1
- package/dist/fleets/actions/respawn.d.ts +38 -0
- package/dist/fleets/actions/respawn.d.ts.map +1 -0
- package/dist/fleets/actions/respawn.js +122 -0
- package/dist/fleets/actions/respawn.js.map +1 -0
- package/dist/fleets/actions/ship-import.d.ts.map +1 -1
- package/dist/fleets/actions/ship-import.js +59 -76
- package/dist/fleets/actions/ship-import.js.map +1 -1
- package/dist/fleets/cooldown.d.ts +44 -0
- package/dist/fleets/cooldown.d.ts.map +1 -0
- package/dist/fleets/cooldown.js +43 -0
- package/dist/fleets/cooldown.js.map +1 -0
- package/dist/fleets/coordinate-warp-estimate.d.ts +70 -0
- package/dist/fleets/coordinate-warp-estimate.d.ts.map +1 -0
- package/dist/fleets/coordinate-warp-estimate.js +46 -0
- package/dist/fleets/coordinate-warp-estimate.js.map +1 -0
- package/dist/fleets/index.d.ts +35 -0
- package/dist/fleets/index.d.ts.map +1 -1
- package/dist/fleets/index.js +52 -2
- package/dist/fleets/index.js.map +1 -1
- package/dist/fleets/movement-arithmetic.d.ts +21 -0
- package/dist/fleets/movement-arithmetic.d.ts.map +1 -0
- package/dist/fleets/movement-arithmetic.js +41 -0
- package/dist/fleets/movement-arithmetic.js.map +1 -0
- package/dist/fleets/subwarp-estimate.d.ts +70 -0
- package/dist/fleets/subwarp-estimate.d.ts.map +1 -0
- package/dist/fleets/subwarp-estimate.js +38 -0
- package/dist/fleets/subwarp-estimate.js.map +1 -0
- package/dist/fleets/travel-profile.d.ts +102 -0
- package/dist/fleets/travel-profile.d.ts.map +1 -0
- package/dist/fleets/travel-profile.js +120 -0
- package/dist/fleets/travel-profile.js.map +1 -0
- package/dist/fleets/warp-lane-estimate.d.ts +59 -0
- package/dist/fleets/warp-lane-estimate.d.ts.map +1 -0
- package/dist/fleets/warp-lane-estimate.js +36 -0
- package/dist/fleets/warp-lane-estimate.js.map +1 -0
- package/dist/fleets/warp-lane-policy.d.ts +68 -0
- package/dist/fleets/warp-lane-policy.d.ts.map +1 -0
- package/dist/fleets/warp-lane-policy.js +91 -0
- package/dist/fleets/warp-lane-policy.js.map +1 -0
- package/dist/fleets/warp-lane-toll.d.ts +55 -0
- package/dist/fleets/warp-lane-toll.d.ts.map +1 -0
- package/dist/fleets/warp-lane-toll.js +79 -0
- package/dist/fleets/warp-lane-toll.js.map +1 -0
- package/dist/identity/actions/index.d.ts +3 -3
- package/dist/identity/actions/index.d.ts.map +1 -1
- package/dist/identity/actions/index.js +50 -28
- package/dist/identity/actions/index.js.map +1 -1
- package/dist/identity/index.d.ts +12 -2
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +10 -1
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/permissions.d.ts +11 -2
- package/dist/identity/permissions.d.ts.map +1 -1
- package/dist/identity/permissions.js +13 -4
- package/dist/identity/permissions.js.map +1 -1
- package/dist/identity/research-state.d.ts +60 -0
- package/dist/identity/research-state.d.ts.map +1 -0
- package/dist/identity/research-state.js +68 -0
- package/dist/identity/research-state.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -3
- package/dist/index.js.map +1 -1
- package/dist/internal/c4/account-decoding.d.ts +12 -0
- package/dist/internal/c4/account-decoding.d.ts.map +1 -0
- package/dist/internal/c4/account-decoding.js +36 -0
- package/dist/internal/c4/account-decoding.js.map +1 -0
- package/dist/internal/c4/cargo-bytes-config.d.ts +7 -0
- package/dist/internal/c4/cargo-bytes-config.d.ts.map +1 -0
- package/dist/internal/c4/cargo-bytes-config.js +19 -0
- package/dist/internal/c4/cargo-bytes-config.js.map +1 -0
- package/dist/internal/c4/character-modifier.d.ts +1 -1
- package/dist/internal/c4/character-modifier.d.ts.map +1 -1
- package/dist/internal/c4/character-registration.d.ts +2 -0
- package/dist/internal/c4/character-registration.d.ts.map +1 -1
- package/dist/internal/c4/character-registration.js +2 -0
- package/dist/internal/c4/character-registration.js.map +1 -1
- package/dist/internal/c4/character.d.ts +155 -0
- package/dist/internal/c4/character.d.ts.map +1 -0
- package/dist/internal/c4/character.js +79 -0
- package/dist/internal/c4/character.js.map +1 -0
- package/dist/internal/c4/claim-stake-configuration.js +4 -2
- package/dist/internal/c4/claim-stake-configuration.js.map +1 -1
- package/dist/internal/c4/claim-stake-definitions.d.ts +4 -4
- package/dist/internal/c4/claim-stake-definitions.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake-definitions.js.map +1 -1
- package/dist/internal/c4/claim-stake.d.ts +4 -27
- package/dist/internal/c4/claim-stake.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake.js +30 -41
- package/dist/internal/c4/claim-stake.js.map +1 -1
- package/dist/internal/c4/combat.d.ts +1 -82
- package/dist/internal/c4/combat.d.ts.map +1 -1
- package/dist/internal/c4/combat.js +10 -171
- package/dist/internal/c4/combat.js.map +1 -1
- package/dist/internal/c4/crafting-process-codec.d.ts +13 -0
- package/dist/internal/c4/crafting-process-codec.d.ts.map +1 -0
- package/dist/internal/c4/crafting-process-codec.js +34 -0
- package/dist/internal/c4/crafting-process-codec.js.map +1 -0
- package/dist/internal/c4/crafting.d.ts +25 -33
- package/dist/internal/c4/crafting.d.ts.map +1 -1
- package/dist/internal/c4/crafting.js +61 -49
- package/dist/internal/c4/crafting.js.map +1 -1
- package/dist/internal/c4/currency-cache.d.ts +6 -0
- package/dist/internal/c4/currency-cache.d.ts.map +1 -0
- package/dist/internal/c4/currency-cache.js +30 -0
- package/dist/internal/c4/currency-cache.js.map +1 -0
- package/dist/internal/c4/docking-funding.d.ts +4 -0
- package/dist/internal/c4/docking-funding.d.ts.map +1 -0
- package/dist/internal/c4/docking-funding.js +11 -0
- package/dist/internal/c4/docking-funding.js.map +1 -0
- package/dist/internal/c4/faction-adapter.d.ts +12 -0
- package/dist/internal/c4/faction-adapter.d.ts.map +1 -0
- package/dist/internal/c4/faction-adapter.js +52 -0
- package/dist/internal/c4/faction-adapter.js.map +1 -0
- package/dist/internal/c4/faction-epoch-meter.d.ts +10 -0
- package/dist/internal/c4/faction-epoch-meter.d.ts.map +1 -0
- package/dist/internal/c4/faction-epoch-meter.js +31 -0
- package/dist/internal/c4/faction-epoch-meter.js.map +1 -0
- package/dist/internal/c4/faction-treasury.d.ts +23 -0
- package/dist/internal/c4/faction-treasury.d.ts.map +1 -0
- package/dist/internal/c4/faction-treasury.js +48 -0
- package/dist/internal/c4/faction-treasury.js.map +1 -0
- package/dist/internal/c4/faction.d.ts +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 +9 -57
- package/dist/internal/c4/factions.d.ts.map +1 -1
- package/dist/internal/c4/factions.js +29 -156
- package/dist/internal/c4/factions.js.map +1 -1
- package/dist/internal/c4/fleet-arrival.d.ts +28 -0
- package/dist/internal/c4/fleet-arrival.d.ts.map +1 -0
- package/dist/internal/c4/fleet-arrival.js +42 -0
- package/dist/internal/c4/fleet-arrival.js.map +1 -0
- package/dist/internal/c4/fleet-creation.d.ts +7 -0
- package/dist/internal/c4/fleet-creation.d.ts.map +1 -0
- package/dist/internal/c4/fleet-creation.js +180 -0
- package/dist/internal/c4/fleet-creation.js.map +1 -0
- package/dist/internal/c4/fleet-crew-binding.d.ts +9 -0
- package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
- package/dist/internal/c4/fleet-crew-binding.js +20 -3
- package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
- package/dist/internal/c4/fleet-respawn.d.ts +17 -0
- package/dist/internal/c4/fleet-respawn.d.ts.map +1 -0
- package/dist/internal/c4/fleet-respawn.js +62 -0
- package/dist/internal/c4/fleet-respawn.js.map +1 -0
- package/dist/internal/c4/fleet-ship-assembly.d.ts +11 -0
- package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -0
- package/dist/internal/c4/fleet-ship-assembly.js +44 -0
- package/dist/internal/c4/fleet-ship-assembly.js.map +1 -0
- package/dist/internal/c4/fleet.d.ts +45 -19
- package/dist/internal/c4/fleet.d.ts.map +1 -1
- package/dist/internal/c4/fleet.js +37 -29
- package/dist/internal/c4/fleet.js.map +1 -1
- package/dist/internal/c4/game-definition-layout.d.ts +2 -0
- package/dist/internal/c4/game-definition-layout.d.ts.map +1 -1
- package/dist/internal/c4/game-definition-layout.js +4 -0
- package/dist/internal/c4/game-definition-layout.js.map +1 -1
- package/dist/internal/c4/game.d.ts +47 -12
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +110 -21
- package/dist/internal/c4/game.js.map +1 -1
- package/dist/internal/c4/identity.d.ts +2 -152
- package/dist/internal/c4/identity.d.ts.map +1 -1
- package/dist/internal/c4/identity.js +6 -110
- package/dist/internal/c4/identity.js.map +1 -1
- package/dist/internal/c4/local-market-order.d.ts +31 -0
- package/dist/internal/c4/local-market-order.d.ts.map +1 -0
- package/dist/internal/c4/local-market-order.js +47 -0
- package/dist/internal/c4/local-market-order.js.map +1 -0
- package/dist/internal/c4/loot-layout.js +1 -1
- package/dist/internal/c4/loot-layout.js.map +1 -1
- package/dist/internal/c4/loot.d.ts +58 -0
- package/dist/internal/c4/loot.d.ts.map +1 -0
- package/dist/internal/c4/loot.js +130 -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 +14 -43
- package/dist/internal/c4/loyalty.js.map +1 -1
- package/dist/internal/c4/market.d.ts +2 -38
- package/dist/internal/c4/market.d.ts.map +1 -1
- package/dist/internal/c4/market.js +13 -51
- package/dist/internal/c4/market.js.map +1 -1
- package/dist/internal/c4/mining-instructions.d.ts +2 -0
- package/dist/internal/c4/mining-instructions.d.ts.map +1 -0
- package/dist/internal/c4/mining-instructions.js +3 -0
- package/dist/internal/c4/mining-instructions.js.map +1 -0
- package/dist/internal/c4/open-signal.d.ts +8 -0
- package/dist/internal/c4/open-signal.d.ts.map +1 -0
- package/dist/internal/c4/open-signal.js +37 -0
- package/dist/internal/c4/open-signal.js.map +1 -0
- package/dist/internal/c4/pda.js +1 -1
- package/dist/internal/c4/pda.js.map +1 -1
- package/dist/internal/c4/profile-faction.d.ts.map +1 -1
- package/dist/internal/c4/profile-faction.js +11 -21
- package/dist/internal/c4/profile-faction.js.map +1 -1
- package/dist/internal/c4/profile-permissions.d.ts +5 -3
- package/dist/internal/c4/profile-permissions.d.ts.map +1 -1
- package/dist/internal/c4/profile-permissions.js +61 -8
- package/dist/internal/c4/profile-permissions.js.map +1 -1
- package/dist/internal/c4/region-geometry.d.ts +8 -0
- package/dist/internal/c4/region-geometry.d.ts.map +1 -0
- package/dist/internal/c4/region-geometry.js +43 -0
- package/dist/internal/c4/region-geometry.js.map +1 -0
- package/dist/internal/c4/rewards.d.ts +1 -61
- package/dist/internal/c4/rewards.d.ts.map +1 -1
- package/dist/internal/c4/rewards.js +14 -115
- package/dist/internal/c4/rewards.js.map +1 -1
- package/dist/internal/c4/runtime-bindings.d.ts +4 -0
- package/dist/internal/c4/runtime-bindings.d.ts.map +1 -0
- package/dist/internal/c4/runtime-bindings.js +4 -0
- package/dist/internal/c4/runtime-bindings.js.map +1 -0
- package/dist/internal/c4/scan-detection-codecs.d.ts +3 -0
- package/dist/internal/c4/scan-detection-codecs.d.ts.map +1 -0
- package/dist/internal/c4/scan-detection-codecs.js +3 -0
- package/dist/internal/c4/scan-detection-codecs.js.map +1 -0
- package/dist/internal/c4/scan-lifecycle.d.ts +306 -0
- package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -0
- package/dist/internal/c4/scan-lifecycle.js +261 -0
- package/dist/internal/c4/scan-lifecycle.js.map +1 -0
- package/dist/internal/c4/scanning.d.ts +1 -28
- package/dist/internal/c4/scanning.d.ts.map +1 -1
- package/dist/internal/c4/scanning.js +7 -36
- package/dist/internal/c4/scanning.js.map +1 -1
- package/dist/internal/c4/ship-import.d.ts +4 -0
- package/dist/internal/c4/ship-import.d.ts.map +1 -0
- package/dist/internal/c4/ship-import.js +13 -0
- package/dist/internal/c4/ship-import.js.map +1 -0
- package/dist/internal/c4/ship-stats.d.ts.map +1 -1
- package/dist/internal/c4/ship-stats.js +25 -21
- package/dist/internal/c4/ship-stats.js.map +1 -1
- package/dist/internal/c4/starbase.d.ts +0 -32
- package/dist/internal/c4/starbase.d.ts.map +1 -1
- package/dist/internal/c4/starbase.js +12 -62
- package/dist/internal/c4/starbase.js.map +1 -1
- package/dist/internal/c4/world.d.ts +36 -7
- package/dist/internal/c4/world.d.ts.map +1 -1
- package/dist/internal/c4/world.js +67 -48
- package/dist/internal/c4/world.js.map +1 -1
- package/dist/internal/cargo.d.ts +2 -0
- package/dist/internal/cargo.d.ts.map +1 -1
- package/dist/internal/cargo.js +8 -0
- package/dist/internal/cargo.js.map +1 -1
- package/dist/internal/fleet.d.ts +1 -0
- package/dist/internal/fleet.d.ts.map +1 -1
- package/dist/internal/fleet.js +3 -1
- package/dist/internal/fleet.js.map +1 -1
- package/dist/internal/loyalty-atlas-bank-state.d.ts +16 -0
- package/dist/internal/loyalty-atlas-bank-state.d.ts.map +1 -0
- package/dist/internal/loyalty-atlas-bank-state.js +10 -0
- package/dist/internal/loyalty-atlas-bank-state.js.map +1 -0
- package/dist/internal/planning/action-runtime.d.ts +38 -0
- package/dist/internal/planning/action-runtime.d.ts.map +1 -0
- package/dist/internal/planning/action-runtime.js +63 -0
- package/dist/internal/planning/action-runtime.js.map +1 -0
- package/dist/internal/planning/arrival-guards.d.ts +19 -0
- package/dist/internal/planning/arrival-guards.d.ts.map +1 -0
- package/dist/internal/planning/arrival-guards.js +171 -0
- package/dist/internal/planning/arrival-guards.js.map +1 -0
- package/dist/internal/planning/authorization-adapter.d.ts +45 -37
- package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
- package/dist/internal/planning/authorization-adapter.js +165 -76
- package/dist/internal/planning/authorization-adapter.js.map +1 -1
- package/dist/internal/planning/character-registration-guard.d.ts +4 -0
- package/dist/internal/planning/character-registration-guard.d.ts.map +1 -0
- package/dist/internal/planning/character-registration-guard.js +58 -0
- package/dist/internal/planning/character-registration-guard.js.map +1 -0
- package/dist/internal/planning/character-registration.d.ts +23 -0
- package/dist/internal/planning/character-registration.d.ts.map +1 -0
- package/dist/internal/planning/character-registration.js +87 -0
- package/dist/internal/planning/character-registration.js.map +1 -0
- package/dist/internal/planning/currency-cache-guard.d.ts +4 -0
- package/dist/internal/planning/currency-cache-guard.d.ts.map +1 -0
- package/dist/internal/planning/currency-cache-guard.js +32 -0
- package/dist/internal/planning/currency-cache-guard.js.map +1 -0
- package/dist/internal/planning/democracy-history.d.ts +50 -0
- package/dist/internal/planning/democracy-history.d.ts.map +1 -0
- package/dist/internal/planning/democracy-history.js +198 -0
- package/dist/internal/planning/democracy-history.js.map +1 -0
- package/dist/internal/planning/faction-enrollment.d.ts +0 -2
- package/dist/internal/planning/faction-enrollment.d.ts.map +1 -1
- package/dist/internal/planning/faction-enrollment.js +1 -22
- package/dist/internal/planning/faction-enrollment.js.map +1 -1
- package/dist/internal/planning/faction-trade-guards.d.ts +30 -0
- package/dist/internal/planning/faction-trade-guards.d.ts.map +1 -0
- package/dist/internal/planning/faction-trade-guards.js +15 -0
- package/dist/internal/planning/faction-trade-guards.js.map +1 -0
- package/dist/internal/planning/faction-trade-state.d.ts +16 -0
- package/dist/internal/planning/faction-trade-state.d.ts.map +1 -0
- package/dist/internal/planning/faction-trade-state.js +43 -0
- package/dist/internal/planning/faction-trade-state.js.map +1 -0
- package/dist/internal/planning/fleet-arrival.d.ts +40 -0
- package/dist/internal/planning/fleet-arrival.d.ts.map +1 -0
- package/dist/internal/planning/fleet-arrival.js +106 -0
- package/dist/internal/planning/fleet-arrival.js.map +1 -0
- package/dist/internal/planning/fleet-attack-xp.d.ts +20 -0
- package/dist/internal/planning/fleet-attack-xp.d.ts.map +1 -0
- package/dist/internal/planning/fleet-attack-xp.js +110 -0
- package/dist/internal/planning/fleet-attack-xp.js.map +1 -0
- package/dist/internal/planning/fleet-creation.d.ts +30 -0
- package/dist/internal/planning/fleet-creation.d.ts.map +1 -0
- package/dist/internal/planning/fleet-creation.js +109 -0
- package/dist/internal/planning/fleet-creation.js.map +1 -0
- package/dist/internal/planning/fleet-crew-guard.d.ts +28 -0
- package/dist/internal/planning/fleet-crew-guard.d.ts.map +1 -0
- package/dist/internal/planning/fleet-crew-guard.js +47 -0
- package/dist/internal/planning/fleet-crew-guard.js.map +1 -0
- package/dist/internal/planning/fleet-crew-transfer.d.ts +7 -0
- package/dist/internal/planning/fleet-crew-transfer.d.ts.map +1 -0
- package/dist/internal/planning/fleet-crew-transfer.js +132 -0
- package/dist/internal/planning/fleet-crew-transfer.js.map +1 -0
- package/dist/internal/planning/fleet-dock-funding-guard.d.ts +42 -0
- package/dist/internal/planning/fleet-dock-funding-guard.d.ts.map +1 -0
- package/dist/internal/planning/fleet-dock-funding-guard.js +208 -0
- package/dist/internal/planning/fleet-dock-funding-guard.js.map +1 -0
- package/dist/internal/planning/fleet-dock-funding.d.ts +9 -0
- package/dist/internal/planning/fleet-dock-funding.d.ts.map +1 -0
- package/dist/internal/planning/fleet-dock-funding.js +154 -0
- package/dist/internal/planning/fleet-dock-funding.js.map +1 -0
- package/dist/internal/planning/fleet-docking-guard.d.ts +4 -0
- package/dist/internal/planning/fleet-docking-guard.d.ts.map +1 -0
- package/dist/internal/planning/fleet-docking-guard.js +42 -0
- package/dist/internal/planning/fleet-docking-guard.js.map +1 -0
- package/dist/internal/planning/fleet-docking.d.ts +10 -0
- package/dist/internal/planning/fleet-docking.d.ts.map +1 -0
- package/dist/internal/planning/fleet-docking.js +85 -0
- package/dist/internal/planning/fleet-docking.js.map +1 -0
- package/dist/internal/planning/fleet-respawn.d.ts +28 -0
- package/dist/internal/planning/fleet-respawn.d.ts.map +1 -0
- package/dist/internal/planning/fleet-respawn.js +167 -0
- package/dist/internal/planning/fleet-respawn.js.map +1 -0
- package/dist/internal/planning/fleet-ship-assembly.d.ts +36 -0
- package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -0
- package/dist/internal/planning/fleet-ship-assembly.js +138 -0
- package/dist/internal/planning/fleet-ship-assembly.js.map +1 -0
- package/dist/internal/planning/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 +239 -0
- package/dist/internal/planning/governance-fees.js.map +1 -0
- package/dist/internal/planning/local-market-order-funding.d.ts +8 -0
- package/dist/internal/planning/local-market-order-funding.d.ts.map +1 -0
- package/dist/internal/planning/local-market-order-funding.js +127 -0
- package/dist/internal/planning/local-market-order-funding.js.map +1 -0
- package/dist/internal/planning/local-market-order.d.ts +40 -0
- package/dist/internal/planning/local-market-order.d.ts.map +1 -0
- package/dist/internal/planning/local-market-order.js +138 -0
- package/dist/internal/planning/local-market-order.js.map +1 -0
- package/dist/internal/planning/mining-stop.d.ts +14 -0
- package/dist/internal/planning/mining-stop.d.ts.map +1 -0
- package/dist/internal/planning/mining-stop.js +41 -0
- package/dist/internal/planning/mining-stop.js.map +1 -0
- package/dist/internal/planning/movement-character.d.ts +7 -0
- package/dist/internal/planning/movement-character.d.ts.map +1 -0
- package/dist/internal/planning/movement-character.js +41 -0
- package/dist/internal/planning/movement-character.js.map +1 -0
- package/dist/internal/planning/movement-xp-guard.d.ts +4 -0
- package/dist/internal/planning/movement-xp-guard.d.ts.map +1 -0
- package/dist/internal/planning/movement-xp-guard.js +103 -0
- package/dist/internal/planning/movement-xp-guard.js.map +1 -0
- package/dist/internal/planning/open-signal-guard.d.ts +3 -0
- package/dist/internal/planning/open-signal-guard.d.ts.map +1 -0
- package/dist/internal/planning/open-signal-guard.js +31 -0
- package/dist/internal/planning/open-signal-guard.js.map +1 -0
- package/dist/internal/planning/open-signal.d.ts +31 -0
- package/dist/internal/planning/open-signal.d.ts.map +1 -0
- package/dist/internal/planning/open-signal.js +86 -0
- package/dist/internal/planning/open-signal.js.map +1 -0
- package/dist/internal/planning/original-token.d.ts +34 -0
- package/dist/internal/planning/original-token.d.ts.map +1 -0
- package/dist/internal/planning/original-token.js +98 -0
- package/dist/internal/planning/original-token.js.map +1 -0
- package/dist/internal/planning/plan-fields.d.ts +59 -0
- package/dist/internal/planning/plan-fields.d.ts.map +1 -0
- package/dist/internal/planning/plan-fields.js +153 -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/recipe-state.d.ts +6 -0
- package/dist/internal/planning/recipe-state.d.ts.map +1 -0
- package/dist/internal/planning/recipe-state.js +20 -0
- package/dist/internal/planning/recipe-state.js.map +1 -0
- package/dist/internal/planning/rent.d.ts +19 -0
- package/dist/internal/planning/rent.d.ts.map +1 -0
- package/dist/internal/planning/rent.js +35 -0
- package/dist/internal/planning/rent.js.map +1 -0
- package/dist/internal/planning/respawn-guards.d.ts +3 -0
- package/dist/internal/planning/respawn-guards.d.ts.map +1 -0
- package/dist/internal/planning/respawn-guards.js +41 -0
- package/dist/internal/planning/respawn-guards.js.map +1 -0
- package/dist/internal/planning/runtime-guards.d.ts +41 -0
- package/dist/internal/planning/runtime-guards.d.ts.map +1 -0
- package/dist/internal/planning/runtime-guards.js +635 -0
- package/dist/internal/planning/runtime-guards.js.map +1 -0
- package/dist/internal/planning/scan-completion-guard.d.ts +43 -0
- package/dist/internal/planning/scan-completion-guard.d.ts.map +1 -0
- package/dist/internal/planning/scan-completion-guard.js +94 -0
- package/dist/internal/planning/scan-completion-guard.js.map +1 -0
- package/dist/internal/planning/scan-completion.d.ts +20 -0
- package/dist/internal/planning/scan-completion.d.ts.map +1 -0
- package/dist/internal/planning/scan-completion.js +197 -0
- package/dist/internal/planning/scan-completion.js.map +1 -0
- package/dist/internal/planning/scan-detect-guard.d.ts +34 -0
- package/dist/internal/planning/scan-detect-guard.d.ts.map +1 -0
- package/dist/internal/planning/scan-detect-guard.js +77 -0
- package/dist/internal/planning/scan-detect-guard.js.map +1 -0
- package/dist/internal/planning/scan-detect.d.ts +24 -0
- package/dist/internal/planning/scan-detect.d.ts.map +1 -0
- package/dist/internal/planning/scan-detect.js +245 -0
- package/dist/internal/planning/scan-detect.js.map +1 -0
- package/dist/internal/planning/scan-input.d.ts +9 -0
- package/dist/internal/planning/scan-input.d.ts.map +1 -0
- package/dist/internal/planning/scan-input.js +58 -0
- package/dist/internal/planning/scan-input.js.map +1 -0
- package/dist/internal/planning/ship-import-funding.d.ts +22 -0
- package/dist/internal/planning/ship-import-funding.d.ts.map +1 -0
- package/dist/internal/planning/ship-import-funding.js +53 -0
- package/dist/internal/planning/ship-import-funding.js.map +1 -0
- package/dist/internal/planning/ship-token.d.ts +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 +93 -0
- package/dist/internal/planning/starbase-system-guard.js.map +1 -0
- package/dist/internal/planning/starbase-system.d.ts +15 -0
- package/dist/internal/planning/starbase-system.d.ts.map +1 -0
- package/dist/internal/planning/starbase-system.js +25 -0
- package/dist/internal/planning/starbase-system.js.map +1 -0
- package/dist/internal/planning/token-mint.d.ts +4 -0
- package/dist/internal/planning/token-mint.d.ts.map +1 -0
- package/dist/internal/planning/token-mint.js +15 -0
- package/dist/internal/planning/token-mint.js.map +1 -0
- package/dist/internal/planning/trade-faction-market.d.ts +20 -0
- package/dist/internal/planning/trade-faction-market.d.ts.map +1 -0
- package/dist/internal/planning/trade-faction-market.js +56 -0
- package/dist/internal/planning/trade-faction-market.js.map +1 -0
- package/dist/internal/planning/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 +126 -0
- package/dist/internal/planning/xp-runtime.js.map +1 -0
- package/dist/internal/system-program.d.ts +4 -0
- package/dist/internal/system-program.d.ts.map +1 -0
- package/dist/internal/system-program.js +3 -0
- package/dist/internal/system-program.js.map +1 -0
- package/dist/loyalty/actions/index.d.ts.map +1 -1
- package/dist/loyalty/actions/index.js +8 -21
- package/dist/loyalty/actions/index.js.map +1 -1
- package/dist/loyalty/index.d.ts.map +1 -1
- package/dist/loyalty/index.js +2 -6
- package/dist/loyalty/index.js.map +1 -1
- package/dist/markets/actions/index.d.ts +61 -3
- package/dist/markets/actions/index.d.ts.map +1 -1
- package/dist/markets/actions/index.js +227 -160
- package/dist/markets/actions/index.js.map +1 -1
- package/dist/markets/actions/trade-faction-market.d.ts +43 -0
- package/dist/markets/actions/trade-faction-market.d.ts.map +1 -0
- package/dist/markets/actions/trade-faction-market.js +282 -0
- package/dist/markets/actions/trade-faction-market.js.map +1 -0
- package/dist/markets/index.d.ts +38 -7
- package/dist/markets/index.d.ts.map +1 -1
- package/dist/markets/index.js +57 -10
- package/dist/markets/index.js.map +1 -1
- package/dist/mining/actions/index.d.ts +87 -0
- package/dist/mining/actions/index.d.ts.map +1 -0
- package/dist/mining/actions/index.js +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 +7 -2
- package/dist/mining/index.js.map +1 -1
- package/dist/mining/profile.d.ts +82 -0
- package/dist/mining/profile.d.ts.map +1 -0
- package/dist/mining/profile.js +109 -0
- package/dist/mining/profile.js.map +1 -0
- package/dist/planning/assembly.d.ts +5 -0
- package/dist/planning/assembly.d.ts.map +1 -1
- package/dist/planning/assembly.js +8 -4
- package/dist/planning/assembly.js.map +1 -1
- package/dist/planning/execution.d.ts +18 -3
- package/dist/planning/execution.d.ts.map +1 -1
- package/dist/planning/execution.js +492 -40
- package/dist/planning/execution.js.map +1 -1
- package/dist/planning/index.d.ts +196 -149
- package/dist/planning/index.d.ts.map +1 -1
- package/dist/planning/index.js +44 -292
- package/dist/planning/index.js.map +1 -1
- package/dist/planning/plan-sequence-checkpoint.d.ts +9 -0
- package/dist/planning/plan-sequence-checkpoint.d.ts.map +1 -1
- package/dist/planning/plan-sequence-checkpoint.js +16 -7
- package/dist/planning/plan-sequence-checkpoint.js.map +1 -1
- package/dist/planning/plan-sequence-execution.d.ts +5 -0
- package/dist/planning/plan-sequence-execution.d.ts.map +1 -1
- package/dist/planning/plan-sequence-execution.js +74 -30
- package/dist/planning/plan-sequence-execution.js.map +1 -1
- package/dist/planning/plan-sequence.d.ts +2 -1
- package/dist/planning/plan-sequence.d.ts.map +1 -1
- package/dist/planning/plan-sequence.js +8 -1
- package/dist/planning/plan-sequence.js.map +1 -1
- package/dist/planning/plan-validation.d.ts +14 -0
- package/dist/planning/plan-validation.d.ts.map +1 -0
- package/dist/planning/plan-validation.js +124 -0
- package/dist/planning/plan-validation.js.map +1 -0
- package/dist/planning/simulation.d.ts +25 -1
- package/dist/planning/simulation.d.ts.map +1 -1
- package/dist/planning/simulation.js +111 -11
- package/dist/planning/simulation.js.map +1 -1
- package/dist/registry/cargo.d.ts +7 -12
- package/dist/registry/cargo.d.ts.map +1 -1
- package/dist/registry/cargo.js +19 -19
- package/dist/registry/cargo.js.map +1 -1
- package/dist/registry/docking.d.ts +10 -0
- package/dist/registry/docking.d.ts.map +1 -0
- package/dist/registry/docking.js +12 -0
- package/dist/registry/docking.js.map +1 -0
- package/dist/registry/index.d.ts +4 -0
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/onboarding.d.ts +10 -2
- package/dist/registry/onboarding.d.ts.map +1 -1
- package/dist/registry/onboarding.js +20 -7
- package/dist/registry/onboarding.js.map +1 -1
- package/dist/registry/scanning.d.ts +7 -0
- package/dist/registry/scanning.d.ts.map +1 -0
- package/dist/registry/scanning.js +13 -0
- package/dist/registry/scanning.js.map +1 -0
- package/dist/registry/ship-stats-snapshot.js +19 -19
- package/dist/registry/ship-stats-snapshot.js.map +1 -1
- package/dist/registry/ships.d.ts +22 -2
- package/dist/registry/ships.d.ts.map +1 -1
- package/dist/registry/ships.js +31 -4
- package/dist/registry/ships.js.map +1 -1
- package/dist/registry/xp-runtime.d.ts +4 -0
- package/dist/registry/xp-runtime.d.ts.map +1 -0
- package/dist/registry/xp-runtime.js +14 -0
- package/dist/registry/xp-runtime.js.map +1 -0
- package/dist/rewards/index.d.ts.map +1 -1
- package/dist/rewards/index.js +5 -4
- 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 +185 -0
- package/dist/scanning/actions/index.js.map +1 -0
- package/dist/scanning/index.d.ts +5 -2
- package/dist/scanning/index.d.ts.map +1 -1
- package/dist/scanning/index.js +13 -9
- package/dist/scanning/index.js.map +1 -1
- package/dist/scanning/lifecycle.d.ts +77 -0
- package/dist/scanning/lifecycle.d.ts.map +1 -0
- package/dist/scanning/lifecycle.js +93 -0
- package/dist/scanning/lifecycle.js.map +1 -0
- package/dist/scanning/odds.d.ts +111 -0
- package/dist/scanning/odds.d.ts.map +1 -0
- package/dist/scanning/odds.js +294 -0
- package/dist/scanning/odds.js.map +1 -0
- package/dist/scanning/signals.d.ts +121 -0
- package/dist/scanning/signals.d.ts.map +1 -0
- package/dist/scanning/signals.js +171 -0
- package/dist/scanning/signals.js.map +1 -0
- package/dist/starbases/actions/index.d.ts.map +1 -1
- package/dist/starbases/actions/index.js +5 -32
- package/dist/starbases/actions/index.js.map +1 -1
- package/dist/world/index.d.ts +110 -5
- package/dist/world/index.d.ts.map +1 -1
- package/dist/world/index.js +109 -4
- package/dist/world/index.js.map +1 -1
- package/dist/world/planet-claim-stake-plots.d.ts +130 -0
- package/dist/world/planet-claim-stake-plots.d.ts.map +1 -0
- package/dist/world/planet-claim-stake-plots.js +110 -0
- package/dist/world/planet-claim-stake-plots.js.map +1 -0
- package/dist/world/starbase-status.d.ts +176 -0
- package/dist/world/starbase-status.d.ts.map +1 -0
- package/dist/world/starbase-status.js +153 -0
- package/dist/world/starbase-status.js.map +1 -0
- package/package.json +10 -2
|
@@ -1,44 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { OUTLAW_FLAG_DISCRIMINATOR, SAGE_PROGRAM_ADDRESS, getOutlawFlagDecoder, } from '@staratlas/dev-sage';
|
|
2
2
|
import { getAddressEncoder, getBytesEncoder, getProgramDerivedAddress, getU8Encoder, } from '@solana/kit';
|
|
3
|
-
import { AccountDecodeError, InvalidAccountOwnerError, InvalidDiscriminatorError,
|
|
4
|
-
import {
|
|
3
|
+
import { AccountDecodeError, InvalidAccountOwnerError, InvalidDiscriminatorError, } from '../../client/errors.js';
|
|
4
|
+
import { factionValue, translateFaction } from './faction.js';
|
|
5
5
|
const OUTLAW_FLAG_DATA_LENGTH = 60;
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
export { LOOT_FILTER_OFFSETS } from './loot-layout.js';
|
|
9
|
-
/** Audited read and deferred-action relationships for the combat capability. */
|
|
10
|
-
export const COMBAT_RELATIONSHIPS = Object.freeze([
|
|
11
|
-
{
|
|
12
|
-
from: 'profile + faction',
|
|
13
|
-
kind: 'derived',
|
|
14
|
-
mechanism: 'OutlawFlag PDA seeds',
|
|
15
|
-
to: 'outlawFlag?',
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
from: 'loot',
|
|
19
|
-
kind: 'stored',
|
|
20
|
-
mechanism: 'Game, Profile, coordinates, and destroyer account fields',
|
|
21
|
-
to: 'game | profile | fleet',
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
from: 'combat',
|
|
25
|
-
kind: 'nested',
|
|
26
|
-
mechanism: 'Game config, Fleet combat state, and Loot items/reward legs',
|
|
27
|
-
to: 'configuration | fleetCombatStatus | lootInventory',
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
from: 'combat',
|
|
31
|
-
kind: 'instruction-only',
|
|
32
|
-
mechanism: 'attack, repair, stimulant, reward resolution, and sweep co-accounts are not durable relations',
|
|
33
|
-
to: 'actions',
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
from: 'game | profile',
|
|
37
|
-
kind: 'discovered',
|
|
38
|
-
mechanism: 'targeted Loot discriminator, Game, and Profile filters',
|
|
39
|
-
to: 'loot[]',
|
|
40
|
-
},
|
|
41
|
-
]);
|
|
6
|
+
const OUTLAW_FLAG_ACCOUNT_DISCRIMINATOR = /* @__PURE__ */ Object.freeze(
|
|
7
|
+
/* @__PURE__ */ Array.from(OUTLAW_FLAG_DISCRIMINATOR));
|
|
42
8
|
function hasDiscriminator(data, discriminator) {
|
|
43
9
|
return discriminator.every((byte, index) => data[index] === byte);
|
|
44
10
|
}
|
|
@@ -51,91 +17,12 @@ function validateOwnerAndDiscriminator(account, type, discriminator) {
|
|
|
51
17
|
throw new InvalidDiscriminatorError(type, account.address);
|
|
52
18
|
}
|
|
53
19
|
}
|
|
54
|
-
function validateLootAccount(account) {
|
|
55
|
-
validateOwnerAndDiscriminator(account, 'loot', LOOT_ACCOUNT_DISCRIMINATOR);
|
|
56
|
-
if (account.data.length < LOOT_MINIMUM_DATA_LENGTH) {
|
|
57
|
-
throw new AccountDecodeError('loot', account.address, new RangeError(`Expected at least ${LOOT_MINIMUM_DATA_LENGTH} Loot account bytes, received ${account.data.length}.`));
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
20
|
function validateOutlawFlagAccount(account) {
|
|
61
21
|
validateOwnerAndDiscriminator(account, 'outlawFlag', OUTLAW_FLAG_ACCOUNT_DISCRIMINATOR);
|
|
62
22
|
if (account.data.length !== OUTLAW_FLAG_DATA_LENGTH) {
|
|
63
23
|
throw new AccountDecodeError('outlawFlag', account.address, new RangeError(`Expected exactly ${OUTLAW_FLAG_DATA_LENGTH} OutlawFlag account bytes, received ${account.data.length}.`));
|
|
64
24
|
}
|
|
65
25
|
}
|
|
66
|
-
function decodeExactly(account, type, read) {
|
|
67
|
-
try {
|
|
68
|
-
const [decoded, offset] = read(account.data, 0);
|
|
69
|
-
if (offset !== account.data.length) {
|
|
70
|
-
throw new RangeError(`Decoded ${offset} of ${account.data.length} ${type} account bytes; trailing bytes are not accepted.`);
|
|
71
|
-
}
|
|
72
|
-
return decoded;
|
|
73
|
-
}
|
|
74
|
-
catch (cause) {
|
|
75
|
-
throw new AccountDecodeError(type, account.address, cause);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
function cargoPod(value) {
|
|
79
|
-
return {
|
|
80
|
-
amounts: [...value.amounts].map(([cargoId, amount]) => ({
|
|
81
|
-
amount,
|
|
82
|
-
cargoId,
|
|
83
|
-
})),
|
|
84
|
-
sequenceId: value.seqId,
|
|
85
|
-
storageCostRaw: value.storageCost,
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
function reward(value) {
|
|
89
|
-
if (value.rewardStatus === 0)
|
|
90
|
-
return { kind: 'none' };
|
|
91
|
-
return {
|
|
92
|
-
committedAtUnixSeconds: value.rewardCommittedAt,
|
|
93
|
-
configVersion: value.rewardConfigVersion,
|
|
94
|
-
...(value.rewardStatus === 1
|
|
95
|
-
? { kind: 'committed' }
|
|
96
|
-
: value.rewardStatus === 2
|
|
97
|
-
? { kind: 'resolved' }
|
|
98
|
-
: { kind: 'unknown', rawStatus: value.rewardStatus }),
|
|
99
|
-
legs: value.rewardLegs.slice(0, value.rewardLegCount).map((leg) => ({
|
|
100
|
-
medallionsRaw: leg.medallions,
|
|
101
|
-
recipient: leg.recipient,
|
|
102
|
-
salvageTargetValueRaw: leg.salvageTargetValue,
|
|
103
|
-
})),
|
|
104
|
-
slot: value.rewardCommitSlot,
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
function translateLoot(value) {
|
|
108
|
-
return {
|
|
109
|
-
coordinates: {
|
|
110
|
-
x: value.coordinates[0].toNumber(),
|
|
111
|
-
y: value.coordinates[1].toNumber(),
|
|
112
|
-
},
|
|
113
|
-
game: value.gameId,
|
|
114
|
-
items: value.items.unsizedList.map((item) => ({
|
|
115
|
-
destroyer: item.destroyer,
|
|
116
|
-
exclusivityUnlockAtUnixSeconds: item.exclusivityUnlockTime,
|
|
117
|
-
inventory: cargoPod(item.loot),
|
|
118
|
-
rewardReclaimAtUnixSeconds: item.rewardReclaimAt,
|
|
119
|
-
})),
|
|
120
|
-
profile: value.profile,
|
|
121
|
-
reward: reward(value),
|
|
122
|
-
version: value.version,
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
function faction(value) {
|
|
126
|
-
switch (value) {
|
|
127
|
-
case 0:
|
|
128
|
-
return 'unaligned';
|
|
129
|
-
case 1:
|
|
130
|
-
return 'mud';
|
|
131
|
-
case 2:
|
|
132
|
-
return 'oni';
|
|
133
|
-
case 3:
|
|
134
|
-
return 'ustur';
|
|
135
|
-
default:
|
|
136
|
-
throw new RangeError(`Unsupported OutlawFlag faction ${String(value)}.`);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
26
|
function translateOutlawFlag(value) {
|
|
140
27
|
if (value.outlaw !== 0 && value.outlaw !== 1) {
|
|
141
28
|
throw new RangeError(`Unsupported OutlawFlag status ${String(value.outlaw)}.`);
|
|
@@ -143,30 +30,19 @@ function translateOutlawFlag(value) {
|
|
|
143
30
|
return {
|
|
144
31
|
bump: value.bump,
|
|
145
32
|
declaredAtUnixSeconds: value.declaredAt,
|
|
146
|
-
faction:
|
|
33
|
+
faction: translateFaction(value.faction, 'OutlawFlag faction'),
|
|
147
34
|
isOutlaw: value.outlaw === 1,
|
|
148
35
|
profile: value.profile,
|
|
149
36
|
pvpUntilUnixSeconds: value.pvpUntil,
|
|
150
37
|
version: value.version,
|
|
151
38
|
};
|
|
152
39
|
}
|
|
153
|
-
export const
|
|
154
|
-
|
|
155
|
-
validateLootAccount(account);
|
|
156
|
-
const decoded = decodeExactly(account, 'loot', (bytes, offset) => getLootDecoder().read(bytes, offset));
|
|
157
|
-
assertLootLayout(account, decoded);
|
|
158
|
-
return translateLoot(decoded);
|
|
159
|
-
},
|
|
160
|
-
discriminator: LOOT_ACCOUNT_DISCRIMINATOR,
|
|
161
|
-
minimumDataLength: LOOT_MINIMUM_DATA_LENGTH,
|
|
162
|
-
programAddress: SAGE_PROGRAM_ADDRESS,
|
|
163
|
-
type: 'loot',
|
|
164
|
-
validate: validateLootAccount,
|
|
165
|
-
});
|
|
166
|
-
export const outlawFlagAccountDefinition = Object.freeze({
|
|
40
|
+
export const outlawFlagAccountDefinition =
|
|
41
|
+
/* @__PURE__ */ Object.freeze({
|
|
167
42
|
decode(account) {
|
|
168
43
|
validateOutlawFlagAccount(account);
|
|
169
|
-
|
|
44
|
+
// The exact fixed length is validated, so the fixed-size codec consumes it all.
|
|
45
|
+
const decoded = getOutlawFlagDecoder().decode(account.data);
|
|
170
46
|
try {
|
|
171
47
|
return translateOutlawFlag(decoded);
|
|
172
48
|
}
|
|
@@ -180,9 +56,6 @@ export const outlawFlagAccountDefinition = Object.freeze({
|
|
|
180
56
|
type: 'outlawFlag',
|
|
181
57
|
validate: validateOutlawFlagAccount,
|
|
182
58
|
});
|
|
183
|
-
function factionValue(value) {
|
|
184
|
-
return ['unaligned', 'mud', 'oni', 'ustur'].indexOf(value);
|
|
185
|
-
}
|
|
186
59
|
/** Derives the optional OutlawFlag address for one Profile/faction pair. */
|
|
187
60
|
export async function deriveOutlawFlagAddress(profile, againstFaction) {
|
|
188
61
|
const [address] = await getProgramDerivedAddress({
|
|
@@ -195,38 +68,4 @@ export async function deriveOutlawFlagAddress(profile, againstFaction) {
|
|
|
195
68
|
});
|
|
196
69
|
return address;
|
|
197
70
|
}
|
|
198
|
-
/** Builds stable targeted filters for Loot by Game and creator Profile. */
|
|
199
|
-
export function buildLootDiscoveryFilters(game, profile) {
|
|
200
|
-
return Object.freeze([
|
|
201
|
-
{
|
|
202
|
-
bytes: new Uint8Array(LOOT_DISCRIMINATOR),
|
|
203
|
-
offset: LOOT_FILTER_OFFSETS.discriminator,
|
|
204
|
-
},
|
|
205
|
-
{
|
|
206
|
-
bytes: new Uint8Array(getAddressEncoder().encode(game)),
|
|
207
|
-
offset: LOOT_FILTER_OFFSETS.game,
|
|
208
|
-
},
|
|
209
|
-
{
|
|
210
|
-
bytes: new Uint8Array(getAddressEncoder().encode(profile)),
|
|
211
|
-
offset: LOOT_FILTER_OFFSETS.profile,
|
|
212
|
-
},
|
|
213
|
-
]);
|
|
214
|
-
}
|
|
215
|
-
/** Discovers Loot by stable Game/Profile fields and revalidates every decoded hint. */
|
|
216
|
-
export async function discoverLootAccounts(context, profile, options = {}) {
|
|
217
|
-
const game = context.game;
|
|
218
|
-
if (game === undefined)
|
|
219
|
-
throw new MissingGameContextError();
|
|
220
|
-
const loot = await context.data.discover(lootAccountDefinition, {
|
|
221
|
-
...options,
|
|
222
|
-
filters: buildLootDiscoveryFilters(game, profile),
|
|
223
|
-
strategy: 'targeted-program-accounts',
|
|
224
|
-
});
|
|
225
|
-
for (const candidate of loot) {
|
|
226
|
-
if (candidate.data.game !== game || candidate.data.profile !== profile) {
|
|
227
|
-
throw new AccountDecodeError('loot', candidate.address, new RangeError('Decoded Loot fields contradicted discovery filters.'), `A discovered Loot candidate did not match the requested Game and Profile after decoding. Verify the provider, configured cluster, and pinned Loot filter offsets before retrying.`);
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
return loot;
|
|
231
|
-
}
|
|
232
71
|
//# sourceMappingURL=combat.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combat.js","sourceRoot":"","sources":["../../../src/internal/c4/combat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"combat.js","sourceRoot":"","sources":["../../../src/internal/c4/combat.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type CraftingProcess } from '@staratlas/dev-sage';
|
|
2
|
+
type LegacyCraftingProcess = Omit<CraftingProcess, 'version' | 'feeRecipient' | 'feeGovernance' | 'feeSnapshot'> & {
|
|
3
|
+
readonly version: 0;
|
|
4
|
+
readonly feeRecipient?: never;
|
|
5
|
+
readonly feeGovernance?: never;
|
|
6
|
+
readonly feeSnapshot?: never;
|
|
7
|
+
};
|
|
8
|
+
export type CompatibleCraftingProcess = LegacyCraftingProcess | (CraftingProcess & {
|
|
9
|
+
readonly version: 1;
|
|
10
|
+
});
|
|
11
|
+
export declare function readCompatibleCraftingProcess(bytes: Uint8Array, offset: number): readonly [CompatibleCraftingProcess, number];
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=crafting-process-codec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crafting-process-codec.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/crafting-process-codec.ts"],"names":[],"mappings":"AAUA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AAE7B,KAAK,qBAAqB,GAAG,IAAI,CAC/B,eAAe,EACf,SAAS,GAAG,cAAc,GAAG,eAAe,GAAG,aAAa,CAC7D,GAAG;IACF,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GACnC,qBAAqB,GAAG,CAAC,eAAe,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC;AAsBtE,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,MAAM,GACb,SAAS,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAa9C"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { fixDecoderSize, getAddressDecoder, getBytesDecoder, getI64Decoder, getStructDecoder, getU32Decoder, getU64Decoder, getU8Decoder, } from '@solana/kit';
|
|
2
|
+
import { getCargoPodDecoder, getCraftingProcessDecoder, } from '@staratlas/dev-sage';
|
|
3
|
+
/** Version 0 retains the pre-governance layout; all nested codecs are unchanged. */
|
|
4
|
+
function getLegacyDecoder() {
|
|
5
|
+
return getStructDecoder([
|
|
6
|
+
['discriminator', fixDecoderSize(getBytesDecoder(), 8)],
|
|
7
|
+
['version', getU8Decoder()],
|
|
8
|
+
['recipe', getAddressDecoder()],
|
|
9
|
+
['profile', getAddressDecoder()],
|
|
10
|
+
['system', getAddressDecoder()],
|
|
11
|
+
['starbasePlayer', getAddressDecoder()],
|
|
12
|
+
['starbaseSeqId', getU64Decoder()],
|
|
13
|
+
['craftingHab', getAddressDecoder()],
|
|
14
|
+
['quantity', getU64Decoder()],
|
|
15
|
+
['numCrew', getU32Decoder()],
|
|
16
|
+
['startTime', getI64Decoder()],
|
|
17
|
+
['endTime', getI64Decoder()],
|
|
18
|
+
['feeEscrow', getU64Decoder()],
|
|
19
|
+
['inputs', getCargoPodDecoder()],
|
|
20
|
+
]);
|
|
21
|
+
}
|
|
22
|
+
export function readCompatibleCraftingProcess(bytes, offset) {
|
|
23
|
+
const version = bytes[offset + 8];
|
|
24
|
+
if (version === 0) {
|
|
25
|
+
const [value, end] = getLegacyDecoder().read(bytes, offset);
|
|
26
|
+
return [{ ...value, version: 0 }, end];
|
|
27
|
+
}
|
|
28
|
+
if (version === 1) {
|
|
29
|
+
const [value, end] = getCraftingProcessDecoder().read(bytes, offset);
|
|
30
|
+
return [{ ...value, version: 1 }, end];
|
|
31
|
+
}
|
|
32
|
+
throw new RangeError(`Unsupported CraftingProcess version ${String(version)}. Verify the account and pinned binding version before retrying.`);
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=crafting-process-codec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crafting-process-codec.js","sourceRoot":"","sources":["../../../src/internal/c4/crafting-process-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,yBAAyB,GAE1B,MAAM,qBAAqB,CAAC;AAe7B,oFAAoF;AACpF,SAAS,gBAAgB;IACvB,OAAO,gBAAgB,CAAC;QACtB,CAAC,eAAe,EAAE,cAAc,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC;QAC3B,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;QAC/B,CAAC,SAAS,EAAE,iBAAiB,EAAE,CAAC;QAChC,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;QAC/B,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;QACvC,CAAC,eAAe,EAAE,aAAa,EAAE,CAAC;QAClC,CAAC,aAAa,EAAE,iBAAiB,EAAE,CAAC;QACpC,CAAC,UAAU,EAAE,aAAa,EAAE,CAAC;QAC7B,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC;QAC5B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC;QAC9B,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC;QAC5B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC;QAC9B,CAAC,QAAQ,EAAE,kBAAkB,EAAE,CAAC;KACjC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,KAAiB,EACjB,MAAc;IAEd,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,gBAAgB,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5D,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,yBAAyB,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACrE,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,IAAI,UAAU,CAClB,uCAAuC,MAAM,CAAC,OAAO,CAAC,kEAAkE,CACzH,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Address, DiscoveryRequest, ProgramAccountFilter, SageContext, SnapshotEnvelope } from '../../client/contracts.js';
|
|
1
|
+
import type { Address, DiscoveryRequest, ProgramAccountFilter, RawAccount, SageContext, SnapshotEnvelope } from '../../client/contracts.js';
|
|
2
2
|
import type { C4AccountAdapter } from './adapter.js';
|
|
3
3
|
export declare const CRAFTING_HAB_FILTER_OFFSETS: Readonly<{
|
|
4
4
|
discriminator: 0;
|
|
@@ -14,37 +14,6 @@ export declare const CRAFTING_PROCESS_FILTER_OFFSETS: Readonly<{
|
|
|
14
14
|
starbasePlayer: 105;
|
|
15
15
|
system: 73;
|
|
16
16
|
}>;
|
|
17
|
-
export declare const CRAFTING_RELATIONSHIPS: readonly [{
|
|
18
|
-
readonly from: "game + recipeId";
|
|
19
|
-
readonly kind: "derived";
|
|
20
|
-
readonly mechanism: "Recipe PDA seeds: literal, Game, and recipe id";
|
|
21
|
-
readonly to: "recipe";
|
|
22
|
-
}, {
|
|
23
|
-
readonly from: "profile | starSystem";
|
|
24
|
-
readonly kind: "discovered";
|
|
25
|
-
readonly mechanism: "targeted CraftingHabInstance stored-field filters";
|
|
26
|
-
readonly to: "craftingHabInstance[]";
|
|
27
|
-
}, {
|
|
28
|
-
readonly from: "profile | starbasePlayer";
|
|
29
|
-
readonly kind: "discovered";
|
|
30
|
-
readonly mechanism: "targeted CraftingProcess stored-field filters";
|
|
31
|
-
readonly to: "craftingProcess[]";
|
|
32
|
-
}, {
|
|
33
|
-
readonly from: "craftingProcess";
|
|
34
|
-
readonly kind: "stored";
|
|
35
|
-
readonly mechanism: "Recipe, Profile, System, StarbasePlayer, and Crafting Hab fields";
|
|
36
|
-
readonly to: "recipe | profile | starSystem | starbasePlayer | craftingHabInstance";
|
|
37
|
-
}, {
|
|
38
|
-
readonly from: "craftingHabInstance | craftingProcess";
|
|
39
|
-
readonly kind: "nested";
|
|
40
|
-
readonly mechanism: "ProductionCore and committed-input CargoPod values";
|
|
41
|
-
readonly to: "cargoPod";
|
|
42
|
-
}, {
|
|
43
|
-
readonly from: "craftingProcess";
|
|
44
|
-
readonly kind: "instruction-only";
|
|
45
|
-
readonly mechanism: "currency cache and output CargoPod co-accounts are not stored";
|
|
46
|
-
readonly to: "currencyCache | outputCargoPod";
|
|
47
|
-
}];
|
|
48
17
|
export interface CraftingFixedValueData {
|
|
49
18
|
readonly raw: bigint;
|
|
50
19
|
readonly value: number;
|
|
@@ -149,18 +118,41 @@ export interface CraftingProcessAccountData {
|
|
|
149
118
|
readonly system: Address;
|
|
150
119
|
readonly starbasePlayer: Address;
|
|
151
120
|
readonly starbaseSequenceId: bigint;
|
|
152
|
-
readonly craftingHab
|
|
121
|
+
readonly craftingHab?: Address;
|
|
153
122
|
readonly quantityRaw: bigint;
|
|
154
123
|
readonly numCrew: number;
|
|
155
124
|
readonly startsAtUnixSeconds: bigint;
|
|
156
125
|
readonly endsAtUnixSeconds: bigint;
|
|
157
126
|
readonly feeEscrowRaw: bigint;
|
|
127
|
+
/** Captured original recipe destination; absent on legacy version 0 processes. */
|
|
128
|
+
readonly feeRecipient?: 'atlas' | 'dao-atlas';
|
|
129
|
+
/** Captured governance address, if present; never inferred from the current Recipe. */
|
|
130
|
+
readonly feeGovernance?: Address;
|
|
131
|
+
/** Captured routing rates; absent on legacy version 0 processes. */
|
|
132
|
+
readonly feeSnapshot?: {
|
|
133
|
+
readonly craftingFeeBasisPoints: number;
|
|
134
|
+
readonly localMarketFeeBasisPoints: number;
|
|
135
|
+
readonly localTreasuryShareBasisPoints: number;
|
|
136
|
+
};
|
|
158
137
|
readonly inputs: CraftingCargoPodData;
|
|
159
138
|
}
|
|
139
|
+
/** Pinned 0.53.0 Recipe: discriminator(8), version(1), id(2), Game(32),
|
|
140
|
+
* durations(16), Name(64), status(1), fee(8), recipient(1), Hab flag(1). */
|
|
141
|
+
export declare const RECIPE_USAGE_COUNT_OFFSET = 134;
|
|
142
|
+
/** Name is the fixed 64-byte UTF-8 field immediately after the two durations. */
|
|
143
|
+
export declare function readRecipeName(account: RawAccount): string;
|
|
144
|
+
/** Fixed-width counters for guards whose digest binds all other account bytes.
|
|
145
|
+
* Full Recipe decoding remains the planner's responsibility; execution must
|
|
146
|
+
* match that digest before relying on these counters. */
|
|
147
|
+
export declare function readRecipeUsage(account: RawAccount): {
|
|
148
|
+
count: bigint;
|
|
149
|
+
limit: bigint;
|
|
150
|
+
};
|
|
160
151
|
export declare const recipeAccountDefinition: C4AccountAdapter<RecipeAccountData>;
|
|
161
152
|
export declare const craftingHabAccountDefinition: C4AccountAdapter<CraftingHabAccountData>;
|
|
162
153
|
export declare const craftingProcessAccountDefinition: C4AccountAdapter<CraftingProcessAccountData>;
|
|
163
154
|
export declare function deriveRecipeAddress(game: Address, recipeId: number): Promise<Address>;
|
|
155
|
+
export declare function buildRecipeDiscoveryFilters(game: Address): readonly ProgramAccountFilter[];
|
|
164
156
|
export declare function buildCraftingHabOwnerDiscoveryFilters(game: Address, owner: Address, system?: Address): readonly ProgramAccountFilter[];
|
|
165
157
|
export declare function buildCraftingProcessProfileDiscoveryFilters(profile: Address): readonly ProgramAccountFilter[];
|
|
166
158
|
export declare function buildCraftingProcessStarbaseDiscoveryFilters(starbasePlayer: Address): readonly ProgramAccountFilter[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crafting.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/crafting.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"crafting.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/crafting.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,26 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SYSTEM_PROGRAM } from '../system-program.js';
|
|
2
|
+
import { CRAFTING_HAB_INSTANCE_DISCRIMINATOR, CRAFTING_PROCESS_DISCRIMINATOR, RECIPE_DISCRIMINATOR, SAGE_PROGRAM_ADDRESS, RecipeFeeRecipient, RecipeStatus, StarbaseLevel, getCraftingHabInstanceDecoder, getRecipeDecoder, } from '@staratlas/dev-sage';
|
|
2
3
|
import { getAddressEncoder, getBytesEncoder, getProgramDerivedAddress, getU16Encoder, } from '@solana/kit';
|
|
3
4
|
import { AccountDecodeError, InvalidAccountOwnerError, InvalidDiscriminatorError, } from '../../client/errors.js';
|
|
4
5
|
import { validateUnsignedU16EntityId } from './pda.js';
|
|
6
|
+
import { readCompatibleCraftingProcess, } from './crafting-process-codec.js';
|
|
5
7
|
const FLOYDS_PER_ATLAS = 100_000_000;
|
|
6
8
|
const RECIPE_MINIMUM_DATA_LENGTH = 235;
|
|
7
9
|
const CRAFTING_HAB_MINIMUM_DATA_LENGTH = 220;
|
|
8
10
|
const CRAFTING_PROCESS_MINIMUM_DATA_LENGTH = 227;
|
|
9
|
-
const RECIPE_ACCOUNT_DISCRIMINATOR = Object.freeze(
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
|
|
11
|
+
const RECIPE_ACCOUNT_DISCRIMINATOR = /* @__PURE__ */ Object.freeze(
|
|
12
|
+
/* @__PURE__ */ Array.from(RECIPE_DISCRIMINATOR));
|
|
13
|
+
const HAB_ACCOUNT_DISCRIMINATOR = /* @__PURE__ */ Object.freeze(
|
|
14
|
+
/* @__PURE__ */ Array.from(CRAFTING_HAB_INSTANCE_DISCRIMINATOR));
|
|
15
|
+
const PROCESS_ACCOUNT_DISCRIMINATOR = /* @__PURE__ */ Object.freeze(
|
|
16
|
+
/* @__PURE__ */ Array.from(CRAFTING_PROCESS_DISCRIMINATOR));
|
|
17
|
+
export const CRAFTING_HAB_FILTER_OFFSETS = /* @__PURE__ */ Object.freeze({
|
|
13
18
|
discriminator: 0,
|
|
14
19
|
game: 41,
|
|
15
20
|
owner: 9,
|
|
16
21
|
system: 73,
|
|
17
22
|
});
|
|
18
|
-
export const CRAFTING_PROCESS_FILTER_OFFSETS = Object.freeze({
|
|
23
|
+
export const CRAFTING_PROCESS_FILTER_OFFSETS = /* @__PURE__ */ Object.freeze({
|
|
19
24
|
craftingHab: 145,
|
|
20
25
|
discriminator: 0,
|
|
21
26
|
profile: 41,
|
|
@@ -23,44 +28,6 @@ export const CRAFTING_PROCESS_FILTER_OFFSETS = Object.freeze({
|
|
|
23
28
|
starbasePlayer: 105,
|
|
24
29
|
system: 73,
|
|
25
30
|
});
|
|
26
|
-
export const CRAFTING_RELATIONSHIPS = Object.freeze([
|
|
27
|
-
{
|
|
28
|
-
from: 'game + recipeId',
|
|
29
|
-
kind: 'derived',
|
|
30
|
-
mechanism: 'Recipe PDA seeds: literal, Game, and recipe id',
|
|
31
|
-
to: 'recipe',
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
from: 'profile | starSystem',
|
|
35
|
-
kind: 'discovered',
|
|
36
|
-
mechanism: 'targeted CraftingHabInstance stored-field filters',
|
|
37
|
-
to: 'craftingHabInstance[]',
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
from: 'profile | starbasePlayer',
|
|
41
|
-
kind: 'discovered',
|
|
42
|
-
mechanism: 'targeted CraftingProcess stored-field filters',
|
|
43
|
-
to: 'craftingProcess[]',
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
from: 'craftingProcess',
|
|
47
|
-
kind: 'stored',
|
|
48
|
-
mechanism: 'Recipe, Profile, System, StarbasePlayer, and Crafting Hab fields',
|
|
49
|
-
to: 'recipe | profile | starSystem | starbasePlayer | craftingHabInstance',
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
from: 'craftingHabInstance | craftingProcess',
|
|
53
|
-
kind: 'nested',
|
|
54
|
-
mechanism: 'ProductionCore and committed-input CargoPod values',
|
|
55
|
-
to: 'cargoPod',
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
from: 'craftingProcess',
|
|
59
|
-
kind: 'instruction-only',
|
|
60
|
-
mechanism: 'currency cache and output CargoPod co-accounts are not stored',
|
|
61
|
-
to: 'currencyCache | outputCargoPod',
|
|
62
|
-
},
|
|
63
|
-
]);
|
|
64
31
|
function fixed(value) {
|
|
65
32
|
return { raw: value.raw, value: value.toNumber() };
|
|
66
33
|
}
|
|
@@ -224,9 +191,25 @@ function translateHab(value) {
|
|
|
224
191
|
}
|
|
225
192
|
function translateProcess(value) {
|
|
226
193
|
return {
|
|
227
|
-
|
|
194
|
+
// #806: stored no-Hab Processes use System; SAGE is only an omitted instruction meta.
|
|
195
|
+
...(value.craftingHab === SYSTEM_PROGRAM
|
|
196
|
+
? {}
|
|
197
|
+
: { craftingHab: value.craftingHab }),
|
|
228
198
|
endsAtUnixSeconds: value.endTime,
|
|
229
199
|
feeEscrowRaw: value.feeEscrow,
|
|
200
|
+
...(value.version === 1
|
|
201
|
+
? {
|
|
202
|
+
feeRecipient: feeRecipient(value.feeRecipient),
|
|
203
|
+
...(value.feeGovernance === SYSTEM_PROGRAM
|
|
204
|
+
? {}
|
|
205
|
+
: { feeGovernance: value.feeGovernance }),
|
|
206
|
+
feeSnapshot: {
|
|
207
|
+
craftingFeeBasisPoints: value.feeSnapshot.craftingFeeBps,
|
|
208
|
+
localMarketFeeBasisPoints: value.feeSnapshot.localMarketFeeBps,
|
|
209
|
+
localTreasuryShareBasisPoints: value.feeSnapshot.localTreasuryShareBps,
|
|
210
|
+
},
|
|
211
|
+
}
|
|
212
|
+
: {}),
|
|
230
213
|
inputs: cargoPod(value.inputs),
|
|
231
214
|
numCrew: value.numCrew,
|
|
232
215
|
profile: value.profile,
|
|
@@ -272,7 +255,30 @@ function habValidation(account) {
|
|
|
272
255
|
function processValidation(account) {
|
|
273
256
|
validate(account, 'craftingProcess', PROCESS_ACCOUNT_DISCRIMINATOR, CRAFTING_PROCESS_MINIMUM_DATA_LENGTH);
|
|
274
257
|
}
|
|
275
|
-
|
|
258
|
+
/** Pinned 0.53.0 Recipe: discriminator(8), version(1), id(2), Game(32),
|
|
259
|
+
* durations(16), Name(64), status(1), fee(8), recipient(1), Hab flag(1). */
|
|
260
|
+
export const RECIPE_USAGE_COUNT_OFFSET = 134;
|
|
261
|
+
/** Name is the fixed 64-byte UTF-8 field immediately after the two durations. */
|
|
262
|
+
export function readRecipeName(account) {
|
|
263
|
+
recipeValidation(account);
|
|
264
|
+
return new TextDecoder()
|
|
265
|
+
.decode(account.data.subarray(59, 123))
|
|
266
|
+
.replace(/\0/gu, '')
|
|
267
|
+
.trim();
|
|
268
|
+
}
|
|
269
|
+
/** Fixed-width counters for guards whose digest binds all other account bytes.
|
|
270
|
+
* Full Recipe decoding remains the planner's responsibility; execution must
|
|
271
|
+
* match that digest before relying on these counters. */
|
|
272
|
+
export function readRecipeUsage(account) {
|
|
273
|
+
recipeValidation(account);
|
|
274
|
+
const view = new DataView(account.data.buffer, account.data.byteOffset, account.data.byteLength);
|
|
275
|
+
return {
|
|
276
|
+
count: view.getBigUint64(RECIPE_USAGE_COUNT_OFFSET, true),
|
|
277
|
+
limit: view.getBigUint64(RECIPE_USAGE_COUNT_OFFSET + 8, true),
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
export const recipeAccountDefinition =
|
|
281
|
+
/* @__PURE__ */ Object.freeze({
|
|
276
282
|
decode(account) {
|
|
277
283
|
recipeValidation(account);
|
|
278
284
|
return translateRecipe(decodeExactly(account, 'recipe', (bytes, offset) => getRecipeDecoder().read(bytes, offset)));
|
|
@@ -283,7 +289,8 @@ export const recipeAccountDefinition = Object.freeze({
|
|
|
283
289
|
type: 'recipe',
|
|
284
290
|
validate: recipeValidation,
|
|
285
291
|
});
|
|
286
|
-
export const craftingHabAccountDefinition =
|
|
292
|
+
export const craftingHabAccountDefinition =
|
|
293
|
+
/* @__PURE__ */ Object.freeze({
|
|
287
294
|
decode(account) {
|
|
288
295
|
habValidation(account);
|
|
289
296
|
return translateHab(decodeExactly(account, 'craftingHabInstance', (bytes, offset) => getCraftingHabInstanceDecoder().read(bytes, offset)));
|
|
@@ -294,10 +301,11 @@ export const craftingHabAccountDefinition = Object.freeze({
|
|
|
294
301
|
type: 'craftingHabInstance',
|
|
295
302
|
validate: habValidation,
|
|
296
303
|
});
|
|
297
|
-
export const craftingProcessAccountDefinition =
|
|
304
|
+
export const craftingProcessAccountDefinition =
|
|
305
|
+
/* @__PURE__ */ Object.freeze({
|
|
298
306
|
decode(account) {
|
|
299
307
|
processValidation(account);
|
|
300
|
-
return translateProcess(decodeExactly(account, 'craftingProcess', (bytes, offset) =>
|
|
308
|
+
return translateProcess(decodeExactly(account, 'craftingProcess', (bytes, offset) => readCompatibleCraftingProcess(bytes, offset)));
|
|
301
309
|
},
|
|
302
310
|
discriminator: PROCESS_ACCOUNT_DISCRIMINATOR,
|
|
303
311
|
minimumDataLength: CRAFTING_PROCESS_MINIMUM_DATA_LENGTH,
|
|
@@ -326,6 +334,10 @@ function filters(discriminator, entries) {
|
|
|
326
334
|
})),
|
|
327
335
|
]);
|
|
328
336
|
}
|
|
337
|
+
export function buildRecipeDiscoveryFilters(game) {
|
|
338
|
+
// Generated Recipe: discriminator (8), version (1), recipeId (u16), gameId.
|
|
339
|
+
return filters(RECIPE_DISCRIMINATOR, [{ address: game, offset: 11 }]);
|
|
340
|
+
}
|
|
329
341
|
export function buildCraftingHabOwnerDiscoveryFilters(game, owner, system) {
|
|
330
342
|
return filters(CRAFTING_HAB_INSTANCE_DISCRIMINATOR, [
|
|
331
343
|
{ address: game, offset: CRAFTING_HAB_FILTER_OFFSETS.game },
|