@aephia/atlas-kit 0.6.0-next.99 → 0.7.0-next.1
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/dist/cargo/actions/deposit.d.ts +4 -1
- package/dist/cargo/actions/deposit.d.ts.map +1 -1
- package/dist/cargo/actions/deposit.js +56 -133
- package/dist/cargo/actions/deposit.js.map +1 -1
- package/dist/cargo/actions/index.d.ts +19 -7
- package/dist/cargo/actions/index.d.ts.map +1 -1
- package/dist/cargo/actions/index.js +106 -89
- package/dist/cargo/actions/index.js.map +1 -1
- package/dist/cargo/actions/transfer-bounds.d.ts +74 -0
- package/dist/cargo/actions/transfer-bounds.d.ts.map +1 -0
- package/dist/cargo/actions/transfer-bounds.js +128 -0
- package/dist/cargo/actions/transfer-bounds.js.map +1 -0
- package/dist/cargo/actions/wallet-context.d.ts +52 -3
- package/dist/cargo/actions/wallet-context.d.ts.map +1 -1
- package/dist/cargo/actions/wallet-context.js +118 -7
- package/dist/cargo/actions/wallet-context.js.map +1 -1
- package/dist/cargo/actions/wallet-token.d.ts +1 -6
- package/dist/cargo/actions/wallet-token.d.ts.map +1 -1
- package/dist/cargo/actions/wallet-token.js +0 -45
- package/dist/cargo/actions/wallet-token.js.map +1 -1
- package/dist/cargo/actions/withdrawal.d.ts +1 -1
- package/dist/cargo/actions/withdrawal.d.ts.map +1 -1
- package/dist/cargo/actions/withdrawal.js +37 -163
- 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 +80 -14
- package/dist/claim-stakes/actions/index.d.ts.map +1 -1
- package/dist/claim-stakes/actions/index.js +660 -709
- package/dist/claim-stakes/actions/index.js.map +1 -1
- package/dist/claim-stakes/index.d.ts +8 -6
- package/dist/claim-stakes/index.d.ts.map +1 -1
- package/dist/claim-stakes/index.js +12 -18
- package/dist/claim-stakes/index.js.map +1 -1
- package/dist/client/context.d.ts.map +1 -1
- package/dist/client/context.js +353 -37
- package/dist/client/context.js.map +1 -1
- package/dist/client/contracts.d.ts +54 -1
- package/dist/client/contracts.d.ts.map +1 -1
- package/dist/client/deployments.d.ts +17 -0
- package/dist/client/deployments.d.ts.map +1 -1
- package/dist/client/deployments.js +17 -0
- package/dist/client/deployments.js.map +1 -1
- package/dist/client/index.d.ts +22 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +21 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/rpc-subscription-provider.d.ts +2 -0
- package/dist/client/rpc-subscription-provider.d.ts.map +1 -1
- package/dist/client/rpc-subscription-provider.js +135 -101
- package/dist/client/rpc-subscription-provider.js.map +1 -1
- package/dist/combat/actions/index.d.ts +30 -12
- package/dist/combat/actions/index.d.ts.map +1 -1
- package/dist/combat/actions/index.js +264 -252
- package/dist/combat/actions/index.js.map +1 -1
- package/dist/combat/index.d.ts +25 -8
- package/dist/combat/index.d.ts.map +1 -1
- package/dist/combat/index.js +21 -18
- package/dist/combat/index.js.map +1 -1
- package/dist/crafting/actions/fee-rate.d.ts +47 -0
- package/dist/crafting/actions/fee-rate.d.ts.map +1 -0
- package/dist/crafting/actions/fee-rate.js +58 -0
- package/dist/crafting/actions/fee-rate.js.map +1 -0
- package/dist/crafting/actions/index.d.ts +28 -28
- package/dist/crafting/actions/index.d.ts.map +1 -1
- package/dist/crafting/actions/index.js +243 -314
- package/dist/crafting/actions/index.js.map +1 -1
- package/dist/crafting/estimate.d.ts +101 -0
- package/dist/crafting/estimate.d.ts.map +1 -0
- package/dist/crafting/estimate.js +108 -0
- package/dist/crafting/estimate.js.map +1 -0
- package/dist/crafting/index.d.ts +6 -5
- package/dist/crafting/index.d.ts.map +1 -1
- package/dist/crafting/index.js +6 -13
- package/dist/crafting/index.js.map +1 -1
- package/dist/factions/actions/index.d.ts +1 -1
- package/dist/factions/actions/index.d.ts.map +1 -1
- package/dist/factions/actions/index.js +5 -4
- package/dist/factions/actions/index.js.map +1 -1
- package/dist/factions/index.d.ts +18 -1
- package/dist/factions/index.d.ts.map +1 -1
- package/dist/factions/index.js +24 -18
- package/dist/factions/index.js.map +1 -1
- package/dist/fleets/actions/add-ship.d.ts +18 -5
- package/dist/fleets/actions/add-ship.d.ts.map +1 -1
- package/dist/fleets/actions/add-ship.js +35 -48
- package/dist/fleets/actions/add-ship.js.map +1 -1
- package/dist/fleets/actions/create-fleet.d.ts +1 -1
- package/dist/fleets/actions/create-fleet.d.ts.map +1 -1
- package/dist/fleets/actions/create-fleet.js +8 -38
- package/dist/fleets/actions/create-fleet.js.map +1 -1
- package/dist/fleets/actions/crew-transfer.d.ts +8 -4
- package/dist/fleets/actions/crew-transfer.d.ts.map +1 -1
- package/dist/fleets/actions/crew-transfer.js +27 -42
- package/dist/fleets/actions/crew-transfer.js.map +1 -1
- package/dist/fleets/actions/deployment-storage.d.ts +161 -0
- package/dist/fleets/actions/deployment-storage.d.ts.map +1 -0
- package/dist/fleets/actions/deployment-storage.js +297 -0
- package/dist/fleets/actions/deployment-storage.js.map +1 -0
- package/dist/fleets/actions/disband.d.ts +42 -0
- package/dist/fleets/actions/disband.d.ts.map +1 -0
- package/dist/fleets/actions/disband.js +107 -0
- package/dist/fleets/actions/disband.js.map +1 -0
- package/dist/fleets/actions/index.d.ts +55 -11
- package/dist/fleets/actions/index.d.ts.map +1 -1
- package/dist/fleets/actions/index.js +282 -235
- package/dist/fleets/actions/index.js.map +1 -1
- package/dist/fleets/actions/respawn.d.ts +1 -1
- package/dist/fleets/actions/respawn.d.ts.map +1 -1
- package/dist/fleets/actions/respawn.js +8 -37
- package/dist/fleets/actions/respawn.js.map +1 -1
- 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 +39 -91
- package/dist/fleets/actions/ship-import.js.map +1 -1
- package/dist/fleets/actions/sync.d.ts +24 -0
- package/dist/fleets/actions/sync.d.ts.map +1 -0
- package/dist/fleets/actions/sync.js +55 -0
- package/dist/fleets/actions/sync.js.map +1 -0
- package/dist/fleets/composition-stats.d.ts +101 -0
- package/dist/fleets/composition-stats.d.ts.map +1 -0
- package/dist/fleets/composition-stats.js +354 -0
- package/dist/fleets/composition-stats.js.map +1 -0
- package/dist/fleets/cooldown.d.ts +7 -4
- package/dist/fleets/cooldown.d.ts.map +1 -1
- package/dist/fleets/cooldown.js +11 -6
- package/dist/fleets/cooldown.js.map +1 -1
- package/dist/fleets/index.d.ts +1 -0
- package/dist/fleets/index.d.ts.map +1 -1
- package/dist/fleets/index.js +3 -10
- package/dist/fleets/index.js.map +1 -1
- package/dist/fleets/movement-arithmetic.d.ts.map +1 -1
- package/dist/fleets/movement-arithmetic.js +4 -0
- package/dist/fleets/movement-arithmetic.js.map +1 -1
- package/dist/fleets/subwarp-estimate.d.ts +3 -1
- package/dist/fleets/subwarp-estimate.d.ts.map +1 -1
- package/dist/fleets/subwarp-estimate.js +3 -1
- package/dist/fleets/subwarp-estimate.js.map +1 -1
- package/dist/fleets/warp-lane-policy.d.ts +13 -7
- package/dist/fleets/warp-lane-policy.d.ts.map +1 -1
- package/dist/fleets/warp-lane-policy.js +19 -7
- package/dist/fleets/warp-lane-policy.js.map +1 -1
- 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 +2 -1
- package/dist/identity/actions/index.d.ts.map +1 -1
- package/dist/identity/actions/index.js +6 -4
- package/dist/identity/actions/index.js.map +1 -1
- package/dist/identity/actions/research-unlock.d.ts +61 -0
- package/dist/identity/actions/research-unlock.d.ts.map +1 -0
- package/dist/identity/actions/research-unlock.js +166 -0
- package/dist/identity/actions/research-unlock.js.map +1 -0
- package/dist/identity/index.d.ts +62 -2
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +63 -12
- package/dist/identity/index.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/internal/c4/account-decoding.d.ts +49 -0
- package/dist/internal/c4/account-decoding.d.ts.map +1 -0
- package/dist/internal/c4/account-decoding.js +74 -0
- package/dist/internal/c4/account-decoding.js.map +1 -0
- package/dist/internal/c4/career-xp.d.ts +58 -0
- package/dist/internal/c4/career-xp.d.ts.map +1 -0
- package/dist/internal/c4/career-xp.js +80 -0
- package/dist/internal/c4/career-xp.js.map +1 -0
- package/dist/internal/c4/cargo-instructions.d.ts +27 -0
- package/dist/internal/c4/cargo-instructions.d.ts.map +1 -0
- package/dist/internal/c4/cargo-instructions.js +41 -0
- package/dist/internal/c4/cargo-instructions.js.map +1 -0
- package/dist/internal/c4/cargo-pod.d.ts +15 -0
- package/dist/internal/c4/cargo-pod.d.ts.map +1 -0
- package/dist/internal/c4/cargo-pod.js +13 -0
- package/dist/internal/c4/cargo-pod.js.map +1 -0
- package/dist/internal/c4/character-modifier.d.ts +1 -1
- package/dist/internal/c4/character-modifier.d.ts.map +1 -1
- package/dist/internal/c4/character.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 -0
- package/dist/internal/c4/claim-stake-definitions.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake-definitions.js +6 -2
- package/dist/internal/c4/claim-stake-definitions.js.map +1 -1
- package/dist/internal/c4/claim-stake-plots.d.ts +17 -0
- package/dist/internal/c4/claim-stake-plots.d.ts.map +1 -0
- package/dist/internal/c4/claim-stake-plots.js +29 -0
- package/dist/internal/c4/claim-stake-plots.js.map +1 -0
- package/dist/internal/c4/claim-stake-standing.d.ts +80 -0
- package/dist/internal/c4/claim-stake-standing.d.ts.map +1 -0
- package/dist/internal/c4/claim-stake-standing.js +61 -0
- package/dist/internal/c4/claim-stake-standing.js.map +1 -0
- package/dist/internal/c4/claim-stake-storage.d.ts +45 -0
- package/dist/internal/c4/claim-stake-storage.d.ts.map +1 -0
- package/dist/internal/c4/claim-stake-storage.js +207 -0
- package/dist/internal/c4/claim-stake-storage.js.map +1 -0
- package/dist/internal/c4/claim-stake.d.ts +9 -6
- package/dist/internal/c4/claim-stake.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake.js +24 -56
- package/dist/internal/c4/claim-stake.js.map +1 -1
- package/dist/internal/c4/combat-storage.d.ts +20 -0
- package/dist/internal/c4/combat-storage.d.ts.map +1 -0
- package/dist/internal/c4/combat-storage.js +43 -0
- package/dist/internal/c4/combat-storage.js.map +1 -0
- package/dist/internal/c4/combat.d.ts +1 -55
- package/dist/internal/c4/combat.d.ts.map +1 -1
- package/dist/internal/c4/combat.js +16 -180
- package/dist/internal/c4/combat.js.map +1 -1
- package/dist/internal/c4/crafting-storage.d.ts +20 -0
- package/dist/internal/c4/crafting-storage.d.ts.map +1 -0
- package/dist/internal/c4/crafting-storage.js +54 -0
- package/dist/internal/c4/crafting-storage.js.map +1 -0
- package/dist/internal/c4/crafting.d.ts +9 -1
- package/dist/internal/c4/crafting.d.ts.map +1 -1
- package/dist/internal/c4/crafting.js +38 -98
- package/dist/internal/c4/crafting.js.map +1 -1
- package/dist/internal/c4/currency-cache.d.ts +1 -1
- package/dist/internal/c4/currency-cache.d.ts.map +1 -1
- package/dist/internal/c4/currency-cache.js +6 -9
- package/dist/internal/c4/currency-cache.js.map +1 -1
- package/dist/internal/c4/discriminators.d.ts +93 -0
- package/dist/internal/c4/discriminators.d.ts.map +1 -0
- package/dist/internal/c4/discriminators.js +190 -0
- package/dist/internal/c4/discriminators.js.map +1 -0
- package/dist/internal/c4/faction-epoch-meter.d.ts.map +1 -1
- package/dist/internal/c4/faction-epoch-meter.js +5 -10
- package/dist/internal/c4/faction-epoch-meter.js.map +1 -1
- package/dist/internal/c4/faction-treasury.d.ts.map +1 -1
- package/dist/internal/c4/faction-treasury.js +11 -18
- package/dist/internal/c4/faction-treasury.js.map +1 -1
- 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 +31 -3
- package/dist/internal/c4/factions.d.ts.map +1 -1
- package/dist/internal/c4/factions.js +103 -104
- package/dist/internal/c4/factions.js.map +1 -1
- package/dist/internal/c4/fleet-creation.d.ts +9 -2
- package/dist/internal/c4/fleet-creation.d.ts.map +1 -1
- package/dist/internal/c4/fleet-creation.js +15 -18
- package/dist/internal/c4/fleet-creation.js.map +1 -1
- package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
- package/dist/internal/c4/fleet-crew-binding.js +21 -49
- package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
- package/dist/internal/c4/fleet-disband-layout.d.ts +7 -0
- package/dist/internal/c4/fleet-disband-layout.d.ts.map +1 -0
- package/dist/internal/c4/fleet-disband-layout.js +7 -0
- package/dist/internal/c4/fleet-disband-layout.js.map +1 -0
- package/dist/internal/c4/fleet-disband.d.ts +41 -0
- package/dist/internal/c4/fleet-disband.d.ts.map +1 -0
- package/dist/internal/c4/fleet-disband.js +86 -0
- package/dist/internal/c4/fleet-disband.js.map +1 -0
- package/dist/internal/c4/fleet-points.d.ts +3 -0
- package/dist/internal/c4/fleet-points.d.ts.map +1 -0
- package/dist/internal/c4/fleet-points.js +8 -0
- package/dist/internal/c4/fleet-points.js.map +1 -0
- package/dist/internal/c4/fleet-ship-assembly.d.ts +20 -5
- package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -1
- package/dist/internal/c4/fleet-ship-assembly.js +62 -10
- package/dist/internal/c4/fleet-ship-assembly.js.map +1 -1
- package/dist/internal/c4/fleet-storage.d.ts +44 -0
- package/dist/internal/c4/fleet-storage.d.ts.map +1 -0
- package/dist/internal/c4/fleet-storage.js +108 -0
- package/dist/internal/c4/fleet-storage.js.map +1 -0
- package/dist/internal/c4/fleet-sync.d.ts +5 -0
- package/dist/internal/c4/fleet-sync.d.ts.map +1 -0
- package/dist/internal/c4/fleet-sync.js +15 -0
- package/dist/internal/c4/fleet-sync.js.map +1 -0
- package/dist/internal/c4/fleet.d.ts +20 -5
- package/dist/internal/c4/fleet.d.ts.map +1 -1
- package/dist/internal/c4/fleet.js +24 -84
- package/dist/internal/c4/fleet.js.map +1 -1
- package/dist/internal/c4/game.d.ts +76 -21
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +127 -116
- package/dist/internal/c4/game.js.map +1 -1
- package/dist/internal/c4/identity.d.ts +2 -153
- 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 +4 -6
- package/dist/internal/c4/local-market-order.d.ts.map +1 -1
- package/dist/internal/c4/local-market-order.js +5 -6
- package/dist/internal/c4/local-market-order.js.map +1 -1
- package/dist/internal/c4/loot-layout.js +1 -1
- package/dist/internal/c4/loot-layout.js.map +1 -1
- package/dist/internal/c4/loot.d.ts +89 -0
- package/dist/internal/c4/loot.d.ts.map +1 -0
- package/dist/internal/c4/loot.js +109 -0
- package/dist/internal/c4/loot.js.map +1 -0
- package/dist/internal/c4/loyalty.d.ts +7 -3
- package/dist/internal/c4/loyalty.d.ts.map +1 -1
- package/dist/internal/c4/loyalty.js +41 -130
- package/dist/internal/c4/loyalty.js.map +1 -1
- package/dist/internal/c4/market-storage.d.ts +25 -0
- package/dist/internal/c4/market-storage.d.ts.map +1 -0
- package/dist/internal/c4/market-storage.js +53 -0
- package/dist/internal/c4/market-storage.js.map +1 -0
- package/dist/internal/c4/market.d.ts +3 -0
- package/dist/internal/c4/market.d.ts.map +1 -1
- package/dist/internal/c4/market.js +20 -76
- package/dist/internal/c4/market.js.map +1 -1
- package/dist/internal/c4/mining-instructions.d.ts +1 -1
- package/dist/internal/c4/mining-instructions.d.ts.map +1 -1
- package/dist/internal/c4/mining-instructions.js +1 -1
- package/dist/internal/c4/mining-instructions.js.map +1 -1
- package/dist/internal/c4/open-signal.d.ts +1 -1
- package/dist/internal/c4/open-signal.d.ts.map +1 -1
- package/dist/internal/c4/open-signal.js +1 -1
- package/dist/internal/c4/open-signal.js.map +1 -1
- package/dist/internal/c4/pda.d.ts +49 -1
- package/dist/internal/c4/pda.d.ts.map +1 -1
- package/dist/internal/c4/pda.js +122 -17
- package/dist/internal/c4/pda.js.map +1 -1
- package/dist/internal/c4/profile-faction.d.ts +2 -1
- package/dist/internal/c4/profile-faction.d.ts.map +1 -1
- package/dist/internal/c4/profile-faction.js +36 -72
- package/dist/internal/c4/profile-faction.js.map +1 -1
- package/dist/internal/c4/profile-permissions.d.ts +1 -1
- package/dist/internal/c4/profile-permissions.d.ts.map +1 -1
- package/dist/internal/c4/profile-permissions.js +16 -1
- package/dist/internal/c4/profile-permissions.js.map +1 -1
- package/dist/internal/c4/rewards.d.ts +1 -34
- package/dist/internal/c4/rewards.d.ts.map +1 -1
- package/dist/internal/c4/rewards.js +23 -170
- package/dist/internal/c4/rewards.js.map +1 -1
- package/dist/internal/c4/runtime-bindings.d.ts +1 -1
- package/dist/internal/c4/runtime-bindings.d.ts.map +1 -1
- package/dist/internal/c4/runtime-bindings.js +1 -1
- package/dist/internal/c4/runtime-bindings.js.map +1 -1
- package/dist/internal/c4/scan-lifecycle.d.ts +21 -3
- package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -1
- package/dist/internal/c4/scan-lifecycle.js +35 -44
- package/dist/internal/c4/scan-lifecycle.js.map +1 -1
- package/dist/internal/c4/scan-storage.d.ts +7 -0
- package/dist/internal/c4/scan-storage.d.ts.map +1 -0
- package/dist/internal/c4/scan-storage.js +10 -0
- package/dist/internal/c4/scan-storage.js.map +1 -0
- package/dist/internal/c4/scanning.d.ts +3 -13
- package/dist/internal/c4/scanning.d.ts.map +1 -1
- package/dist/internal/c4/scanning.js +25 -75
- package/dist/internal/c4/scanning.js.map +1 -1
- package/dist/internal/c4/ship-stats.d.ts.map +1 -1
- package/dist/internal/c4/ship-stats.js +24 -26
- package/dist/internal/c4/ship-stats.js.map +1 -1
- package/dist/internal/c4/starbase.d.ts.map +1 -1
- package/dist/internal/c4/starbase.js +24 -96
- package/dist/internal/c4/starbase.js.map +1 -1
- package/dist/internal/c4/stimulant.d.ts +26 -0
- package/dist/internal/c4/stimulant.d.ts.map +1 -0
- package/dist/internal/c4/stimulant.js +36 -0
- package/dist/internal/c4/stimulant.js.map +1 -0
- package/dist/internal/c4/wallet-cargo-cache.js +2 -1
- package/dist/internal/c4/wallet-cargo-cache.js.map +1 -1
- package/dist/internal/c4/world.d.ts +6 -2
- package/dist/internal/c4/world.d.ts.map +1 -1
- package/dist/internal/c4/world.js +32 -107
- package/dist/internal/c4/world.js.map +1 -1
- package/dist/internal/fleet-route.d.ts +12 -0
- package/dist/internal/fleet-route.d.ts.map +1 -0
- package/dist/internal/fleet-route.js +11 -0
- package/dist/internal/fleet-route.js.map +1 -0
- package/dist/internal/fleet.d.ts +3 -3
- package/dist/internal/fleet.d.ts.map +1 -1
- package/dist/internal/fleet.js +1 -5
- package/dist/internal/fleet.js.map +1 -1
- package/dist/internal/loyalty-atlas-bank-state.d.ts +3 -2
- package/dist/internal/loyalty-atlas-bank-state.d.ts.map +1 -1
- package/dist/internal/loyalty-atlas-bank-state.js +4 -3
- package/dist/internal/loyalty-atlas-bank-state.js.map +1 -1
- 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/arrival-guards.d.ts +0 -1
- package/dist/internal/planning/arrival-guards.d.ts.map +1 -1
- package/dist/internal/planning/arrival-guards.js +3 -18
- package/dist/internal/planning/arrival-guards.js.map +1 -1
- package/dist/internal/planning/authorization-adapter.d.ts +34 -11
- package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
- package/dist/internal/planning/authorization-adapter.js +116 -12
- package/dist/internal/planning/authorization-adapter.js.map +1 -1
- package/dist/internal/planning/cargo-storage-actions.d.ts +8 -0
- package/dist/internal/planning/cargo-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/cargo-storage-actions.js +97 -0
- package/dist/internal/planning/cargo-storage-actions.js.map +1 -0
- package/dist/internal/planning/character-access.d.ts +28 -0
- package/dist/internal/planning/character-access.d.ts.map +1 -0
- package/dist/internal/planning/character-access.js +41 -0
- package/dist/internal/planning/character-access.js.map +1 -0
- package/dist/internal/planning/character-registration-guard.d.ts.map +1 -1
- package/dist/internal/planning/character-registration-guard.js +2 -1
- package/dist/internal/planning/character-registration-guard.js.map +1 -1
- package/dist/internal/planning/character-registration.d.ts.map +1 -1
- package/dist/internal/planning/character-registration.js +2 -1
- package/dist/internal/planning/character-registration.js.map +1 -1
- package/dist/internal/planning/claim-stake-storage-actions.d.ts +12 -0
- package/dist/internal/planning/claim-stake-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/claim-stake-storage-actions.js +63 -0
- package/dist/internal/planning/claim-stake-storage-actions.js.map +1 -0
- package/dist/internal/planning/combat-storage-actions.d.ts +9 -0
- package/dist/internal/planning/combat-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/combat-storage-actions.js +55 -0
- package/dist/internal/planning/combat-storage-actions.js.map +1 -0
- package/dist/internal/planning/crafting-storage-actions.d.ts +7 -0
- package/dist/internal/planning/crafting-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/crafting-storage-actions.js +64 -0
- package/dist/internal/planning/crafting-storage-actions.js.map +1 -0
- package/dist/internal/planning/currency-cache-guard.d.ts +3 -1
- package/dist/internal/planning/currency-cache-guard.d.ts.map +1 -1
- package/dist/internal/planning/currency-cache-guard.js +47 -2
- package/dist/internal/planning/currency-cache-guard.js.map +1 -1
- package/dist/internal/planning/democracy-history.d.ts.map +1 -1
- package/dist/internal/planning/democracy-history.js +6 -15
- package/dist/internal/planning/democracy-history.js.map +1 -1
- package/dist/internal/planning/direct-options.d.ts +17 -0
- package/dist/internal/planning/direct-options.d.ts.map +1 -0
- package/dist/internal/planning/direct-options.js +43 -0
- package/dist/internal/planning/direct-options.js.map +1 -0
- package/dist/internal/planning/disband-storage-actions.d.ts +9 -0
- package/dist/internal/planning/disband-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/disband-storage-actions.js +24 -0
- package/dist/internal/planning/disband-storage-actions.js.map +1 -0
- package/dist/internal/planning/faction-enrollment.d.ts +0 -2
- package/dist/internal/planning/faction-enrollment.d.ts.map +1 -1
- package/dist/internal/planning/faction-enrollment.js +0 -9
- package/dist/internal/planning/faction-enrollment.js.map +1 -1
- package/dist/internal/planning/fleet-arrival.d.ts.map +1 -1
- package/dist/internal/planning/fleet-arrival.js +10 -8
- package/dist/internal/planning/fleet-arrival.js.map +1 -1
- package/dist/internal/planning/fleet-attack-xp.d.ts.map +1 -1
- package/dist/internal/planning/fleet-attack-xp.js +5 -11
- package/dist/internal/planning/fleet-attack-xp.js.map +1 -1
- package/dist/internal/planning/fleet-creation.d.ts.map +1 -1
- package/dist/internal/planning/fleet-creation.js +17 -36
- package/dist/internal/planning/fleet-creation.js.map +1 -1
- package/dist/internal/planning/fleet-crew-guard.d.ts +2 -1
- package/dist/internal/planning/fleet-crew-guard.d.ts.map +1 -1
- package/dist/internal/planning/fleet-crew-guard.js +2 -1
- package/dist/internal/planning/fleet-crew-guard.js.map +1 -1
- package/dist/internal/planning/fleet-crew-transfer.d.ts +1 -1
- package/dist/internal/planning/fleet-crew-transfer.d.ts.map +1 -1
- package/dist/internal/planning/fleet-crew-transfer.js +45 -24
- package/dist/internal/planning/fleet-crew-transfer.js.map +1 -1
- package/dist/internal/planning/fleet-disband-guard.d.ts +12 -0
- package/dist/internal/planning/fleet-disband-guard.d.ts.map +1 -0
- package/dist/internal/planning/fleet-disband-guard.js +54 -0
- package/dist/internal/planning/fleet-disband-guard.js.map +1 -0
- package/dist/internal/planning/fleet-disband.d.ts +36 -0
- package/dist/internal/planning/fleet-disband.d.ts.map +1 -0
- package/dist/internal/planning/fleet-disband.js +82 -0
- package/dist/internal/planning/fleet-disband.js.map +1 -0
- package/dist/internal/planning/fleet-dock-funding-guard.d.ts +3 -3
- package/dist/internal/planning/fleet-dock-funding-guard.d.ts.map +1 -1
- package/dist/internal/planning/fleet-dock-funding-guard.js +87 -96
- package/dist/internal/planning/fleet-dock-funding-guard.js.map +1 -1
- package/dist/internal/planning/fleet-dock-funding.d.ts.map +1 -1
- package/dist/internal/planning/fleet-dock-funding.js +10 -0
- package/dist/internal/planning/fleet-dock-funding.js.map +1 -1
- package/dist/internal/planning/fleet-docking-guard.d.ts.map +1 -1
- package/dist/internal/planning/fleet-docking-guard.js +3 -1
- package/dist/internal/planning/fleet-docking-guard.js.map +1 -1
- package/dist/internal/planning/fleet-docking.d.ts +17 -2
- package/dist/internal/planning/fleet-docking.d.ts.map +1 -1
- package/dist/internal/planning/fleet-docking.js +83 -62
- package/dist/internal/planning/fleet-docking.js.map +1 -1
- package/dist/internal/planning/fleet-rental.d.ts +5 -0
- package/dist/internal/planning/fleet-rental.d.ts.map +1 -0
- package/dist/internal/planning/fleet-rental.js +9 -0
- package/dist/internal/planning/fleet-rental.js.map +1 -0
- package/dist/internal/planning/fleet-respawn.d.ts.map +1 -1
- package/dist/internal/planning/fleet-respawn.js +10 -12
- package/dist/internal/planning/fleet-respawn.js.map +1 -1
- package/dist/internal/planning/fleet-ship-assembly.d.ts +2 -0
- package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -1
- package/dist/internal/planning/fleet-ship-assembly.js +94 -64
- package/dist/internal/planning/fleet-ship-assembly.js.map +1 -1
- 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.map +1 -1
- package/dist/internal/planning/governance-fees.js +7 -15
- package/dist/internal/planning/governance-fees.js.map +1 -1
- package/dist/internal/planning/local-market-order-funding.d.ts.map +1 -1
- package/dist/internal/planning/local-market-order-funding.js +4 -2
- package/dist/internal/planning/local-market-order-funding.js.map +1 -1
- package/dist/internal/planning/local-market-order.d.ts +4 -4
- package/dist/internal/planning/local-market-order.d.ts.map +1 -1
- package/dist/internal/planning/local-market-order.js +82 -109
- package/dist/internal/planning/local-market-order.js.map +1 -1
- package/dist/internal/planning/market-storage-actions.d.ts +7 -0
- package/dist/internal/planning/market-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/market-storage-actions.js +71 -0
- package/dist/internal/planning/market-storage-actions.js.map +1 -0
- package/dist/internal/planning/mining-stop.d.ts.map +1 -1
- package/dist/internal/planning/mining-stop.js +2 -1
- package/dist/internal/planning/mining-stop.js.map +1 -1
- package/dist/internal/planning/mining-storage-actions.d.ts +11 -0
- package/dist/internal/planning/mining-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/mining-storage-actions.js +57 -0
- package/dist/internal/planning/mining-storage-actions.js.map +1 -0
- package/dist/internal/planning/movement-storage-actions.d.ts +7 -0
- package/dist/internal/planning/movement-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/movement-storage-actions.js +38 -0
- package/dist/internal/planning/movement-storage-actions.js.map +1 -0
- package/dist/internal/planning/movement-xp-guard.d.ts.map +1 -1
- package/dist/internal/planning/movement-xp-guard.js +3 -2
- package/dist/internal/planning/movement-xp-guard.js.map +1 -1
- package/dist/internal/planning/open-signal-guard.d.ts.map +1 -1
- package/dist/internal/planning/open-signal-guard.js +2 -1
- package/dist/internal/planning/open-signal-guard.js.map +1 -1
- package/dist/internal/planning/open-signal.d.ts.map +1 -1
- package/dist/internal/planning/open-signal.js +16 -7
- package/dist/internal/planning/open-signal.js.map +1 -1
- package/dist/internal/planning/original-token.d.ts +40 -0
- package/dist/internal/planning/original-token.d.ts.map +1 -0
- package/dist/internal/planning/original-token.js +112 -0
- package/dist/internal/planning/original-token.js.map +1 -0
- package/dist/internal/planning/own-starbase-facts.d.ts +37 -0
- package/dist/internal/planning/own-starbase-facts.d.ts.map +1 -0
- package/dist/internal/planning/own-starbase-facts.js +52 -0
- package/dist/internal/planning/own-starbase-facts.js.map +1 -0
- package/dist/internal/planning/plan-fields.d.ts +60 -0
- package/dist/internal/planning/plan-fields.d.ts.map +1 -0
- package/dist/internal/planning/plan-fields.js +159 -0
- package/dist/internal/planning/plan-fields.js.map +1 -0
- package/dist/internal/planning/plan-guards.d.ts +4 -0
- package/dist/internal/planning/plan-guards.d.ts.map +1 -0
- package/dist/internal/planning/plan-guards.js +184 -0
- package/dist/internal/planning/plan-guards.js.map +1 -0
- package/dist/internal/planning/profile-key.d.ts +13 -0
- package/dist/internal/planning/profile-key.d.ts.map +1 -0
- package/dist/internal/planning/profile-key.js +20 -0
- package/dist/internal/planning/profile-key.js.map +1 -0
- package/dist/internal/planning/profile-storage-funding-guard.d.ts +29 -0
- package/dist/internal/planning/profile-storage-funding-guard.d.ts.map +1 -0
- package/dist/internal/planning/profile-storage-funding-guard.js +115 -0
- package/dist/internal/planning/profile-storage-funding-guard.js.map +1 -0
- package/dist/internal/planning/profile-storage-funding.d.ts +46 -0
- package/dist/internal/planning/profile-storage-funding.d.ts.map +1 -0
- package/dist/internal/planning/profile-storage-funding.js +58 -0
- package/dist/internal/planning/profile-storage-funding.js.map +1 -0
- package/dist/internal/planning/recipe-state.d.ts +4 -1
- package/dist/internal/planning/recipe-state.d.ts.map +1 -1
- package/dist/internal/planning/recipe-state.js +7 -4
- package/dist/internal/planning/recipe-state.js.map +1 -1
- package/dist/internal/planning/region-access.d.ts +30 -0
- package/dist/internal/planning/region-access.d.ts.map +1 -0
- package/dist/internal/planning/region-access.js +94 -0
- package/dist/internal/planning/region-access.js.map +1 -0
- package/dist/internal/planning/rent-catalog.d.ts +37 -0
- package/dist/internal/planning/rent-catalog.d.ts.map +1 -0
- package/dist/internal/planning/rent-catalog.js +165 -0
- package/dist/internal/planning/rent-catalog.js.map +1 -0
- package/dist/internal/planning/research-unlock.d.ts +69 -0
- package/dist/internal/planning/research-unlock.d.ts.map +1 -0
- package/dist/internal/planning/research-unlock.js +287 -0
- package/dist/internal/planning/research-unlock.js.map +1 -0
- package/dist/internal/planning/respawn-guards.js +2 -1
- package/dist/internal/planning/respawn-guards.js.map +1 -1
- package/dist/internal/planning/runtime-guards.d.ts +0 -2
- package/dist/internal/planning/runtime-guards.d.ts.map +1 -1
- package/dist/internal/planning/runtime-guards.js +49 -29
- package/dist/internal/planning/runtime-guards.js.map +1 -1
- package/dist/internal/planning/scan-completion-guard.d.ts +6 -6
- package/dist/internal/planning/scan-completion-guard.d.ts.map +1 -1
- package/dist/internal/planning/scan-completion-guard.js +8 -7
- package/dist/internal/planning/scan-completion-guard.js.map +1 -1
- package/dist/internal/planning/scan-completion.d.ts.map +1 -1
- package/dist/internal/planning/scan-completion.js +9 -7
- package/dist/internal/planning/scan-completion.js.map +1 -1
- package/dist/internal/planning/scan-detect-guard.d.ts +1 -1
- package/dist/internal/planning/scan-detect-guard.d.ts.map +1 -1
- package/dist/internal/planning/scan-detect-guard.js +2 -2
- package/dist/internal/planning/scan-detect-guard.js.map +1 -1
- package/dist/internal/planning/scan-detect.d.ts +1 -1
- package/dist/internal/planning/scan-detect.d.ts.map +1 -1
- package/dist/internal/planning/scan-detect.js +10 -8
- package/dist/internal/planning/scan-detect.js.map +1 -1
- package/dist/internal/planning/scan-idle-scope.d.ts +5 -0
- package/dist/internal/planning/scan-idle-scope.d.ts.map +1 -0
- package/dist/internal/planning/scan-idle-scope.js +5 -0
- package/dist/internal/planning/scan-idle-scope.js.map +1 -0
- package/dist/internal/planning/scan-storage-actions.d.ts +9 -0
- package/dist/internal/planning/scan-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/scan-storage-actions.js +27 -0
- package/dist/internal/planning/scan-storage-actions.js.map +1 -0
- package/dist/internal/planning/ship-import-funding.js +3 -2
- package/dist/internal/planning/ship-import-funding.js.map +1 -1
- package/dist/internal/planning/ship-token.d.ts +1 -5
- package/dist/internal/planning/ship-token.d.ts.map +1 -1
- package/dist/internal/planning/ship-token.js +0 -36
- package/dist/internal/planning/ship-token.js.map +1 -1
- package/dist/internal/planning/starbase-player-owner.d.ts +21 -0
- package/dist/internal/planning/starbase-player-owner.d.ts.map +1 -0
- package/dist/internal/planning/starbase-player-owner.js +17 -0
- package/dist/internal/planning/starbase-player-owner.js.map +1 -0
- package/dist/internal/planning/starbase-player-recovery-guard.d.ts +7 -0
- package/dist/internal/planning/starbase-player-recovery-guard.d.ts.map +1 -0
- package/dist/internal/planning/starbase-player-recovery-guard.js +39 -0
- package/dist/internal/planning/starbase-player-recovery-guard.js.map +1 -0
- package/dist/internal/planning/starbase-system-guard.d.ts.map +1 -1
- package/dist/internal/planning/starbase-system-guard.js +2 -1
- package/dist/internal/planning/starbase-system-guard.js.map +1 -1
- package/dist/internal/planning/starbase-system.d.ts +5 -2
- package/dist/internal/planning/starbase-system.d.ts.map +1 -1
- package/dist/internal/planning/starbase-system.js +6 -3
- package/dist/internal/planning/starbase-system.js.map +1 -1
- package/dist/internal/planning/storage-action-readers.d.ts +10 -0
- package/dist/internal/planning/storage-action-readers.d.ts.map +1 -0
- package/dist/internal/planning/storage-action-readers.js +58 -0
- package/dist/internal/planning/storage-action-readers.js.map +1 -0
- package/dist/internal/planning/storage-actions.d.ts +89 -0
- package/dist/internal/planning/storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/storage-actions.js +183 -0
- package/dist/internal/planning/storage-actions.js.map +1 -0
- package/dist/internal/planning/token-mint.d.ts.map +1 -1
- package/dist/internal/planning/token-mint.js +2 -1
- package/dist/internal/planning/token-mint.js.map +1 -1
- package/dist/internal/planning/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.map +1 -1
- package/dist/internal/planning/xp-runtime.js +16 -20
- package/dist/internal/planning/xp-runtime.js.map +1 -1
- 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/loyalty/actions/index.d.ts +1 -1
- package/dist/loyalty/actions/index.d.ts.map +1 -1
- package/dist/loyalty/actions/index.js +12 -43
- package/dist/loyalty/actions/index.js.map +1 -1
- package/dist/loyalty/index.d.ts +4 -0
- package/dist/loyalty/index.d.ts.map +1 -1
- package/dist/loyalty/index.js +19 -27
- package/dist/loyalty/index.js.map +1 -1
- package/dist/markets/actions/index.d.ts +1 -1
- package/dist/markets/actions/index.d.ts.map +1 -1
- package/dist/markets/actions/index.js +138 -176
- package/dist/markets/actions/index.js.map +1 -1
- package/dist/markets/actions/trade-faction-market.d.ts +4 -2
- package/dist/markets/actions/trade-faction-market.d.ts.map +1 -1
- package/dist/markets/actions/trade-faction-market.js +59 -39
- package/dist/markets/actions/trade-faction-market.js.map +1 -1
- package/dist/markets/index.d.ts.map +1 -1
- package/dist/markets/index.js +3 -11
- package/dist/markets/index.js.map +1 -1
- package/dist/mining/actions/index.d.ts +1 -1
- package/dist/mining/actions/index.d.ts.map +1 -1
- package/dist/mining/actions/index.js +81 -44
- package/dist/mining/actions/index.js.map +1 -1
- package/dist/mining/estimate-input.d.ts +103 -0
- package/dist/mining/estimate-input.d.ts.map +1 -0
- package/dist/mining/estimate-input.js +86 -0
- package/dist/mining/estimate-input.js.map +1 -0
- package/dist/mining/index.d.ts +1 -0
- package/dist/mining/index.d.ts.map +1 -1
- package/dist/mining/index.js +4 -11
- package/dist/mining/index.js.map +1 -1
- package/dist/planning/assembly.d.ts +1 -1
- package/dist/planning/assembly.d.ts.map +1 -1
- package/dist/planning/assembly.js +6 -30
- package/dist/planning/assembly.js.map +1 -1
- package/dist/planning/execution.d.ts +1 -0
- package/dist/planning/execution.d.ts.map +1 -1
- package/dist/planning/execution.js +149 -45
- package/dist/planning/execution.js.map +1 -1
- package/dist/planning/index.d.ts +70 -7
- package/dist/planning/index.d.ts.map +1 -1
- package/dist/planning/index.js +28 -1141
- 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-execution.d.ts.map +1 -1
- package/dist/planning/plan-sequence-execution.js +1 -11
- package/dist/planning/plan-sequence-execution.js.map +1 -1
- package/dist/planning/plan-validation.d.ts +17 -0
- package/dist/planning/plan-validation.d.ts.map +1 -0
- package/dist/planning/plan-validation.js +147 -0
- package/dist/planning/plan-validation.js.map +1 -0
- package/dist/registry/cargo.d.ts +2 -2
- package/dist/registry/cargo.d.ts.map +1 -1
- package/dist/registry/cargo.js +3 -4
- package/dist/registry/cargo.js.map +1 -1
- package/dist/registry/definition-section-snapshot.d.ts +1 -1
- package/dist/registry/definition-section-snapshot.d.ts.map +1 -1
- package/dist/registry/definition-section-snapshot.js +10 -3
- package/dist/registry/definition-section-snapshot.js.map +1 -1
- package/dist/registry/index.d.ts +31 -4
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +226 -227
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/onboarding.d.ts.map +1 -1
- package/dist/registry/onboarding.js +4 -2
- package/dist/registry/onboarding.js.map +1 -1
- package/dist/registry/ship-stats-snapshot.d.ts.map +1 -1
- package/dist/registry/ship-stats-snapshot.js +19 -5
- package/dist/registry/ship-stats-snapshot.js.map +1 -1
- package/dist/registry/ships.js +1 -1
- package/dist/registry/ships.js.map +1 -1
- 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 +1 -1
- package/dist/scanning/actions/index.d.ts.map +1 -1
- package/dist/scanning/actions/index.js +38 -8
- package/dist/scanning/actions/index.js.map +1 -1
- package/dist/scanning/index.d.ts +6 -11
- package/dist/scanning/index.d.ts.map +1 -1
- package/dist/scanning/index.js +7 -15
- package/dist/scanning/index.js.map +1 -1
- package/dist/scanning/odds.d.ts +5 -1
- package/dist/scanning/odds.d.ts.map +1 -1
- package/dist/scanning/odds.js.map +1 -1
- package/dist/scanning/signals.d.ts +6 -1
- package/dist/scanning/signals.d.ts.map +1 -1
- package/dist/scanning/signals.js +3 -1
- package/dist/scanning/signals.js.map +1 -1
- package/dist/starbases/actions/index.d.ts +49 -4
- package/dist/starbases/actions/index.d.ts.map +1 -1
- package/dist/starbases/actions/index.js +120 -69
- package/dist/starbases/actions/index.js.map +1 -1
- package/dist/starbases/index.d.ts +18 -0
- package/dist/starbases/index.d.ts.map +1 -1
- package/dist/starbases/index.js +24 -11
- package/dist/starbases/index.js.map +1 -1
- package/dist/world/index.d.ts +87 -13
- package/dist/world/index.d.ts.map +1 -1
- package/dist/world/index.js +88 -22
- package/dist/world/index.js.map +1 -1
- package/dist/world/planet-claim-stake-plots.d.ts +49 -40
- package/dist/world/planet-claim-stake-plots.d.ts.map +1 -1
- package/dist/world/planet-claim-stake-plots.js +47 -40
- package/dist/world/planet-claim-stake-plots.js.map +1 -1
- package/dist/world/starbase-status.d.ts +54 -13
- package/dist/world/starbase-status.d.ts.map +1 -1
- package/dist/world/starbase-status.js +65 -0
- package/dist/world/starbase-status.js.map +1 -1
- package/package.json +2 -2
- package/dist/internal/c4/faction-adapter.d.ts +0 -12
- package/dist/internal/c4/faction-adapter.d.ts.map +0 -1
- package/dist/internal/c4/faction-adapter.js +0 -52
- package/dist/internal/c4/faction-adapter.js.map +0 -1
- package/dist/internal/planning/movement-character.d.ts +0 -7
- package/dist/internal/planning/movement-character.d.ts.map +0 -1
- package/dist/internal/planning/movement-character.js +0 -41
- package/dist/internal/planning/movement-character.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { RawAccount } from '../../client/contracts.js';
|
|
1
|
+
import type { Address } from '@solana/kit';
|
|
2
|
+
import type { RawAccount, SageContext } from '../../client/contracts.js';
|
|
3
3
|
import type { EntityRef } from '../../client/refs.js';
|
|
4
4
|
import type { PlanPrecondition } from '../../planning/index.js';
|
|
5
5
|
export interface StarbasePlayerIntent {
|
|
@@ -10,5 +10,54 @@ export interface StarbasePlayerIntent {
|
|
|
10
10
|
readonly character: EntityRef<'character'>;
|
|
11
11
|
}
|
|
12
12
|
export declare function observeWalletAccount(account: RawAccount, role?: string): Promise<PlanPrecondition>;
|
|
13
|
-
|
|
13
|
+
/** Requires an exact raw u64 amount and a u16 cargo id. */
|
|
14
|
+
export declare function validateWalletCargoAmount(amount: unknown, cargoId: unknown): void;
|
|
15
|
+
/** Pre-read facts shared by wallet deposits and withdrawals: the authorization
|
|
16
|
+
* Profile's canonical Starbase Player, the fresh cargo configuration, and the
|
|
17
|
+
* canonical Game cargo cache and its shared vault for the cargo mint. */
|
|
18
|
+
export declare function resolveWalletCargo(ctx: SageContext, starbase: StarbasePlayerIntent, profile: Address, cargoId: number, game: Address): Promise<{
|
|
19
|
+
bump: import("@solana/kit").ProgramDerivedAddressBump;
|
|
20
|
+
cache: Address<string>;
|
|
21
|
+
character: Address;
|
|
22
|
+
config: Readonly<{
|
|
23
|
+
configHash: string;
|
|
24
|
+
rawAccount: RawAccount;
|
|
25
|
+
cargo: import("@staratlas/dev-sage").CargoType;
|
|
26
|
+
cache: import("../../client/contracts.js").Address;
|
|
27
|
+
sequenceId: number;
|
|
28
|
+
}>;
|
|
29
|
+
mint: Address;
|
|
30
|
+
player: Address;
|
|
31
|
+
system: import("../../client/contracts.js").Address;
|
|
32
|
+
vault: Address;
|
|
33
|
+
}>;
|
|
34
|
+
type WalletCargo = Awaited<ReturnType<typeof resolveWalletCargo>>;
|
|
35
|
+
/** Requires an account read for a wallet cargo transfer to exist. */
|
|
36
|
+
export declare function requireWalletAccount(account: RawAccount | undefined, address: Address, action: 'deposit' | 'withdrawal'): RawAccount;
|
|
37
|
+
/** Reads the Profile, Character, Starbase Player, System, cargo cache, mint
|
|
38
|
+
* and shared vault with `extra` accounts in the same batch, and requires the
|
|
39
|
+
* shared Starbase graph, cache, mint and vault facts. Returns the extra
|
|
40
|
+
* accounts as read, missing ones included. */
|
|
41
|
+
export declare function readWalletCargo(ctx: SageContext, cargo: WalletCargo, profile: Address, game: Address, action: 'deposit' | 'withdrawal', extra: readonly Address[]): Promise<{
|
|
42
|
+
cacheData: import("@staratlas/dev-sage").CargoDefinitionsCache;
|
|
43
|
+
characterRaw: RawAccount;
|
|
44
|
+
decimals: number;
|
|
45
|
+
extraAccounts: (RawAccount | undefined)[];
|
|
46
|
+
playerData: Readonly<import("../../starbases/index.js").StarbasePlayerAccountData>;
|
|
47
|
+
playerRaw: RawAccount;
|
|
48
|
+
profileRaw: RawAccount;
|
|
49
|
+
systemGuard: {
|
|
50
|
+
describes: string;
|
|
51
|
+
requireCss?: true;
|
|
52
|
+
kind: "starbase-system";
|
|
53
|
+
address: import("../../client/contracts.js").Address;
|
|
54
|
+
game: Address;
|
|
55
|
+
starbaseSequenceId: bigint;
|
|
56
|
+
};
|
|
57
|
+
vaultBalance: bigint;
|
|
58
|
+
}>;
|
|
59
|
+
/** The mint, cargo configuration and cargo cache guards shared by wallet
|
|
60
|
+
* cargo Plans. */
|
|
61
|
+
export declare function walletCargoGuards(cargo: WalletCargo, cargoId: number, game: Address, decimals: number): readonly PlanPrecondition[];
|
|
62
|
+
export {};
|
|
14
63
|
//# sourceMappingURL=wallet-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-context.d.ts","sourceRoot":"","sources":["../../../src/cargo/actions/wallet-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"wallet-context.d.ts","sourceRoot":"","sources":["../../../src/cargo/actions/wallet-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAStD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAKhE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;CAC5C;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,UAAU,EACnB,IAAI,SAAiB,GACpB,OAAO,CAAC,gBAAgB,CAAC,CAK3B;AAED,2DAA2D;AAC3D,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,QAwB1E;AAED;;yEAEyE;AACzE,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO;;;;;;;;;;;;;;;GAyBd;AAED,KAAK,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC;AAElE,qEAAqE;AACrE,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,UAAU,GAAG,SAAS,EAC/B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,GAAG,YAAY,GAC/B,UAAU,CAQZ;AAED;;;8CAG8C;AAC9C,wBAAsB,eAAe,CACnC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,SAAS,GAAG,YAAY,EAChC,KAAK,EAAE,SAAS,OAAO,EAAE;;;;;;;;;;;;;;;;;GAkE1B;AAED;kBACkB;AAClB,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM,GACf,SAAS,gBAAgB,EAAE,CAyB7B"}
|
|
@@ -1,12 +1,123 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {} from '
|
|
1
|
+
import { accountStatePrecondition } from '../../internal/planning/account-state.js';
|
|
2
|
+
import { InvalidActionInputError } from '../../client/errors.js';
|
|
3
|
+
import { readContextRawAccounts } from '../../client/reconciliation.js';
|
|
4
|
+
import { validateWalletCargoCache } from '../../internal/c4/wallet-cargo-cache.js';
|
|
5
|
+
import { deriveAssociatedTokenAddress, readTokenAccount, } from '../../internal/planning/original-token.js';
|
|
6
|
+
import { requireProfileStarbasePlayer } from '../../internal/planning/starbase-player-owner.js';
|
|
7
|
+
import { validateTokenMint } from '../../internal/planning/token-mint.js';
|
|
8
|
+
import { validateWalletStarbase } from '../../internal/planning/wallet-starbase.js';
|
|
9
|
+
import { readFreshGameCargoBytesConfiguration } from '../../registry/cargo.js';
|
|
10
|
+
import { failWalletCargo } from './wallet-token.js';
|
|
11
|
+
import { deriveCargoDefinitionsCacheAddress } from '../../internal/c4/pda.js';
|
|
3
12
|
export async function observeWalletAccount(account, role = 'prerequisite') {
|
|
13
|
+
return accountStatePrecondition(account, `${role} account ${account.address} retains its observed owner and data; native balance is not guarded.`);
|
|
14
|
+
}
|
|
15
|
+
/** Requires an exact raw u64 amount and a u16 cargo id. */
|
|
16
|
+
export function validateWalletCargoAmount(amount, cargoId) {
|
|
17
|
+
if (typeof amount !== 'bigint' ||
|
|
18
|
+
amount <= 0n ||
|
|
19
|
+
amount > 18446744073709551615n)
|
|
20
|
+
throw new InvalidActionInputError('amount', amount, 'a positive bigint in the unsigned u64 range', 'Supply an exact raw token amount as bigint.');
|
|
21
|
+
if (typeof cargoId !== 'number' ||
|
|
22
|
+
!Number.isSafeInteger(cargoId) ||
|
|
23
|
+
cargoId < 0 ||
|
|
24
|
+
cargoId > 65535)
|
|
25
|
+
throw new InvalidActionInputError('cargoId', cargoId, 'an unsigned u16 cargo ID', 'Choose an existing cargo definition ID.');
|
|
26
|
+
}
|
|
27
|
+
/** Pre-read facts shared by wallet deposits and withdrawals: the authorization
|
|
28
|
+
* Profile's canonical Starbase Player, the fresh cargo configuration, and the
|
|
29
|
+
* canonical Game cargo cache and its shared vault for the cargo mint. */
|
|
30
|
+
export async function resolveWalletCargo(ctx, starbase, profile, cargoId, game) {
|
|
31
|
+
if (starbase.kind !== 'starbasePlayer')
|
|
32
|
+
failWalletCargo('The loaded Starbase must be a Starbase Player registration.', starbase.address);
|
|
33
|
+
const character = await requireProfileStarbasePlayer(starbase, profile, game);
|
|
34
|
+
const config = await readFreshGameCargoBytesConfiguration(ctx, cargoId);
|
|
35
|
+
const [cache, bump] = await deriveCargoDefinitionsCacheAddress(game);
|
|
36
|
+
if (config.cache !== cache)
|
|
37
|
+
failWalletCargo('The configured cargo cache does not match the canonical Game cargo-cache PDA.', config.cache);
|
|
4
38
|
return {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
39
|
+
bump,
|
|
40
|
+
cache,
|
|
41
|
+
character,
|
|
42
|
+
config,
|
|
43
|
+
mint: config.cargo.mint,
|
|
44
|
+
player: starbase.address,
|
|
45
|
+
system: starbase.system.address,
|
|
46
|
+
vault: await deriveAssociatedTokenAddress(cache, config.cargo.mint),
|
|
9
47
|
};
|
|
10
48
|
}
|
|
11
|
-
|
|
49
|
+
/** Requires an account read for a wallet cargo transfer to exist. */
|
|
50
|
+
export function requireWalletAccount(account, address, action) {
|
|
51
|
+
return (account ??
|
|
52
|
+
failWalletCargo(`Required ${action} account ${address} is missing. Register the player or create the required accounts separately.`, address));
|
|
53
|
+
}
|
|
54
|
+
/** Reads the Profile, Character, Starbase Player, System, cargo cache, mint
|
|
55
|
+
* and shared vault with `extra` accounts in the same batch, and requires the
|
|
56
|
+
* shared Starbase graph, cache, mint and vault facts. Returns the extra
|
|
57
|
+
* accounts as read, missing ones included. */
|
|
58
|
+
export async function readWalletCargo(ctx, cargo, profile, game, action, extra) {
|
|
59
|
+
const addresses = [
|
|
60
|
+
profile,
|
|
61
|
+
cargo.character,
|
|
62
|
+
cargo.player,
|
|
63
|
+
cargo.system,
|
|
64
|
+
cargo.cache,
|
|
65
|
+
cargo.mint,
|
|
66
|
+
cargo.vault,
|
|
67
|
+
];
|
|
68
|
+
const candidates = await readContextRawAccounts(ctx, [
|
|
69
|
+
...addresses,
|
|
70
|
+
...extra,
|
|
71
|
+
]);
|
|
72
|
+
const [profileRaw, characterRaw, playerRaw, systemRaw, cacheRaw, mintRaw, vaultRaw,] = addresses.map((address, index) => requireWalletAccount(candidates[index], address, action));
|
|
73
|
+
const { playerData, systemGuard } = await validateWalletStarbase({
|
|
74
|
+
profile: profileRaw,
|
|
75
|
+
character: characterRaw,
|
|
76
|
+
player: playerRaw,
|
|
77
|
+
system: systemRaw,
|
|
78
|
+
}, {
|
|
79
|
+
game,
|
|
80
|
+
profile,
|
|
81
|
+
character: cargo.character,
|
|
82
|
+
system: cargo.system,
|
|
83
|
+
requireCss: action === 'deposit',
|
|
84
|
+
}, failWalletCargo);
|
|
85
|
+
return {
|
|
86
|
+
cacheData: validateWalletCargoCache(cacheRaw, game, cargo.bump),
|
|
87
|
+
characterRaw,
|
|
88
|
+
decimals: validateTokenMint(mintRaw),
|
|
89
|
+
extraAccounts: candidates.slice(addresses.length),
|
|
90
|
+
playerData,
|
|
91
|
+
playerRaw,
|
|
92
|
+
profileRaw,
|
|
93
|
+
systemGuard,
|
|
94
|
+
vaultBalance: readTokenAccount(vaultRaw, cargo.mint, cargo.cache, failWalletCargo),
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
/** The mint, cargo configuration and cargo cache guards shared by wallet
|
|
98
|
+
* cargo Plans. */
|
|
99
|
+
export function walletCargoGuards(cargo, cargoId, game, decimals) {
|
|
100
|
+
return [
|
|
101
|
+
{
|
|
102
|
+
kind: 'token-mint',
|
|
103
|
+
address: cargo.mint,
|
|
104
|
+
decimals,
|
|
105
|
+
describes: `Mint ${cargo.mint} remains a valid initialized original Token Mint with unchanged decimals; supply and authorities may change.`,
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
kind: 'game-cargo-bytes-config',
|
|
109
|
+
address: game,
|
|
110
|
+
cargoId,
|
|
111
|
+
configHash: cargo.config.configHash,
|
|
112
|
+
describes: 'The selected cargo’s full encoded configuration, including its stored name, and cache identity remain unchanged; unrelated Game changes are allowed.',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
kind: 'cargo-cache',
|
|
116
|
+
address: cargo.cache,
|
|
117
|
+
game,
|
|
118
|
+
bump: cargo.bump,
|
|
119
|
+
describes: 'The canonical cargo cache retains valid Game identity and layout; counters may change.',
|
|
120
|
+
},
|
|
121
|
+
];
|
|
122
|
+
}
|
|
12
123
|
//# sourceMappingURL=wallet-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-context.js","sourceRoot":"","sources":["../../../src/cargo/actions/wallet-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"wallet-context.js","sourceRoot":"","sources":["../../../src/cargo/actions/wallet-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { RawAccount } from '../../client/contracts.js';
|
|
3
|
-
export declare const ORIGINAL_TOKEN_PROGRAM: Address;
|
|
1
|
+
import type { Address } from '@solana/kit';
|
|
4
2
|
export declare function failWalletCargo(message: string, address: Address): never;
|
|
5
|
-
export declare function deriveWalletTokenAddress(owner: Address, mint: Address): Promise<Address>;
|
|
6
|
-
export { validateTokenMint as validateWalletMint } from '../../internal/planning/token-mint.js';
|
|
7
|
-
export declare function validateWalletToken(account: RawAccount, mint: Address, owner: Address): bigint;
|
|
8
3
|
//# sourceMappingURL=wallet-token.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-token.d.ts","sourceRoot":"","sources":["../../../src/cargo/actions/wallet-token.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"wallet-token.d.ts","sourceRoot":"","sources":["../../../src/cargo/actions/wallet-token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAMxE"}
|
|
@@ -1,50 +1,5 @@
|
|
|
1
|
-
import { getAddressDecoder, getAddressEncoder, getProgramDerivedAddress, } from '@solana/kit';
|
|
2
1
|
import { SageSdkError } from '../../client/errors.js';
|
|
3
|
-
export const ORIGINAL_TOKEN_PROGRAM = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA';
|
|
4
|
-
const ASSOCIATED_TOKEN_PROGRAM = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';
|
|
5
2
|
export function failWalletCargo(message, address) {
|
|
6
3
|
throw new SageSdkError('ACTION_PRECONDITION_FAILED', `${message} Refresh the accounts or select a supported original Token account before planning again.`, { address });
|
|
7
4
|
}
|
|
8
|
-
export async function deriveWalletTokenAddress(owner, mint) {
|
|
9
|
-
const encode = getAddressEncoder();
|
|
10
|
-
const [result] = await getProgramDerivedAddress({
|
|
11
|
-
programAddress: ASSOCIATED_TOKEN_PROGRAM,
|
|
12
|
-
seeds: [
|
|
13
|
-
encode.encode(owner),
|
|
14
|
-
encode.encode(ORIGINAL_TOKEN_PROGRAM),
|
|
15
|
-
encode.encode(mint),
|
|
16
|
-
],
|
|
17
|
-
});
|
|
18
|
-
return result;
|
|
19
|
-
}
|
|
20
|
-
function view(account, size) {
|
|
21
|
-
if (account.executable ||
|
|
22
|
-
account.owner !== ORIGINAL_TOKEN_PROGRAM ||
|
|
23
|
-
account.data.length !== size) {
|
|
24
|
-
failWalletCargo(`Account ${account.address} must have the original Token program owner and exactly ${String(size)} bytes; Token-2022 and multisig layouts are unsupported.`, account.address);
|
|
25
|
-
}
|
|
26
|
-
return new DataView(account.data.buffer, account.data.byteOffset, account.data.byteLength);
|
|
27
|
-
}
|
|
28
|
-
function option(view, offset, account) {
|
|
29
|
-
if (view.getUint32(offset, true) > 1) {
|
|
30
|
-
failWalletCargo(`Token account ${account.address} has an invalid optional field.`, account.address);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
export { validateTokenMint as validateWalletMint } from '../../internal/planning/token-mint.js';
|
|
34
|
-
export function validateWalletToken(account, mint, owner) {
|
|
35
|
-
const bytes = view(account, 165);
|
|
36
|
-
option(bytes, 72, account);
|
|
37
|
-
option(bytes, 109, account);
|
|
38
|
-
option(bytes, 129, account);
|
|
39
|
-
if (bytes.getUint8(108) !== 1) {
|
|
40
|
-
failWalletCargo(`Token account ${account.address} must be initialized and unfrozen.`, account.address);
|
|
41
|
-
}
|
|
42
|
-
const decode = getAddressDecoder();
|
|
43
|
-
if (decode.decode(account.data.subarray(0, 32)) !== mint ||
|
|
44
|
-
decode.decode(account.data.subarray(32, 64)) !== owner) {
|
|
45
|
-
failWalletCargo(`Token account ${account.address} must contain cargo mint ${mint} and be owned internally by ${owner}; delegated spending is unsupported.`, account.address);
|
|
46
|
-
}
|
|
47
|
-
// A recorded delegate does not prevent the actual owner from transferring.
|
|
48
|
-
return bytes.getBigUint64(64, true);
|
|
49
|
-
}
|
|
50
5
|
//# sourceMappingURL=wallet-token.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-token.js","sourceRoot":"","sources":["../../../src/cargo/actions/wallet-token.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wallet-token.js","sourceRoot":"","sources":["../../../src/cargo/actions/wallet-token.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,OAAgB;IAC/D,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,GAAG,OAAO,2FAA2F,EACrG,EAAE,OAAO,EAAE,CACZ,CAAC;AACJ,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Address } from '@solana/kit';
|
|
2
2
|
import type { SageContext } from '../../client/contracts.js';
|
|
3
3
|
import { type PlanAuthorization } from '../../internal/planning/authorization-adapter.js';
|
|
4
|
-
import {
|
|
4
|
+
import type { Plan } from '../../planning/index.js';
|
|
5
5
|
import { type StarbasePlayerIntent } from './wallet-context.js';
|
|
6
6
|
/** An exact withdrawal to an explicit receiving wallet, independently of Profile authority.
|
|
7
7
|
* `destinationAccount` permits creating only a missing canonical ATA. An existing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdrawal.d.ts","sourceRoot":"","sources":["../../../src/cargo/actions/withdrawal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"withdrawal.d.ts","sourceRoot":"","sources":["../../../src/cargo/actions/withdrawal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG7D,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,kDAAkD,CAAC;AAQ1D,OAAO,KAAK,EAAE,IAAI,EAA8B,MAAM,yBAAyB,CAAC;AAGhF,OAAO,EAML,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;GASG;AACH,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,CAAC,EAAE;QAC5B,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;QACnC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;KACzB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,EAAE,gCAAgC,GACxC,OAAO,CAAC,IAAI,CAAC,CA2Lf"}
|
|
@@ -1,25 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { SYSTEM_PROGRAM } from '../../internal/system-program.js';
|
|
3
|
-
import { validateStarbaseSystem } from '../../internal/planning/starbase-system.js';
|
|
4
|
-
import { AccountRole, getAddressEncoder, getProgramDerivedAddress, isOffCurveAddress, } from '@solana/kit';
|
|
1
|
+
import { isOffCurveAddress } from '@solana/kit';
|
|
5
2
|
import { InvalidActionInputError } from '../../client/errors.js';
|
|
6
|
-
import { readContextRawAccounts } from '../../client/reconciliation.js';
|
|
7
|
-
import { SAGE_PROGRAM_ADDRESS } from '../../internal/c4/runtime-bindings.js';
|
|
8
|
-
import { characterAccountDefinition, profileAccountDefinition, findCharacterPda, } from '../../internal/c4/identity.js';
|
|
9
|
-
import { deriveStarbasePlayerAddress, starbasePlayerAccountDefinition, } from '../../internal/c4/starbase.js';
|
|
10
|
-
import { starSystemAccountDefinition, deriveStarSystemAddress, } from '../../internal/c4/world.js';
|
|
11
3
|
import { requireGameAddress } from '../../internal/game-context.js';
|
|
12
4
|
import { adaptWithdrawCargoFromGameInstruction, validatePlanAuthorization, } from '../../internal/planning/authorization-adapter.js';
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import { observeWalletAccount,
|
|
17
|
-
const ATA_PROGRAM = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';
|
|
18
|
-
function required(account, address) {
|
|
19
|
-
if (!account)
|
|
20
|
-
failWalletCargo(`Required withdrawal account ${address} is missing. Register the player or initialize its prerequisites separately.`, address);
|
|
21
|
-
return account;
|
|
22
|
-
}
|
|
5
|
+
import { TOKEN_TRANSFER_DISCLOSURE, deriveAssociatedTokenAddress, isTokenMultisig, readTokenAccount, resolveAssociatedTokenCreation, } from '../../internal/planning/original-token.js';
|
|
6
|
+
import { buildPlannerPlan } from '../../planning/plan-construction.js';
|
|
7
|
+
import { failWalletCargo } from './wallet-token.js';
|
|
8
|
+
import { observeWalletAccount, readWalletCargo, resolveWalletCargo, validateWalletCargoAmount, walletCargoGuards, } from './wallet-context.js';
|
|
23
9
|
/** Plans an exact game-to-wallet withdrawal without signing or submitting.
|
|
24
10
|
* Current verified game/token conversion is limited to zero-decimal cargo mints.
|
|
25
11
|
* The recipient never signs merely to receive tokens. ATA creation is explicit,
|
|
@@ -40,130 +26,49 @@ function required(account, address) {
|
|
|
40
26
|
*/
|
|
41
27
|
export async function planWithdrawCargoFromGame(ctx, starbase, options) {
|
|
42
28
|
validatePlanAuthorization(options.authorization);
|
|
43
|
-
|
|
44
|
-
options.amount <= 0n ||
|
|
45
|
-
options.amount > 18446744073709551615n)
|
|
46
|
-
throw new InvalidActionInputError('amount', options.amount, 'a positive bigint in the unsigned u64 range', 'Supply an exact raw token amount as bigint.');
|
|
47
|
-
if (!Number.isSafeInteger(options.cargoId) ||
|
|
48
|
-
options.cargoId < 0 ||
|
|
49
|
-
options.cargoId > 65535)
|
|
50
|
-
throw new InvalidActionInputError('cargoId', options.cargoId, 'an unsigned u16 cargo ID', 'Choose an existing cargo definition ID.');
|
|
29
|
+
validateWalletCargoAmount(options.amount, options.cargoId);
|
|
51
30
|
const creation = options.destinationAccount;
|
|
52
31
|
if (creation && (creation.mode !== 'create-if-missing' || !creation.payer))
|
|
53
32
|
throw new InvalidActionInputError('destinationAccount', creation, 'create-if-missing with an explicit payer', 'Provide an address-only payer to opt into canonical ATA creation.');
|
|
54
33
|
const game = requireGameAddress(ctx);
|
|
55
|
-
const
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
starbase.address !== player ||
|
|
59
|
-
starbase.playerProfile.address !== options.authorization.profile ||
|
|
60
|
-
starbase.character.address !== character)
|
|
61
|
-
failWalletCargo('The loaded Starbase must belong to the authorized Profile and its canonical Character.', starbase.address);
|
|
62
|
-
const config = await readFreshGameCargoBytesConfiguration(ctx, options.cargoId);
|
|
63
|
-
const [cache, bump] = await getProgramDerivedAddress({
|
|
64
|
-
programAddress: SAGE_PROGRAM_ADDRESS,
|
|
65
|
-
seeds: [
|
|
66
|
-
new TextEncoder().encode('CargoDefinitionsCache'),
|
|
67
|
-
getAddressEncoder().encode(game),
|
|
68
|
-
],
|
|
69
|
-
});
|
|
70
|
-
if (config.cache !== cache)
|
|
71
|
-
failWalletCargo('The configured cargo cache differs from the canonical Game cache.', config.cache);
|
|
72
|
-
const canonicalDestination = await deriveWalletTokenAddress(options.recipient, config.cargo.mint);
|
|
34
|
+
const { profile } = options.authorization;
|
|
35
|
+
const cargo = await resolveWalletCargo(ctx, starbase, profile, options.cargoId, game);
|
|
36
|
+
const canonicalDestination = await deriveAssociatedTokenAddress(options.recipient, cargo.mint);
|
|
73
37
|
const destination = options.destination ?? canonicalDestination;
|
|
74
|
-
const source =
|
|
38
|
+
const source = cargo.vault;
|
|
75
39
|
if (destination === source)
|
|
76
40
|
failWalletCargo('The withdrawal destination is the shared Game vault itself. Choose a different recipient token account so the withdrawal actually transfers tokens out of the vault.', destination);
|
|
77
|
-
const
|
|
78
|
-
options.authorization.profile,
|
|
79
|
-
character,
|
|
80
|
-
player,
|
|
81
|
-
starbase.system.address,
|
|
82
|
-
cache,
|
|
83
|
-
config.cargo.mint,
|
|
84
|
-
source,
|
|
85
|
-
];
|
|
86
|
-
const candidates = await readContextRawAccounts(ctx, [
|
|
87
|
-
...addresses,
|
|
41
|
+
const { cacheData, characterRaw, decimals, extraAccounts: [destinationRaw, recipientRaw], playerData, playerRaw, profileRaw, systemGuard, vaultBalance: backing, } = await readWalletCargo(ctx, cargo, profile, game, 'withdrawal', [
|
|
88
42
|
destination,
|
|
89
43
|
options.recipient,
|
|
90
44
|
]);
|
|
91
|
-
const accounts = addresses.map((address, index) => required(candidates[index], address));
|
|
92
|
-
const [profileRaw, characterRaw, playerRaw, systemRaw, cacheRaw, mintRaw, vaultRaw,] = accounts;
|
|
93
|
-
const destinationRaw = candidates[addresses.length];
|
|
94
|
-
const recipientRaw = candidates[addresses.length + 1];
|
|
95
|
-
profileAccountDefinition.decode(profileRaw);
|
|
96
|
-
const characterData = characterAccountDefinition.decode(characterRaw);
|
|
97
|
-
const playerData = starbasePlayerAccountDefinition.decode(playerRaw);
|
|
98
|
-
const systemData = starSystemAccountDefinition.decode(systemRaw);
|
|
99
|
-
if (characterData.game !== game ||
|
|
100
|
-
characterData.playerProfile !== options.authorization.profile ||
|
|
101
|
-
playerData.playerProfile !== options.authorization.profile ||
|
|
102
|
-
playerData.character !== character ||
|
|
103
|
-
playerData.system !== starbase.system.address ||
|
|
104
|
-
systemData.game !== game ||
|
|
105
|
-
(await deriveStarSystemAddress(game, systemData.systemId)) !==
|
|
106
|
-
starbase.system.address)
|
|
107
|
-
failWalletCargo('Fresh Profile, Character, System and player Starbase relationships do not match the configured Game.', player);
|
|
108
|
-
const systemGuard = {
|
|
109
|
-
kind: 'starbase-system',
|
|
110
|
-
address: systemRaw.address,
|
|
111
|
-
game,
|
|
112
|
-
starbaseSequenceId: systemData.sequenceId,
|
|
113
|
-
describes: 'The canonical Star System retains its active Starbase and generation; unrelated shared activity may change.',
|
|
114
|
-
};
|
|
115
|
-
await validateStarbaseSystem(systemRaw, systemGuard);
|
|
116
|
-
const cacheData = validateWalletCargoCache(cacheRaw, game, bump);
|
|
117
|
-
const decimals = validateWalletMint(mintRaw);
|
|
118
45
|
if (decimals !== 0)
|
|
119
|
-
failWalletCargo('Withdrawal game/token conversion for nonzero-decimal cargo mints is not verified. Use supported zero-decimal cargo until a bindings/program review establishes conversion.',
|
|
120
|
-
const backing = validateWalletToken(vaultRaw, config.cargo.mint, cache);
|
|
46
|
+
failWalletCargo('Withdrawal game/token conversion for nonzero-decimal cargo mints is not verified. Use supported zero-decimal cargo until a bindings/program review establishes conversion.', cargo.mint);
|
|
121
47
|
if (destinationRaw)
|
|
122
|
-
|
|
123
|
-
if (recipientRaw
|
|
124
|
-
recipientRaw.data.length === 355 &&
|
|
125
|
-
(recipientRaw.owner === ORIGINAL_TOKEN_PROGRAM ||
|
|
126
|
-
recipientRaw.owner ===
|
|
127
|
-
'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb'))
|
|
48
|
+
readTokenAccount(destinationRaw, cargo.mint, options.recipient, failWalletCargo);
|
|
49
|
+
if (isTokenMultisig(recipientRaw))
|
|
128
50
|
failWalletCargo('Token multisig recipients are outside the supported wallet cargo contract.', options.recipient);
|
|
129
51
|
const entitlement = playerData.cargo.amounts.find((item) => item.cargoId === options.cargoId)
|
|
130
52
|
?.amount ?? 0n;
|
|
131
53
|
if (entitlement < options.amount)
|
|
132
|
-
failWalletCargo(`Player Starbase cargo entitlement ${String(entitlement)} is below requested ${String(options.amount)}. Shared vault backing is not personal inventory. Reduce the amount.`, player);
|
|
54
|
+
failWalletCargo(`Player Starbase cargo entitlement ${String(entitlement)} is below requested ${String(options.amount)}. Shared vault backing is not personal inventory. Reduce the amount.`, cargo.player);
|
|
133
55
|
if (backing < options.amount)
|
|
134
56
|
failWalletCargo(`Shared Game vault backing ${String(backing)} is below requested ${String(options.amount)}. Retry after backing is restored.`, source);
|
|
135
|
-
if (config.cargo.withdrawEpochDuration === 0)
|
|
57
|
+
if (cargo.config.cargo.withdrawEpochDuration === 0)
|
|
136
58
|
failWalletCargo('Withdrawal of this cargo is disabled by the Game configuration.', game);
|
|
137
|
-
if (options.amount > config.cargo.circuitBreaker)
|
|
138
|
-
failWalletCargo(`Requested amount exceeds the configured per-epoch withdrawal cap ${String(config.cargo.circuitBreaker)}. Reduce the amount.`, cache);
|
|
59
|
+
if (options.amount > cargo.config.cargo.circuitBreaker)
|
|
60
|
+
failWalletCargo(`Requested amount exceeds the configured per-epoch withdrawal cap ${String(cargo.config.cargo.circuitBreaker)}. Reduce the amount.`, cargo.cache);
|
|
139
61
|
const preconditions = await Promise.all([
|
|
140
62
|
[profileRaw, 'Profile authorization'],
|
|
141
63
|
[characterRaw, 'Character identity'],
|
|
142
64
|
[playerRaw, 'personal Starbase inventory'],
|
|
143
65
|
...(recipientRaw ? [[recipientRaw, 'wallet authority']] : []),
|
|
144
66
|
].map(([account, role]) => observeWalletAccount(account, role)));
|
|
145
|
-
preconditions.push(systemGuard, {
|
|
146
|
-
kind: 'token-mint',
|
|
147
|
-
address: mintRaw.address,
|
|
148
|
-
decimals,
|
|
149
|
-
describes: `Mint ${mintRaw.address} remains a valid initialized original Token Mint with unchanged decimals; supply and authorities may change.`,
|
|
150
|
-
}, {
|
|
151
|
-
kind: 'game-cargo-bytes-config',
|
|
152
|
-
address: game,
|
|
153
|
-
cargoId: options.cargoId,
|
|
154
|
-
configHash: config.configHash,
|
|
155
|
-
describes: 'The selected cargo’s full encoded configuration, including its stored name, and cache identity remain unchanged; unrelated Game changes are allowed.',
|
|
156
|
-
}, {
|
|
157
|
-
kind: 'cargo-cache',
|
|
158
|
-
address: cache,
|
|
159
|
-
game,
|
|
160
|
-
bump,
|
|
161
|
-
describes: 'The canonical cargo cache retains valid Game identity and layout; counters may change.',
|
|
162
|
-
}, {
|
|
67
|
+
preconditions.push(systemGuard, ...walletCargoGuards(cargo, options.cargoId, game, decimals), {
|
|
163
68
|
kind: 'token-account',
|
|
164
69
|
address: source,
|
|
165
|
-
mint:
|
|
166
|
-
owner: cache,
|
|
70
|
+
mint: cargo.mint,
|
|
71
|
+
owner: cargo.cache,
|
|
167
72
|
minimumBalance: options.amount,
|
|
168
73
|
describes: 'The existing shared vault remains a valid original Token account with sufficient raw tokens.',
|
|
169
74
|
}, ...(destinationRaw
|
|
@@ -171,7 +76,7 @@ export async function planWithdrawCargoFromGame(ctx, starbase, options) {
|
|
|
171
76
|
{
|
|
172
77
|
kind: 'token-account',
|
|
173
78
|
address: destination,
|
|
174
|
-
mint:
|
|
79
|
+
mint: cargo.mint,
|
|
175
80
|
owner: options.recipient,
|
|
176
81
|
minimumBalance: 0n,
|
|
177
82
|
describes: 'The existing destination remains a valid original Token account; incoming tokens are allowed.',
|
|
@@ -190,73 +95,42 @@ export async function planWithdrawCargoFromGame(ctx, starbase, options) {
|
|
|
190
95
|
failWalletCargo('The destination token account is missing. Create custom accounts separately or explicitly opt into canonical ATA creation with a payer.', destination);
|
|
191
96
|
if (isOffCurveAddress(creation.payer))
|
|
192
97
|
failWalletCargo('ATA creation payer must be a directly signing address.', creation.payer);
|
|
193
|
-
const
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
const extraCandidates = await readContextRawAccounts(ctx, extraAddresses);
|
|
201
|
-
const extra = extraAddresses.map((address, index) => required(extraCandidates[index], address));
|
|
202
|
-
const [rent, payer, ...programs] = extra;
|
|
203
|
-
if (programs.some((program) => !program.executable))
|
|
204
|
-
failWalletCargo('Associated-token creation requires executable associated-token, System and original Token programs in this deployment.', ATA_PROGRAM);
|
|
205
|
-
// Original SPL Token accounts occupy 165 bytes; the shared Rent reader
|
|
206
|
-
// includes the 128-byte account overhead and validates the full sysvar.
|
|
207
|
-
const storageFunding = readRent(rent)(165);
|
|
208
|
-
if (payer.owner !== SYSTEM_PROGRAM ||
|
|
209
|
-
payer.executable ||
|
|
210
|
-
payer.data.length !== 0 ||
|
|
211
|
-
payer.lamports < storageFunding)
|
|
212
|
-
failWalletCargo(`ATA payer must be a System wallet with at least ${String(storageFunding)} lamports for storage, in addition to transaction fees.`, creation.payer);
|
|
213
|
-
preconditions.push(...(await Promise.all(extra.map((account, index) => observeWalletAccount(account, [
|
|
214
|
-
'Rent configuration',
|
|
215
|
-
'ATA payer identity',
|
|
216
|
-
'associated-token program',
|
|
217
|
-
'System program',
|
|
218
|
-
'Token program',
|
|
219
|
-
][index])))), {
|
|
98
|
+
const ata = await resolveAssociatedTokenCreation(ctx, {
|
|
99
|
+
payer: creation.payer,
|
|
100
|
+
address: destination,
|
|
101
|
+
owner: options.recipient,
|
|
102
|
+
mint: cargo.mint,
|
|
103
|
+
}, failWalletCargo, observeWalletAccount);
|
|
104
|
+
preconditions.push(...ata.preconditions, {
|
|
220
105
|
kind: 'token-account-or-absent',
|
|
221
106
|
address: destination,
|
|
222
|
-
mint:
|
|
107
|
+
mint: cargo.mint,
|
|
223
108
|
owner: options.recipient,
|
|
224
109
|
describes: 'The canonical recipient ATA is absent or a valid initialized unfrozen original Token account for this exact mint and recipient.',
|
|
225
110
|
});
|
|
226
111
|
steps.push({
|
|
227
|
-
describes: `Create the canonical recipient ATA ${destination} idempotently. Payer ${creation.payer} funds ${String(storageFunding)} lamports of rent-exempt storage if still absent; this is separate from transaction fees.`,
|
|
112
|
+
describes: `Create the canonical recipient ATA ${destination} idempotently. Payer ${creation.payer} funds ${String(ata.storageFunding)} lamports of rent-exempt storage if still absent; this is separate from transaction fees.`,
|
|
228
113
|
signers: [creation.payer],
|
|
229
|
-
instruction:
|
|
230
|
-
programAddress: ATA_PROGRAM,
|
|
231
|
-
accounts: [
|
|
232
|
-
{ address: creation.payer, role: AccountRole.WRITABLE_SIGNER },
|
|
233
|
-
{ address: destination, role: AccountRole.WRITABLE },
|
|
234
|
-
{ address: options.recipient, role: AccountRole.READONLY },
|
|
235
|
-
{ address: config.cargo.mint, role: AccountRole.READONLY },
|
|
236
|
-
{ address: SYSTEM_PROGRAM, role: AccountRole.READONLY },
|
|
237
|
-
{ address: ORIGINAL_TOKEN_PROGRAM, role: AccountRole.READONLY },
|
|
238
|
-
],
|
|
239
|
-
data: new Uint8Array([1]),
|
|
240
|
-
},
|
|
114
|
+
instruction: ata.instruction,
|
|
241
115
|
});
|
|
242
116
|
}
|
|
243
117
|
const epoch = cacheData.cargoTypeCache.get(options.cargoId);
|
|
244
|
-
const describes = `Withdraw ${String(options.amount)} raw token units of cargo ${String(options.cargoId)} from shared Game vault ${source} to ${destination}, owned by explicit recipient ${options.recipient}; debit the same verified zero-decimal quantity from player Starbase ${player}. Profile authority ${options.authorization.authority} signs; receiving does not require a recipient signature. Epoch duration ${String(config.cargo.withdrawEpochDuration)}, cap ${String(config.cargo.circuitBreaker)}; ${epoch ? `observed cache epoch ${String(epoch.currentEpoch)}, total withdrawn ${String(epoch.totalWithdrawn)}` : 'no retained cargo epoch entry'}. No remaining-epoch budget is predicted. Permissions, rollover, competing withdrawals and final balances remain chain-authoritative; simulate before signing. Transaction fees are paid separately by the execution fee payer.
|
|
118
|
+
const describes = `Withdraw ${String(options.amount)} raw token units of cargo ${String(options.cargoId)} from shared Game vault ${source} to ${destination}, owned by explicit recipient ${options.recipient}; debit the same verified zero-decimal quantity from player Starbase ${cargo.player}. Profile authority ${options.authorization.authority} signs; receiving does not require a recipient signature. Epoch duration ${String(cargo.config.cargo.withdrawEpochDuration)}, cap ${String(cargo.config.cargo.circuitBreaker)}; ${epoch ? `observed cache epoch ${String(epoch.currentEpoch)}, total withdrawn ${String(epoch.totalWithdrawn)}` : 'no retained cargo epoch entry'}. No remaining-epoch budget is predicted. Permissions, rollover, competing withdrawals and final balances remain chain-authoritative; simulate before signing. Transaction fees are paid separately by the execution fee payer. ${TOKEN_TRANSFER_DISCLOSURE}${recipientRaw ? '' : ' An absent recipient wallet may receive native funding as an empty, non-executable System account.'}`;
|
|
245
119
|
steps.push({
|
|
246
120
|
describes,
|
|
247
121
|
signers: [options.authorization.authority],
|
|
248
122
|
instruction: adaptWithdrawCargoFromGameInstruction({
|
|
249
123
|
authorization: options.authorization,
|
|
250
|
-
systemAndStarbasePlayerSystem:
|
|
251
|
-
systemAndStarbasePlayerStarbasePlayer: player,
|
|
124
|
+
systemAndStarbasePlayerSystem: cargo.system,
|
|
125
|
+
systemAndStarbasePlayerStarbasePlayer: cargo.player,
|
|
252
126
|
game,
|
|
253
|
-
cargoCache: cache,
|
|
127
|
+
cargoCache: cargo.cache,
|
|
254
128
|
source,
|
|
255
129
|
destination,
|
|
256
130
|
amount: options.amount,
|
|
257
131
|
}),
|
|
258
132
|
});
|
|
259
|
-
return
|
|
133
|
+
return buildPlannerPlan({
|
|
260
134
|
kind: 'cargo.wallet-withdrawal',
|
|
261
135
|
summary: describes,
|
|
262
136
|
preconditions,
|