@aephia/atlas-kit 0.7.0-next.1 → 0.7.0-next.3
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 +5 -0
- package/dist/cargo/actions/deposit.d.ts.map +1 -1
- package/dist/cargo/actions/deposit.js +4 -4
- 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 -20
- package/dist/cargo/actions/index.js.map +1 -1
- package/dist/cargo/actions/transfer-bounds.d.ts +4 -3
- package/dist/cargo/actions/transfer-bounds.d.ts.map +1 -1
- package/dist/cargo/actions/transfer-bounds.js +11 -7
- package/dist/cargo/actions/transfer-bounds.js.map +1 -1
- package/dist/cargo/actions/wallet-context.d.ts.map +1 -1
- package/dist/cargo/actions/wallet-context.js +4 -4
- package/dist/cargo/actions/wallet-context.js.map +1 -1
- package/dist/cargo/actions/withdrawal.js +2 -2
- package/dist/cargo/actions/withdrawal.js.map +1 -1
- package/dist/cargo/index.js +2 -2
- package/dist/cargo/index.js.map +1 -1
- package/dist/claim-stakes/actions/index.d.ts.map +1 -1
- package/dist/claim-stakes/actions/index.js +84 -84
- package/dist/claim-stakes/actions/index.js.map +1 -1
- package/dist/client/context.d.ts.map +1 -1
- package/dist/client/context.js +49 -20
- package/dist/client/context.js.map +1 -1
- package/dist/client/contracts.d.ts +42 -4
- package/dist/client/contracts.d.ts.map +1 -1
- package/dist/client/deployments.d.ts +11 -1
- package/dist/client/deployments.d.ts.map +1 -1
- package/dist/client/deployments.js +14 -0
- package/dist/client/deployments.js.map +1 -1
- package/dist/client/index.d.ts +18 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +17 -0
- package/dist/client/index.js.map +1 -1
- package/dist/combat/actions/index.d.ts.map +1 -1
- package/dist/combat/actions/index.js +70 -66
- package/dist/combat/actions/index.js.map +1 -1
- package/dist/combat/index.d.ts.map +1 -1
- package/dist/combat/index.js +2 -2
- package/dist/combat/index.js.map +1 -1
- package/dist/crafting/actions/fee-rate.d.ts.map +1 -1
- package/dist/crafting/actions/fee-rate.js +1 -1
- package/dist/crafting/actions/fee-rate.js.map +1 -1
- package/dist/crafting/actions/index.d.ts.map +1 -1
- package/dist/crafting/actions/index.js +44 -45
- package/dist/crafting/actions/index.js.map +1 -1
- package/dist/crafting/index.d.ts.map +1 -1
- package/dist/crafting/index.js +4 -4
- package/dist/crafting/index.js.map +1 -1
- package/dist/factions/actions/index.d.ts.map +1 -1
- package/dist/factions/actions/index.js +7 -8
- package/dist/factions/actions/index.js.map +1 -1
- package/dist/factions/index.d.ts.map +1 -1
- package/dist/factions/index.js +12 -12
- package/dist/factions/index.js.map +1 -1
- package/dist/factions/profile-faction.js +2 -2
- package/dist/factions/profile-faction.js.map +1 -1
- package/dist/fleets/actions/add-ship.d.ts.map +1 -1
- package/dist/fleets/actions/add-ship.js +5 -5
- package/dist/fleets/actions/add-ship.js.map +1 -1
- package/dist/fleets/actions/create-fleet.d.ts.map +1 -1
- package/dist/fleets/actions/create-fleet.js +4 -4
- package/dist/fleets/actions/create-fleet.js.map +1 -1
- package/dist/fleets/actions/crew-transfer.d.ts.map +1 -1
- package/dist/fleets/actions/crew-transfer.js +5 -2
- package/dist/fleets/actions/crew-transfer.js.map +1 -1
- package/dist/fleets/actions/deployment-storage.d.ts.map +1 -1
- package/dist/fleets/actions/deployment-storage.js +4 -4
- package/dist/fleets/actions/deployment-storage.js.map +1 -1
- package/dist/fleets/actions/disband.d.ts.map +1 -1
- package/dist/fleets/actions/disband.js +6 -6
- package/dist/fleets/actions/disband.js.map +1 -1
- package/dist/fleets/actions/dock-bounds.d.ts +3 -2
- package/dist/fleets/actions/dock-bounds.d.ts.map +1 -1
- package/dist/fleets/actions/dock-bounds.js +8 -1
- package/dist/fleets/actions/dock-bounds.js.map +1 -1
- package/dist/fleets/actions/index.d.ts.map +1 -1
- package/dist/fleets/actions/index.js +85 -84
- package/dist/fleets/actions/index.js.map +1 -1
- package/dist/fleets/actions/respawn.js +1 -1
- package/dist/fleets/actions/respawn.js.map +1 -1
- package/dist/fleets/actions/ship-import.d.ts.map +1 -1
- package/dist/fleets/actions/ship-import.js +7 -8
- package/dist/fleets/actions/ship-import.js.map +1 -1
- package/dist/fleets/actions/sync.d.ts.map +1 -1
- package/dist/fleets/actions/sync.js +5 -4
- package/dist/fleets/actions/sync.js.map +1 -1
- package/dist/fleets/index.js +1 -1
- package/dist/fleets/index.js.map +1 -1
- package/dist/identity/actions/create-profile.d.ts.map +1 -1
- package/dist/identity/actions/create-profile.js +11 -8
- package/dist/identity/actions/create-profile.js.map +1 -1
- package/dist/identity/actions/index.d.ts.map +1 -1
- package/dist/identity/actions/index.js +5 -5
- package/dist/identity/actions/index.js.map +1 -1
- package/dist/identity/actions/research-unlock.d.ts.map +1 -1
- package/dist/identity/actions/research-unlock.js +5 -5
- package/dist/identity/actions/research-unlock.js.map +1 -1
- package/dist/identity/index.d.ts +0 -14
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +5 -19
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/permissions.d.ts +31 -23
- package/dist/identity/permissions.d.ts.map +1 -1
- package/dist/identity/permissions.js +27 -30
- package/dist/identity/permissions.js.map +1 -1
- package/dist/index.d.ts +1 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -14
- package/dist/index.js.map +1 -1
- package/dist/internal/c4/account-decoding.d.ts +9 -5
- package/dist/internal/c4/account-decoding.d.ts.map +1 -1
- package/dist/internal/c4/account-decoding.js +8 -7
- package/dist/internal/c4/account-decoding.js.map +1 -1
- package/dist/internal/c4/adapter.d.ts +2 -2
- package/dist/internal/c4/adapter.d.ts.map +1 -1
- package/dist/internal/c4/career-xp.d.ts.map +1 -1
- package/dist/internal/c4/career-xp.js +3 -3
- package/dist/internal/c4/career-xp.js.map +1 -1
- package/dist/internal/c4/character-registration.d.ts +2 -1
- package/dist/internal/c4/character-registration.d.ts.map +1 -1
- package/dist/internal/c4/character-registration.js +3 -3
- package/dist/internal/c4/character-registration.js.map +1 -1
- package/dist/internal/c4/character.d.ts +3 -3
- package/dist/internal/c4/character.d.ts.map +1 -1
- package/dist/internal/c4/character.js +6 -6
- package/dist/internal/c4/character.js.map +1 -1
- package/dist/internal/c4/claim-stake-storage.d.ts +2 -2
- package/dist/internal/c4/claim-stake-storage.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake-storage.js +2 -2
- package/dist/internal/c4/claim-stake-storage.js.map +1 -1
- package/dist/internal/c4/claim-stake.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake.js +2 -2
- package/dist/internal/c4/claim-stake.js.map +1 -1
- package/dist/internal/c4/combat-storage.d.ts +2 -2
- package/dist/internal/c4/combat-storage.d.ts.map +1 -1
- package/dist/internal/c4/combat-storage.js +4 -2
- package/dist/internal/c4/combat-storage.js.map +1 -1
- package/dist/internal/c4/combat.d.ts +2 -2
- package/dist/internal/c4/combat.d.ts.map +1 -1
- package/dist/internal/c4/combat.js +4 -4
- package/dist/internal/c4/combat.js.map +1 -1
- package/dist/internal/c4/crafting.d.ts +4 -4
- package/dist/internal/c4/crafting.d.ts.map +1 -1
- package/dist/internal/c4/crafting.js +10 -10
- package/dist/internal/c4/crafting.js.map +1 -1
- package/dist/internal/c4/currency-cache.d.ts +3 -3
- package/dist/internal/c4/currency-cache.d.ts.map +1 -1
- package/dist/internal/c4/currency-cache.js +6 -6
- package/dist/internal/c4/currency-cache.js.map +1 -1
- package/dist/internal/c4/faction-enrollment.d.ts +0 -3
- package/dist/internal/c4/faction-enrollment.d.ts.map +1 -1
- package/dist/internal/c4/faction-enrollment.js +1 -3
- package/dist/internal/c4/faction-enrollment.js.map +1 -1
- package/dist/internal/c4/faction-epoch-meter.d.ts +3 -3
- package/dist/internal/c4/faction-epoch-meter.d.ts.map +1 -1
- package/dist/internal/c4/faction-epoch-meter.js +5 -5
- package/dist/internal/c4/faction-epoch-meter.js.map +1 -1
- package/dist/internal/c4/faction-treasury.d.ts +2 -1
- package/dist/internal/c4/faction-treasury.d.ts.map +1 -1
- package/dist/internal/c4/faction-treasury.js +4 -4
- package/dist/internal/c4/faction-treasury.js.map +1 -1
- package/dist/internal/c4/factions.d.ts +12 -12
- package/dist/internal/c4/factions.d.ts.map +1 -1
- package/dist/internal/c4/factions.js +31 -31
- package/dist/internal/c4/factions.js.map +1 -1
- package/dist/internal/c4/fleet-arrival.d.ts +2 -2
- package/dist/internal/c4/fleet-arrival.d.ts.map +1 -1
- package/dist/internal/c4/fleet-arrival.js +3 -3
- package/dist/internal/c4/fleet-arrival.js.map +1 -1
- package/dist/internal/c4/fleet-creation.d.ts +3 -2
- package/dist/internal/c4/fleet-creation.d.ts.map +1 -1
- package/dist/internal/c4/fleet-creation.js +7 -8
- package/dist/internal/c4/fleet-creation.js.map +1 -1
- package/dist/internal/c4/fleet-crew-binding.d.ts +2 -2
- package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
- package/dist/internal/c4/fleet-crew-binding.js +4 -4
- package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
- package/dist/internal/c4/fleet-disband.d.ts +2 -2
- package/dist/internal/c4/fleet-disband.d.ts.map +1 -1
- package/dist/internal/c4/fleet-disband.js +7 -8
- package/dist/internal/c4/fleet-disband.js.map +1 -1
- package/dist/internal/c4/fleet-respawn.d.ts +2 -4
- package/dist/internal/c4/fleet-respawn.d.ts.map +1 -1
- package/dist/internal/c4/fleet-respawn.js +6 -8
- package/dist/internal/c4/fleet-respawn.js.map +1 -1
- package/dist/internal/c4/fleet-ship-assembly.d.ts +2 -2
- package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -1
- package/dist/internal/c4/fleet-ship-assembly.js +5 -6
- package/dist/internal/c4/fleet-ship-assembly.js.map +1 -1
- package/dist/internal/c4/fleet-sync.d.ts +2 -1
- package/dist/internal/c4/fleet-sync.d.ts.map +1 -1
- package/dist/internal/c4/fleet-sync.js +3 -3
- package/dist/internal/c4/fleet-sync.js.map +1 -1
- package/dist/internal/c4/fleet.d.ts +4 -4
- package/dist/internal/c4/fleet.d.ts.map +1 -1
- package/dist/internal/c4/fleet.js +9 -9
- package/dist/internal/c4/fleet.js.map +1 -1
- package/dist/internal/c4/game.d.ts +12 -12
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +24 -24
- package/dist/internal/c4/game.js.map +1 -1
- package/dist/internal/c4/identity.d.ts +2 -2
- package/dist/internal/c4/identity.d.ts.map +1 -1
- package/dist/internal/c4/identity.js +6 -6
- package/dist/internal/c4/identity.js.map +1 -1
- package/dist/internal/c4/local-market-order.d.ts +2 -3
- package/dist/internal/c4/local-market-order.d.ts.map +1 -1
- package/dist/internal/c4/local-market-order.js +4 -9
- package/dist/internal/c4/local-market-order.js.map +1 -1
- package/dist/internal/c4/loot.d.ts.map +1 -1
- package/dist/internal/c4/loot.js +2 -2
- package/dist/internal/c4/loot.js.map +1 -1
- package/dist/internal/c4/loyalty.d.ts +4 -4
- package/dist/internal/c4/loyalty.d.ts.map +1 -1
- package/dist/internal/c4/loyalty.js +10 -10
- package/dist/internal/c4/loyalty.js.map +1 -1
- package/dist/internal/c4/market.d.ts +3 -3
- package/dist/internal/c4/market.d.ts.map +1 -1
- package/dist/internal/c4/market.js +7 -7
- package/dist/internal/c4/market.js.map +1 -1
- package/dist/internal/c4/open-signal.d.ts +3 -4
- package/dist/internal/c4/open-signal.d.ts.map +1 -1
- package/dist/internal/c4/open-signal.js +7 -10
- package/dist/internal/c4/open-signal.js.map +1 -1
- package/dist/internal/c4/pda.d.ts +18 -18
- package/dist/internal/c4/pda.d.ts.map +1 -1
- package/dist/internal/c4/pda.js +35 -36
- package/dist/internal/c4/pda.js.map +1 -1
- package/dist/internal/c4/profile-creation.d.ts +3 -2
- package/dist/internal/c4/profile-creation.d.ts.map +1 -1
- package/dist/internal/c4/profile-creation.js +6 -7
- package/dist/internal/c4/profile-creation.js.map +1 -1
- package/dist/internal/c4/profile-faction.d.ts +2 -2
- package/dist/internal/c4/profile-faction.d.ts.map +1 -1
- package/dist/internal/c4/profile-faction.js +4 -4
- package/dist/internal/c4/profile-faction.js.map +1 -1
- package/dist/internal/c4/profile-permissions.d.ts +3 -4
- package/dist/internal/c4/profile-permissions.d.ts.map +1 -1
- package/dist/internal/c4/profile-permissions.js +7 -9
- package/dist/internal/c4/profile-permissions.js.map +1 -1
- package/dist/internal/c4/rewards.d.ts +3 -3
- package/dist/internal/c4/rewards.d.ts.map +1 -1
- package/dist/internal/c4/rewards.js +8 -8
- package/dist/internal/c4/rewards.js.map +1 -1
- package/dist/internal/c4/runtime-bindings.d.ts +1 -2
- package/dist/internal/c4/runtime-bindings.d.ts.map +1 -1
- package/dist/internal/c4/runtime-bindings.js +1 -2
- package/dist/internal/c4/runtime-bindings.js.map +1 -1
- package/dist/internal/c4/scan-lifecycle.d.ts +2 -2
- package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -1
- package/dist/internal/c4/scan-lifecycle.js +4 -4
- package/dist/internal/c4/scan-lifecycle.js.map +1 -1
- package/dist/internal/c4/scanning.d.ts +2 -2
- package/dist/internal/c4/scanning.d.ts.map +1 -1
- package/dist/internal/c4/scanning.js +4 -4
- package/dist/internal/c4/scanning.js.map +1 -1
- package/dist/internal/c4/starbase.d.ts +2 -2
- package/dist/internal/c4/starbase.d.ts.map +1 -1
- package/dist/internal/c4/starbase.js +5 -5
- package/dist/internal/c4/starbase.js.map +1 -1
- package/dist/internal/c4/wallet-cargo-cache.d.ts +2 -2
- package/dist/internal/c4/wallet-cargo-cache.d.ts.map +1 -1
- package/dist/internal/c4/wallet-cargo-cache.js +3 -3
- package/dist/internal/c4/wallet-cargo-cache.js.map +1 -1
- package/dist/internal/c4/world.d.ts +3 -3
- package/dist/internal/c4/world.d.ts.map +1 -1
- package/dist/internal/c4/world.js +9 -9
- package/dist/internal/c4/world.js.map +1 -1
- package/dist/internal/planning/arrival-guards.d.ts +2 -1
- package/dist/internal/planning/arrival-guards.d.ts.map +1 -1
- package/dist/internal/planning/arrival-guards.js +4 -5
- package/dist/internal/planning/arrival-guards.js.map +1 -1
- package/dist/internal/planning/authorization-adapter.d.ts +35 -34
- package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
- package/dist/internal/planning/authorization-adapter.js +105 -105
- package/dist/internal/planning/authorization-adapter.js.map +1 -1
- package/dist/internal/planning/cargo-storage-actions.d.ts +2 -2
- package/dist/internal/planning/cargo-storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/cargo-storage-actions.js +7 -5
- package/dist/internal/planning/cargo-storage-actions.js.map +1 -1
- package/dist/internal/planning/character-access.d.ts +3 -3
- package/dist/internal/planning/character-access.d.ts.map +1 -1
- package/dist/internal/planning/character-access.js +6 -5
- package/dist/internal/planning/character-access.js.map +1 -1
- package/dist/internal/planning/character-registration-guard.d.ts +2 -1
- package/dist/internal/planning/character-registration-guard.d.ts.map +1 -1
- package/dist/internal/planning/character-registration-guard.js +3 -4
- 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 -2
- package/dist/internal/planning/character-registration.js.map +1 -1
- package/dist/internal/planning/claim-stake-storage-actions.d.ts +2 -2
- package/dist/internal/planning/claim-stake-storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/claim-stake-storage-actions.js +3 -3
- package/dist/internal/planning/claim-stake-storage-actions.js.map +1 -1
- package/dist/internal/planning/combat-storage-actions.d.ts +2 -2
- package/dist/internal/planning/combat-storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/combat-storage-actions.js +3 -3
- package/dist/internal/planning/combat-storage-actions.js.map +1 -1
- package/dist/internal/planning/crafting-storage-actions.d.ts +2 -2
- package/dist/internal/planning/crafting-storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/crafting-storage-actions.js +6 -6
- package/dist/internal/planning/crafting-storage-actions.js.map +1 -1
- package/dist/internal/planning/currency-cache-guard.d.ts +2 -1
- package/dist/internal/planning/currency-cache-guard.d.ts.map +1 -1
- package/dist/internal/planning/currency-cache-guard.js +2 -3
- 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 +9 -9
- package/dist/internal/planning/democracy-history.js.map +1 -1
- package/dist/internal/planning/faction-enrollment.d.ts +2 -2
- package/dist/internal/planning/faction-enrollment.d.ts.map +1 -1
- package/dist/internal/planning/faction-enrollment.js +6 -6
- package/dist/internal/planning/faction-enrollment.js.map +1 -1
- package/dist/internal/planning/faction-trade-state.d.ts +4 -4
- package/dist/internal/planning/faction-trade-state.d.ts.map +1 -1
- package/dist/internal/planning/faction-trade-state.js +9 -9
- package/dist/internal/planning/faction-trade-state.js.map +1 -1
- package/dist/internal/planning/fleet-arrival.d.ts.map +1 -1
- package/dist/internal/planning/fleet-arrival.js +8 -9
- package/dist/internal/planning/fleet-arrival.js.map +1 -1
- package/dist/internal/planning/fleet-attack-xp.d.ts +2 -2
- package/dist/internal/planning/fleet-attack-xp.d.ts.map +1 -1
- package/dist/internal/planning/fleet-attack-xp.js +7 -7
- package/dist/internal/planning/fleet-attack-xp.js.map +1 -1
- package/dist/internal/planning/fleet-creation.d.ts +3 -3
- package/dist/internal/planning/fleet-creation.d.ts.map +1 -1
- package/dist/internal/planning/fleet-creation.js +9 -10
- package/dist/internal/planning/fleet-creation.js.map +1 -1
- package/dist/internal/planning/fleet-crew-guard.d.ts +4 -3
- package/dist/internal/planning/fleet-crew-guard.d.ts.map +1 -1
- package/dist/internal/planning/fleet-crew-guard.js +7 -8
- package/dist/internal/planning/fleet-crew-guard.js.map +1 -1
- package/dist/internal/planning/fleet-crew-transfer.d.ts.map +1 -1
- package/dist/internal/planning/fleet-crew-transfer.js +16 -17
- package/dist/internal/planning/fleet-crew-transfer.js.map +1 -1
- package/dist/internal/planning/fleet-disband-guard.d.ts +2 -1
- package/dist/internal/planning/fleet-disband-guard.d.ts.map +1 -1
- package/dist/internal/planning/fleet-disband-guard.js +4 -5
- package/dist/internal/planning/fleet-disband-guard.js.map +1 -1
- package/dist/internal/planning/fleet-disband.d.ts +3 -3
- package/dist/internal/planning/fleet-disband.d.ts.map +1 -1
- package/dist/internal/planning/fleet-disband.js +11 -12
- package/dist/internal/planning/fleet-disband.js.map +1 -1
- package/dist/internal/planning/fleet-dock-funding-guard.d.ts +2 -1
- package/dist/internal/planning/fleet-dock-funding-guard.d.ts.map +1 -1
- package/dist/internal/planning/fleet-dock-funding-guard.js +2 -3
- package/dist/internal/planning/fleet-dock-funding-guard.js.map +1 -1
- package/dist/internal/planning/fleet-dock-funding.d.ts +2 -2
- package/dist/internal/planning/fleet-dock-funding.d.ts.map +1 -1
- package/dist/internal/planning/fleet-dock-funding.js +9 -9
- package/dist/internal/planning/fleet-dock-funding.js.map +1 -1
- package/dist/internal/planning/fleet-docking-guard.d.ts +2 -1
- package/dist/internal/planning/fleet-docking-guard.d.ts.map +1 -1
- package/dist/internal/planning/fleet-docking-guard.js +4 -5
- package/dist/internal/planning/fleet-docking-guard.js.map +1 -1
- package/dist/internal/planning/fleet-docking.d.ts +2 -2
- package/dist/internal/planning/fleet-docking.d.ts.map +1 -1
- package/dist/internal/planning/fleet-docking.js +11 -12
- package/dist/internal/planning/fleet-docking.js.map +1 -1
- package/dist/internal/planning/fleet-rental.d.ts +2 -1
- package/dist/internal/planning/fleet-rental.d.ts.map +1 -1
- package/dist/internal/planning/fleet-rental.js +2 -3
- package/dist/internal/planning/fleet-rental.js.map +1 -1
- package/dist/internal/planning/fleet-respawn.d.ts.map +1 -1
- package/dist/internal/planning/fleet-respawn.js +16 -18
- package/dist/internal/planning/fleet-respawn.js.map +1 -1
- package/dist/internal/planning/fleet-ship-assembly.d.ts +3 -3
- package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -1
- package/dist/internal/planning/fleet-ship-assembly.js +12 -13
- package/dist/internal/planning/fleet-ship-assembly.js.map +1 -1
- package/dist/internal/planning/governance-fees.d.ts.map +1 -1
- package/dist/internal/planning/governance-fees.js +12 -12
- package/dist/internal/planning/governance-fees.js.map +1 -1
- package/dist/internal/planning/local-market-order-funding.d.ts +2 -2
- package/dist/internal/planning/local-market-order-funding.d.ts.map +1 -1
- package/dist/internal/planning/local-market-order-funding.js +11 -11
- package/dist/internal/planning/local-market-order-funding.js.map +1 -1
- package/dist/internal/planning/local-market-order.d.ts +2 -1
- package/dist/internal/planning/local-market-order.d.ts.map +1 -1
- package/dist/internal/planning/local-market-order.js +4 -4
- package/dist/internal/planning/local-market-order.js.map +1 -1
- package/dist/internal/planning/market-storage-actions.d.ts +2 -2
- package/dist/internal/planning/market-storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/market-storage-actions.js +3 -3
- package/dist/internal/planning/market-storage-actions.js.map +1 -1
- package/dist/internal/planning/mining-stop.d.ts +3 -3
- package/dist/internal/planning/mining-stop.d.ts.map +1 -1
- package/dist/internal/planning/mining-stop.js +5 -6
- package/dist/internal/planning/mining-stop.js.map +1 -1
- package/dist/internal/planning/mining-storage-actions.d.ts +2 -2
- package/dist/internal/planning/mining-storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/mining-storage-actions.js +2 -2
- package/dist/internal/planning/mining-storage-actions.js.map +1 -1
- package/dist/internal/planning/movement-storage-actions.d.ts +2 -2
- package/dist/internal/planning/movement-storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/movement-storage-actions.js +2 -2
- package/dist/internal/planning/movement-storage-actions.js.map +1 -1
- package/dist/internal/planning/movement-xp-guard.d.ts +2 -1
- package/dist/internal/planning/movement-xp-guard.d.ts.map +1 -1
- package/dist/internal/planning/movement-xp-guard.js +3 -3
- package/dist/internal/planning/movement-xp-guard.js.map +1 -1
- package/dist/internal/planning/open-signal-guard.d.ts +2 -1
- package/dist/internal/planning/open-signal-guard.d.ts.map +1 -1
- package/dist/internal/planning/open-signal-guard.js +4 -4
- package/dist/internal/planning/open-signal-guard.js.map +1 -1
- package/dist/internal/planning/open-signal.d.ts +3 -3
- package/dist/internal/planning/open-signal.d.ts.map +1 -1
- package/dist/internal/planning/open-signal.js +12 -13
- package/dist/internal/planning/open-signal.js.map +1 -1
- package/dist/internal/planning/own-starbase-facts.d.ts +2 -2
- package/dist/internal/planning/own-starbase-facts.d.ts.map +1 -1
- package/dist/internal/planning/own-starbase-facts.js +7 -7
- package/dist/internal/planning/own-starbase-facts.js.map +1 -1
- package/dist/internal/planning/profile-storage-funding-guard.d.ts +3 -2
- package/dist/internal/planning/profile-storage-funding-guard.d.ts.map +1 -1
- package/dist/internal/planning/profile-storage-funding-guard.js +4 -5
- package/dist/internal/planning/profile-storage-funding-guard.js.map +1 -1
- package/dist/internal/planning/profile-storage-funding.d.ts +3 -3
- package/dist/internal/planning/profile-storage-funding.d.ts.map +1 -1
- package/dist/internal/planning/profile-storage-funding.js +5 -6
- package/dist/internal/planning/profile-storage-funding.js.map +1 -1
- package/dist/internal/planning/qualified-deployment.d.ts +11 -0
- package/dist/internal/planning/qualified-deployment.d.ts.map +1 -0
- package/dist/internal/planning/qualified-deployment.js +15 -0
- package/dist/internal/planning/qualified-deployment.js.map +1 -0
- package/dist/internal/planning/recipe-state.d.ts +3 -3
- package/dist/internal/planning/recipe-state.d.ts.map +1 -1
- package/dist/internal/planning/recipe-state.js +5 -5
- package/dist/internal/planning/recipe-state.js.map +1 -1
- package/dist/internal/planning/region-access.d.ts +5 -5
- package/dist/internal/planning/region-access.d.ts.map +1 -1
- package/dist/internal/planning/region-access.js +12 -12
- package/dist/internal/planning/region-access.js.map +1 -1
- package/dist/internal/planning/rent-catalog.d.ts +2 -2
- package/dist/internal/planning/rent-catalog.d.ts.map +1 -1
- package/dist/internal/planning/rent-catalog.js +8 -9
- package/dist/internal/planning/rent-catalog.js.map +1 -1
- package/dist/internal/planning/research-unlock.d.ts +4 -4
- package/dist/internal/planning/research-unlock.d.ts.map +1 -1
- package/dist/internal/planning/research-unlock.js +19 -21
- package/dist/internal/planning/research-unlock.js.map +1 -1
- package/dist/internal/planning/respawn-guards.d.ts +2 -1
- package/dist/internal/planning/respawn-guards.d.ts.map +1 -1
- package/dist/internal/planning/respawn-guards.js +2 -3
- package/dist/internal/planning/respawn-guards.js.map +1 -1
- package/dist/internal/planning/runtime-guards.d.ts +2 -2
- package/dist/internal/planning/runtime-guards.d.ts.map +1 -1
- package/dist/internal/planning/runtime-guards.js +10 -11
- package/dist/internal/planning/runtime-guards.js.map +1 -1
- package/dist/internal/planning/scan-completion-guard.d.ts +4 -3
- package/dist/internal/planning/scan-completion-guard.d.ts.map +1 -1
- package/dist/internal/planning/scan-completion-guard.js +7 -8
- package/dist/internal/planning/scan-completion-guard.js.map +1 -1
- package/dist/internal/planning/scan-completion.d.ts +1 -1
- package/dist/internal/planning/scan-completion.d.ts.map +1 -1
- package/dist/internal/planning/scan-completion.js +12 -14
- package/dist/internal/planning/scan-completion.js.map +1 -1
- package/dist/internal/planning/scan-detect-guard.d.ts +5 -4
- package/dist/internal/planning/scan-detect-guard.d.ts.map +1 -1
- package/dist/internal/planning/scan-detect-guard.js +7 -8
- package/dist/internal/planning/scan-detect-guard.js.map +1 -1
- package/dist/internal/planning/scan-detect.d.ts +2 -2
- package/dist/internal/planning/scan-detect.d.ts.map +1 -1
- package/dist/internal/planning/scan-detect.js +17 -18
- package/dist/internal/planning/scan-detect.js.map +1 -1
- package/dist/internal/planning/ship-import-funding.d.ts +3 -3
- package/dist/internal/planning/ship-import-funding.d.ts.map +1 -1
- package/dist/internal/planning/ship-import-funding.js +7 -7
- package/dist/internal/planning/ship-import-funding.js.map +1 -1
- package/dist/internal/planning/starbase-player-owner.d.ts +2 -1
- package/dist/internal/planning/starbase-player-owner.d.ts.map +1 -1
- package/dist/internal/planning/starbase-player-owner.js +3 -4
- package/dist/internal/planning/starbase-player-owner.js.map +1 -1
- package/dist/internal/planning/starbase-player-recovery-guard.d.ts +2 -1
- package/dist/internal/planning/starbase-player-recovery-guard.d.ts.map +1 -1
- package/dist/internal/planning/starbase-player-recovery-guard.js +4 -5
- package/dist/internal/planning/starbase-player-recovery-guard.js.map +1 -1
- package/dist/internal/planning/starbase-system-guard.d.ts +3 -2
- package/dist/internal/planning/starbase-system-guard.d.ts.map +1 -1
- package/dist/internal/planning/starbase-system-guard.js +8 -8
- package/dist/internal/planning/starbase-system-guard.js.map +1 -1
- package/dist/internal/planning/starbase-system.d.ts +2 -2
- package/dist/internal/planning/starbase-system.d.ts.map +1 -1
- package/dist/internal/planning/starbase-system.js +3 -3
- package/dist/internal/planning/starbase-system.js.map +1 -1
- package/dist/internal/planning/storage-action-readers.d.ts +2 -2
- package/dist/internal/planning/storage-action-readers.d.ts.map +1 -1
- package/dist/internal/planning/storage-action-readers.js +7 -5
- package/dist/internal/planning/storage-action-readers.js.map +1 -1
- package/dist/internal/planning/storage-actions.d.ts +4 -4
- package/dist/internal/planning/storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/storage-actions.js +7 -7
- package/dist/internal/planning/storage-actions.js.map +1 -1
- package/dist/internal/planning/trade-faction-market.d.ts +2 -1
- package/dist/internal/planning/trade-faction-market.d.ts.map +1 -1
- package/dist/internal/planning/trade-faction-market.js +6 -6
- package/dist/internal/planning/trade-faction-market.js.map +1 -1
- package/dist/internal/planning/wallet-starbase.d.ts +2 -2
- package/dist/internal/planning/wallet-starbase.d.ts.map +1 -1
- package/dist/internal/planning/wallet-starbase.js +7 -8
- package/dist/internal/planning/wallet-starbase.js.map +1 -1
- package/dist/internal/planning/xp-runtime.d.ts.map +1 -1
- package/dist/internal/planning/xp-runtime.js +13 -13
- package/dist/internal/planning/xp-runtime.js.map +1 -1
- package/dist/loyalty/actions/index.d.ts.map +1 -1
- package/dist/loyalty/actions/index.js +7 -7
- package/dist/loyalty/actions/index.js.map +1 -1
- package/dist/loyalty/index.d.ts.map +1 -1
- package/dist/loyalty/index.js +9 -9
- package/dist/loyalty/index.js.map +1 -1
- package/dist/markets/actions/index.d.ts +4 -2
- package/dist/markets/actions/index.d.ts.map +1 -1
- package/dist/markets/actions/index.js +28 -20
- package/dist/markets/actions/index.js.map +1 -1
- package/dist/markets/actions/trade-faction-market.d.ts.map +1 -1
- package/dist/markets/actions/trade-faction-market.js +22 -23
- package/dist/markets/actions/trade-faction-market.js.map +1 -1
- package/dist/markets/index.d.ts +12 -5
- package/dist/markets/index.d.ts.map +1 -1
- package/dist/markets/index.js +17 -10
- package/dist/markets/index.js.map +1 -1
- package/dist/mining/actions/index.d.ts.map +1 -1
- package/dist/mining/actions/index.js +25 -24
- package/dist/mining/actions/index.js.map +1 -1
- package/dist/mining/index.d.ts.map +1 -1
- package/dist/mining/index.js +2 -2
- package/dist/mining/index.js.map +1 -1
- package/dist/planning/assembly.d.ts +2 -2
- package/dist/planning/assembly.d.ts.map +1 -1
- package/dist/planning/assembly.js +6 -3
- package/dist/planning/assembly.js.map +1 -1
- package/dist/planning/execution.d.ts.map +1 -1
- package/dist/planning/execution.js +34 -35
- package/dist/planning/execution.js.map +1 -1
- package/dist/planning/index.d.ts +15 -3
- package/dist/planning/index.d.ts.map +1 -1
- package/dist/planning/index.js +32 -11
- package/dist/planning/index.js.map +1 -1
- package/dist/planning/plan-construction.d.ts +5 -2
- package/dist/planning/plan-construction.d.ts.map +1 -1
- package/dist/planning/plan-construction.js +16 -4
- package/dist/planning/plan-construction.js.map +1 -1
- package/dist/planning/plan-validation.d.ts +4 -3
- package/dist/planning/plan-validation.d.ts.map +1 -1
- package/dist/planning/plan-validation.js +56 -56
- package/dist/planning/plan-validation.js.map +1 -1
- package/dist/planning/simulation.js +1 -1
- package/dist/planning/simulation.js.map +1 -1
- package/dist/registry/cargo.d.ts.map +1 -1
- package/dist/registry/cargo.js +2 -2
- package/dist/registry/cargo.js.map +1 -1
- package/dist/registry/claim-stakes.d.ts.map +1 -1
- package/dist/registry/claim-stakes.js +1 -1
- package/dist/registry/claim-stakes.js.map +1 -1
- package/dist/registry/docking.d.ts +2 -2
- package/dist/registry/docking.d.ts.map +1 -1
- package/dist/registry/docking.js +2 -2
- package/dist/registry/docking.js.map +1 -1
- package/dist/registry/index.js +1 -1
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/onboarding.d.ts +2 -2
- package/dist/registry/onboarding.d.ts.map +1 -1
- package/dist/registry/onboarding.js +4 -4
- package/dist/registry/onboarding.js.map +1 -1
- package/dist/registry/scanning.js +1 -1
- package/dist/registry/scanning.js.map +1 -1
- package/dist/registry/ships.d.ts +3 -3
- package/dist/registry/ships.d.ts.map +1 -1
- package/dist/registry/ships.js +10 -7
- package/dist/registry/ships.js.map +1 -1
- package/dist/registry/xp-runtime.js +1 -1
- package/dist/registry/xp-runtime.js.map +1 -1
- package/dist/rewards/index.d.ts.map +1 -1
- package/dist/rewards/index.js +3 -3
- package/dist/rewards/index.js.map +1 -1
- package/dist/scanning/actions/index.d.ts.map +1 -1
- package/dist/scanning/actions/index.js +7 -7
- package/dist/scanning/actions/index.js.map +1 -1
- package/dist/scanning/index.d.ts.map +1 -1
- package/dist/scanning/index.js +4 -4
- package/dist/scanning/index.js.map +1 -1
- package/dist/scanning/signals.d.ts.map +1 -1
- package/dist/scanning/signals.js +1 -1
- package/dist/scanning/signals.js.map +1 -1
- package/dist/starbases/actions/index.d.ts.map +1 -1
- package/dist/starbases/actions/index.js +25 -26
- package/dist/starbases/actions/index.js.map +1 -1
- package/dist/starbases/index.d.ts.map +1 -1
- package/dist/starbases/index.js +1 -1
- package/dist/starbases/index.js.map +1 -1
- package/dist/world/index.d.ts +7 -4
- package/dist/world/index.d.ts.map +1 -1
- package/dist/world/index.js +11 -9
- package/dist/world/index.js.map +1 -1
- package/package.json +61 -31
- package/dist/internal/c4/mining-instructions.d.ts +0 -2
- package/dist/internal/c4/mining-instructions.d.ts.map +0 -1
- package/dist/internal/c4/mining-instructions.js +0 -3
- package/dist/internal/c4/mining-instructions.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"movement-storage-actions.js","sourceRoot":"","sources":["../../../src/internal/planning/movement-storage-actions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"movement-storage-actions.js","sourceRoot":"","sources":["../../../src/internal/planning/movement-storage-actions.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,OAAO,EAAsB,MAAM,sBAAsB,CAAC;AAEnE;0BAC0B;AAC1B,MAAM,UAAU,yBAAyB,CACvC,QAA8B,EAC9B,WAAwB,EACxB,QAAsD;IAEtD,MAAM,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAE,CAAC;IAC5D,MAAM,KAAK,GAAG,WAAW,CAAC,QAAS,CAAC;IACpC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAK,CAAC;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO;QAC1B,SAAS,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO;QAC5B,UAAU,EAAE,MAAe;KAC5B,CAAC;IACF,IAAI,IAAI,KAAK,cAAc;QACzB,OAAO;YACL,GAAG,MAAM;YACT,QAAQ,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC,QAAQ;YAC9C,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;SACzE,CAAC;IACJ,MAAM,IAAI,GACR,IAAI,KAAK,eAAe;QACtB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAI,KAAK,oBAAoB;YAC7B,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,WAAW,CAAC;IACpB,OAAO;QACL,GAAG,MAAM;QACT,QAAQ,EAAE,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC;QAC5C,QAAQ,EAAE;YACR;gBACE,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,kBAAkB,CACvB,KAAK,EACL,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CACxC;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { PlanPrecondition, PlanStep } from '../../planning/index.js';
|
|
2
|
+
import type { SageProgramAddresses } from '../../client/contracts.js';
|
|
2
3
|
/** Bind current XP tails to the actual instructions, independently of Plan kind. */
|
|
3
|
-
export declare function validateMovementXpInstructions(steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
|
|
4
|
+
export declare function validateMovementXpInstructions(programs: SageProgramAddresses, steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
|
|
4
5
|
//# sourceMappingURL=movement-xp-guard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"movement-xp-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/movement-xp-guard.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"movement-xp-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/movement-xp-guard.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAe1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAStE,oFAAoF;AACpF,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CAgHN"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { AccountRole } from '@solana/kit';
|
|
2
2
|
import { SageSdkError } from '../../client/errors.js';
|
|
3
|
-
import {
|
|
3
|
+
import { getStartSubwarpInstructionDataDecoder, getWarpToCoordinateInstructionDataDecoder, getWarpLaneInstructionDataDecoder, getStopSubwarpInstructionDataDecoder, getStopMiningAsteroidInstructionDataDecoder, } from '../c4/runtime-bindings.js';
|
|
4
4
|
import { START_SUBWARP_DISCRIMINATOR, STOP_MINING_ASTEROID_DISCRIMINATOR, STOP_SUBWARP_DISCRIMINATOR, WARP_LANE_DISCRIMINATOR, WARP_TO_COORDINATE_DISCRIMINATOR, } from '../c4/discriminators.js';
|
|
5
5
|
function fail() {
|
|
6
6
|
throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'Movement or mining-stop XP accounts, Character, Profile, Game or account roles mismatch. Refresh the Fleet and recreate the Plan.');
|
|
7
7
|
}
|
|
8
8
|
/** Bind current XP tails to the actual instructions, independently of Plan kind. */
|
|
9
|
-
export function validateMovementXpInstructions(steps, guards) {
|
|
9
|
+
export function validateMovementXpInstructions(programs, steps, guards) {
|
|
10
10
|
const layouts = [
|
|
11
11
|
{
|
|
12
12
|
discriminator: START_SUBWARP_DISCRIMINATOR,
|
|
@@ -45,7 +45,7 @@ export function validateMovementXpInstructions(steps, guards) {
|
|
|
45
45
|
},
|
|
46
46
|
];
|
|
47
47
|
for (const { instruction } of steps) {
|
|
48
|
-
if (instruction.programAddress !==
|
|
48
|
+
if (instruction.programAddress !== programs.sage)
|
|
49
49
|
continue;
|
|
50
50
|
const layout = layouts.find((l) => l.discriminator.every((b, i) => instruction.data?.[i] === b));
|
|
51
51
|
if (!layout)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"movement-xp-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/movement-xp-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAgB,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"movement-xp-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/movement-xp-guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { PlanPrecondition, PlanStep } from '../../planning/index.js';
|
|
2
|
-
|
|
2
|
+
import type { SageProgramAddresses } from '../../client/contracts.js';
|
|
3
|
+
export declare function validateOpenSignalInstructions(programs: SageProgramAddresses, steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
|
|
3
4
|
//# sourceMappingURL=open-signal-guard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-signal-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/open-signal-guard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAI1E,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CA2CN"}
|
|
1
|
+
{"version":3,"file":"open-signal-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/open-signal-guard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAI1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CA2CN"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { SageSdkError } from '../../client/errors.js';
|
|
2
|
-
import { openSignalAccounts
|
|
2
|
+
import { openSignalAccounts } from '../c4/open-signal.js';
|
|
3
3
|
import { OPEN_SCAN_SIGNAL_DISCRIMINATOR } from '../c4/discriminators.js';
|
|
4
|
-
export function validateOpenSignalInstructions(steps, guards) {
|
|
4
|
+
export function validateOpenSignalInstructions(programs, steps, guards) {
|
|
5
5
|
const selected = guards.filter((g) => g.kind === 'scan-signal-open');
|
|
6
|
-
const instructions = steps.filter(({ instruction: i }) => i.programAddress ===
|
|
6
|
+
const instructions = steps.filter(({ instruction: i }) => i.programAddress === programs.sage &&
|
|
7
7
|
OPEN_SCAN_SIGNAL_DISCRIMINATOR.every((v, n) => i.data?.[n] === v));
|
|
8
8
|
if (!selected.length && !instructions.length)
|
|
9
9
|
return;
|
|
@@ -14,7 +14,7 @@ export function validateOpenSignalInstructions(steps, guards) {
|
|
|
14
14
|
new Set(selected.map((g) => g.address)).size !== selected.length)
|
|
15
15
|
bad();
|
|
16
16
|
for (const guard of selected) {
|
|
17
|
-
const expected = openSignalAccounts(guard);
|
|
17
|
+
const expected = openSignalAccounts(programs, guard);
|
|
18
18
|
if (!guards.some((g) => g.kind === 'game-account' && g.address === guard.game))
|
|
19
19
|
bad();
|
|
20
20
|
const matches = instructions.filter((step) => step.signers.length === 1 &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-signal-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/open-signal-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EAAE,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"open-signal-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/open-signal-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAEzE,MAAM,UAAU,8BAA8B,CAC5C,QAA8B,EAC9B,KAA0B,EAC1B,MAAmC;IAEnC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAwB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAC3D,CAAC;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAC/B,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CACrB,CAAC,CAAC,cAAc,KAAK,QAAQ,CAAC,IAAI;QAClC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CACpE,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM;QAAE,OAAO;IACrD,MAAM,GAAG,GAAG,GAAU,EAAE;QACtB,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,wJAAwJ,CACzJ,CAAC;IACJ,CAAC,CAAC;IACF,IACE,QAAQ,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;QACvC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM;QAEhE,GAAG,EAAE,CAAC;IACR,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrD,IACE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC;YAE1E,GAAG,EAAE,CAAC;QACR,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CACjC,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,SAAS;YACnC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,KAAK,EAAE;YACpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAE,GAAG,GAAG;gBACzD,KAAK,CAAC,QAAQ;YAChB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,KAAK,QAAQ,CAAC,MAAM;YACrD,QAAQ,CAAC,KAAK,CACZ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,CAAC,CAAC,OAAO;gBACrD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC,IAAI,CAChD,CACJ,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,GAAG,EAAE,CAAC;IAClC,CAAC;AACH,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Address } from '@solana/kit';
|
|
2
2
|
import { openSignalInstruction } from '../c4/open-signal.js';
|
|
3
3
|
export { openSignalInstruction };
|
|
4
|
-
import type { RawAccount } from '../../client/contracts.js';
|
|
4
|
+
import type { RawAccount, SageProgramAddresses } from '../../client/contracts.js';
|
|
5
5
|
export interface OpenSignalIntent {
|
|
6
6
|
readonly game: Address;
|
|
7
7
|
readonly fleet: Address;
|
|
@@ -18,12 +18,12 @@ export interface OpenSignalGuard extends OpenSignalIntent {
|
|
|
18
18
|
readonly describes: string;
|
|
19
19
|
readonly dataHash?: never;
|
|
20
20
|
}
|
|
21
|
-
export declare function resolveOpenSignal(intent: OpenSignalIntent): Promise<{
|
|
21
|
+
export declare function resolveOpenSignal(programs: SageProgramAddresses, intent: OpenSignalIntent): Promise<{
|
|
22
22
|
address: Address;
|
|
23
23
|
character: Address;
|
|
24
24
|
}>;
|
|
25
25
|
export declare function openSignalAddresses(guard: OpenSignalGuard): readonly Address[];
|
|
26
|
-
export declare function validateOpenSignal(guard: OpenSignalGuard, accounts: ReadonlyMap<Address, RawAccount | undefined>, expectedAuthorityHash?: string): Promise<{
|
|
26
|
+
export declare function validateOpenSignal(programs: SageProgramAddresses, guard: OpenSignalGuard, accounts: ReadonlyMap<Address, RawAccount | undefined>, expectedAuthorityHash?: string): Promise<{
|
|
27
27
|
profileDebit: bigint;
|
|
28
28
|
profileReserve: bigint;
|
|
29
29
|
authorityHash: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-signal.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/open-signal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"open-signal.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/open-signal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAkB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,CAAC;AACjC,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAcnC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AACD,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;CAC3B;AACD,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,oBAAoB,EAC9B,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAWnD;AAID,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,GACrB,SAAS,OAAO,EAAE,CASpB;AACD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,EACtD,qBAAqB,CAAC,EAAE,MAAM;;;;GA0G/B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { hashAccountState } from './account-state.js';
|
|
2
|
-
import { openSignalInstruction, scanSignalSize
|
|
2
|
+
import { openSignalInstruction, scanSignalSize } from '../c4/open-signal.js';
|
|
3
3
|
export { openSignalInstruction };
|
|
4
4
|
import { SageSdkError } from '../../client/errors.js';
|
|
5
5
|
import { fleetAccountDefinition, deriveFleetAddress } from '../c4/fleet.js';
|
|
@@ -10,10 +10,10 @@ import { CLOCK_ADDRESS, readClock } from './faction-enrollment.js';
|
|
|
10
10
|
import { RENT_ADDRESS, readRent } from './rent.js';
|
|
11
11
|
import { directProfileKey, profileKeyExpired } from './profile-key.js';
|
|
12
12
|
import { requireStorageFundingKey } from './profile-storage-funding.js';
|
|
13
|
-
export async function resolveOpenSignal(intent) {
|
|
13
|
+
export async function resolveOpenSignal(programs, intent) {
|
|
14
14
|
const [address, character] = await Promise.all([
|
|
15
|
-
deriveScanLifecycleAddress('scanSignal', intent.game, intent.fleet),
|
|
16
|
-
findCharacterPda(intent.profile, intent.game),
|
|
15
|
+
deriveScanLifecycleAddress(programs, 'scanSignal', intent.game, intent.fleet),
|
|
16
|
+
findCharacterPda(programs, intent.profile, intent.game),
|
|
17
17
|
]);
|
|
18
18
|
return { address: address[0], character };
|
|
19
19
|
}
|
|
@@ -30,8 +30,8 @@ export function openSignalAddresses(guard) {
|
|
|
30
30
|
CLOCK_ADDRESS,
|
|
31
31
|
];
|
|
32
32
|
}
|
|
33
|
-
export async function validateOpenSignal(guard, accounts, expectedAuthorityHash) {
|
|
34
|
-
const resolved = await resolveOpenSignal(guard);
|
|
33
|
+
export async function validateOpenSignal(programs, guard, accounts, expectedAuthorityHash) {
|
|
34
|
+
const resolved = await resolveOpenSignal(programs, guard);
|
|
35
35
|
if (resolved.address !== guard.address ||
|
|
36
36
|
resolved.character !== guard.character)
|
|
37
37
|
fail(guard.address, 'Signal or Character PDA contradicts the Game, Fleet or Profile. Recreate the setup Plan from fresh canonical accounts.');
|
|
@@ -43,24 +43,23 @@ export async function validateOpenSignal(guard, accounts, expectedAuthorityHash)
|
|
|
43
43
|
};
|
|
44
44
|
if (accounts.get(guard.address))
|
|
45
45
|
fail(guard.address, 'The canonical signal already exists. Refetch and reuse it; setup cannot replace an existing signal.');
|
|
46
|
-
const fleet = fleetAccountDefinition.decode(required(guard.fleet));
|
|
46
|
+
const fleet = fleetAccountDefinition.decode(required(guard.fleet), programs);
|
|
47
47
|
if (fleet.game !== guard.game ||
|
|
48
48
|
fleet.ownerProfile !== guard.profile ||
|
|
49
|
-
(await deriveFleetAddress(fleet)) !== guard.fleet ||
|
|
49
|
+
(await deriveFleetAddress(programs, fleet)) !== guard.fleet ||
|
|
50
50
|
fleet.subProfile !== '11111111111111111111111111111111')
|
|
51
51
|
fail(guard.fleet, 'The Fleet has a different Game, owner, canonical PDA or delegated controller. Refetch a directly owned Fleet and recreate setup.');
|
|
52
|
-
const character = characterAccountDefinition.decode(required(guard.character));
|
|
52
|
+
const character = characterAccountDefinition.decode(required(guard.character), programs);
|
|
53
53
|
if (character.game !== guard.game ||
|
|
54
54
|
character.playerProfile !== guard.profile)
|
|
55
55
|
fail(guard.character, 'The owner/controller Character does not belong to this Game and Profile. Refetch the canonical Character and recreate setup.');
|
|
56
56
|
const profileRaw = required(guard.profile);
|
|
57
|
-
const profile = profileAccountDefinition.decode(profileRaw);
|
|
57
|
+
const profile = profileAccountDefinition.decode(profileRaw, programs);
|
|
58
58
|
const now = readClock(required(CLOCK_ADDRESS));
|
|
59
59
|
const key = directProfileKey(profile.keys, guard.keyIndex, guard.authority);
|
|
60
60
|
if (!key || profileKeyExpired(key, now))
|
|
61
61
|
fail(guard.profile, 'The selected direct Profile key is missing, mismatched or expired. Refetch the Profile, select a current key and recreate setup.');
|
|
62
|
-
if (key.scope !==
|
|
63
|
-
key.scope !== SAGE_PROGRAM_ADDRESS)
|
|
62
|
+
if (key.scope !== programs.playerProfile && key.scope !== programs.sage)
|
|
64
63
|
fail(guard.profile, 'The selected key has an unrelated program scope. Select a current Profile- or SAGE-scoped direct key and recreate setup; instruction permission acceptance remains chain-authoritative.');
|
|
65
64
|
const authorityHash = await hashAccountState(profileRaw.owner, new TextEncoder().encode(JSON.stringify([
|
|
66
65
|
profile.version,
|
|
@@ -78,7 +77,7 @@ export async function validateOpenSignal(guard, accounts, expectedAuthorityHash)
|
|
|
78
77
|
const profileDebit = rent(scanSignalSize());
|
|
79
78
|
const profileReserve = rent(profileRaw.data.length);
|
|
80
79
|
// Creating the signal always withdraws its rent from the Profile vault.
|
|
81
|
-
requireStorageFundingKey({
|
|
80
|
+
requireStorageFundingKey(programs, {
|
|
82
81
|
profileRaw,
|
|
83
82
|
authority: guard.authority,
|
|
84
83
|
keyIndex: guard.keyIndex,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-signal.js","sourceRoot":"","sources":["../../../src/internal/planning/open-signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,
|
|
1
|
+
{"version":3,"file":"open-signal.js","sourceRoot":"","sources":["../../../src/internal/planning/open-signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAKjC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAkBxE,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAA8B,EAC9B,MAAwB;IAExB,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7C,0BAA0B,CACxB,QAAQ,EACR,YAAY,EACZ,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,KAAK,CACb;QACD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC;KACxD,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;AAC5C,CAAC;AACD,SAAS,IAAI,CAAC,OAAgB,EAAE,OAAe;IAC7C,MAAM,IAAI,YAAY,CAAC,4BAA4B,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7E,CAAC;AACD,MAAM,UAAU,mBAAmB,CACjC,KAAsB;IAEtB,OAAO;QACL,KAAK,CAAC,OAAO;QACb,KAAK,CAAC,KAAK;QACX,KAAK,CAAC,OAAO;QACb,KAAK,CAAC,SAAS;QACf,YAAY;QACZ,aAAa;KACd,CAAC;AACJ,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAA8B,EAC9B,KAAsB,EACtB,QAAsD,EACtD,qBAA8B;IAE9B,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC1D,IACE,QAAQ,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;QAClC,QAAQ,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;QAEtC,IAAI,CACF,KAAK,CAAC,OAAO,EACb,wHAAwH,CACzH,CAAC;IACJ,MAAM,QAAQ,GAAG,CAAC,OAAgB,EAAc,EAAE;QAChD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU;YACxB,IAAI,CACF,OAAO,EACP,qGAAqG,CACtG,CAAC;QACJ,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CACF,KAAK,CAAC,OAAO,EACb,qGAAqG,CACtG,CAAC;IACJ,MAAM,KAAK,GAAG,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC7E,IACE,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;QACzB,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,OAAO;QACpC,CAAC,MAAM,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK;QAC3D,KAAK,CAAC,UAAU,KAAK,kCAAkC;QAEvD,IAAI,CACF,KAAK,CAAC,KAAK,EACX,kIAAkI,CACnI,CAAC;IACJ,MAAM,SAAS,GAAG,0BAA0B,CAAC,MAAM,CACjD,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EACzB,QAAQ,CACT,CAAC;IACF,IACE,SAAS,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;QAC7B,SAAS,CAAC,aAAa,KAAK,KAAK,CAAC,OAAO;QAEzC,IAAI,CACF,KAAK,CAAC,SAAS,EACf,8HAA8H,CAC/H,CAAC;IACJ,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,wBAAwB,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACtE,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5E,IAAI,CAAC,GAAG,IAAI,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC;QACrC,IAAI,CACF,KAAK,CAAC,OAAO,EACb,kIAAkI,CACnI,CAAC;IACJ,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,aAAa,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,IAAI;QACrE,IAAI,CACF,KAAK,CAAC,OAAO,EACb,yLAAyL,CAC1L,CAAC;IACJ,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAC1C,UAAU,CAAC,KAAK,EAChB,IAAI,WAAW,EAAE,CAAC,MAAM,CACtB,IAAI,CAAC,SAAS,CAAC;QACb,OAAO,CAAC,OAAO;QACf,OAAO,CAAC,YAAY;QACpB,OAAO,CAAC,YAAY;QACpB,GAAG,CAAC,OAAO;QACX,GAAG,CAAC,KAAK;QACT,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;KACzB,CAAC,CACH,CACF,CAAC;IACF,IACE,qBAAqB,KAAK,SAAS;QACnC,aAAa,KAAK,qBAAqB;QAEvC,IAAI,CACF,KAAK,CAAC,OAAO,EACb,gGAAgG,CACjG,CAAC;IACJ,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,wEAAwE;IACxE,wBAAwB,CAAC,QAAQ,EAAE;QACjC,UAAU;QACV,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,YAAY;QACZ,MAAM,EAAE,mBAAmB;KAC5B,CAAC,CAAC;IACH,IAAI,YAAY,GAAG,KAAK,CAAC,mBAAmB;QAC1C,IAAI,CACF,KAAK,CAAC,OAAO,EACb,wHAAwH,CACzH,CAAC;IACJ,IAAI,UAAU,CAAC,QAAQ,GAAG,cAAc,GAAG,YAAY;QACrD,IAAI,CACF,KAAK,CAAC,OAAO,EACb,gKAAgK,CACjK,CAAC;IACJ,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC;AACzD,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Address } from '@solana/kit';
|
|
2
|
-
import type { RawAccount } from '../../client/contracts.js';
|
|
2
|
+
import type { RawAccount, SageProgramAddresses } from '../../client/contracts.js';
|
|
3
3
|
/** How a planner names itself in the remedies it shares. */
|
|
4
4
|
export interface OwnStarbaseAction {
|
|
5
5
|
/** Completes "Refresh the canonical Character and …", e.g. `replan Fleet creation`. */
|
|
@@ -13,7 +13,7 @@ export interface OwnStarbaseAction {
|
|
|
13
13
|
* System, and the StarbasePlayer joining them. Unless `anyStarbase` is set, the
|
|
14
14
|
* Starbase must belong to the Profile's faction. `required` reads each account
|
|
15
15
|
* with the planner's own wording. */
|
|
16
|
-
export declare function readOwnStarbaseFacts(intent: {
|
|
16
|
+
export declare function readOwnStarbaseFacts(programs: SageProgramAddresses, intent: {
|
|
17
17
|
readonly game: Address;
|
|
18
18
|
readonly profile: Address;
|
|
19
19
|
readonly system: Address;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"own-starbase-facts.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/own-starbase-facts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"own-starbase-facts.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/own-starbase-facts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAWnC,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,uFAAuF;IACvF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,sFAAsF;IACtF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAMD;;;;;qCAKqC;AACrC,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,oBAAoB,EAC9B,MAAM,EAAE;IACN,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,EACD,QAAQ,EAAE;IACR,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC,EACD,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,UAAU,EACxD,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,CAAA;CAAO;;;;;;;;GAuE9C"}
|
|
@@ -13,20 +13,20 @@ function fail(address, message) {
|
|
|
13
13
|
* System, and the StarbasePlayer joining them. Unless `anyStarbase` is set, the
|
|
14
14
|
* Starbase must belong to the Profile's faction. `required` reads each account
|
|
15
15
|
* with the planner's own wording. */
|
|
16
|
-
export async function readOwnStarbaseFacts(intent, resolved, required, action, options = {}) {
|
|
16
|
+
export async function readOwnStarbaseFacts(programs, intent, resolved, required, action, options = {}) {
|
|
17
17
|
const profileRaw = required(resolved.profile, 'Profile');
|
|
18
|
-
const profile = profileAccountDefinition.decode(profileRaw);
|
|
19
|
-
const character = characterAccountDefinition.decode(required(resolved.character, 'Character'));
|
|
20
|
-
const faction = profileFactionAccountDefinition.decode(required(resolved.profileFaction, 'ProfileFaction'));
|
|
21
|
-
const system = starSystemAccountDefinition.decode(required(resolved.system, 'Star System'));
|
|
22
|
-
const player = starbasePlayerAccountDefinition.decode(required(resolved.starbasePlayer, 'StarbasePlayer'));
|
|
18
|
+
const profile = profileAccountDefinition.decode(profileRaw, programs);
|
|
19
|
+
const character = characterAccountDefinition.decode(required(resolved.character, 'Character'), programs);
|
|
20
|
+
const faction = profileFactionAccountDefinition.decode(required(resolved.profileFaction, 'ProfileFaction'), programs);
|
|
21
|
+
const system = starSystemAccountDefinition.decode(required(resolved.system, 'Star System'), programs);
|
|
22
|
+
const player = starbasePlayerAccountDefinition.decode(required(resolved.starbasePlayer, 'StarbasePlayer'), programs);
|
|
23
23
|
if (character.game !== intent.game ||
|
|
24
24
|
character.playerProfile !== intent.profile)
|
|
25
25
|
fail(resolved.character, `The Character belongs to a different Game or Profile. Refresh the canonical Character and ${action.replan}.`);
|
|
26
26
|
if (faction.profile !== intent.profile)
|
|
27
27
|
fail(resolved.profileFaction, `The faction membership belongs to a different Profile. Refresh the canonical membership ${action.before}.`);
|
|
28
28
|
if (system.game !== intent.game ||
|
|
29
|
-
(await deriveStarSystemAddress(system.game, system.systemId)) !==
|
|
29
|
+
(await deriveStarSystemAddress(programs, system.game, system.systemId)) !==
|
|
30
30
|
intent.system ||
|
|
31
31
|
!system.starbase)
|
|
32
32
|
fail(resolved.system, 'The selected System is not canonical for this Game or has no Starbase. Choose a valid Starbase System and replan.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"own-starbase-facts.js","sourceRoot":"","sources":["../../../src/internal/planning/own-starbase-facts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"own-starbase-facts.js","sourceRoot":"","sources":["../../../src/internal/planning/own-starbase-facts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Instruction } from '@solana/kit';
|
|
2
2
|
import type { PlanPrecondition, PlanStep } from '../../planning/index.js';
|
|
3
3
|
import { type GuardSchema } from './plan-fields.js';
|
|
4
|
+
import type { SageProgramAddresses } from '../../client/contracts.js';
|
|
4
5
|
/** Bytes one new cargo line (u16 cargo id, u64 amount) adds to a cargo pod. */
|
|
5
6
|
export declare const CARGO_LINE_BYTES = 10;
|
|
6
7
|
/** Instructions whose account storage the Profile funds. Each is evaluated in
|
|
@@ -8,7 +9,7 @@ export declare const CARGO_LINE_BYTES = 10;
|
|
|
8
9
|
export type StorageInstruction = 'deposit' | 'starbase-transfer' | 'within-fleet-transfer' | 'start-mining' | 'stop-mining' | 'stop-subwarp' | 'cancel-market-orders' | 'faction-trade' | 'start-subwarp' | 'warp-to-coordinate' | 'warp-lane' | 'start-crafting' | 'cancel-crafting' | 'apply-stimulant' | 'retrieve-loot' | 'recover-signal' | 'place-claim-stake' | 'claim-stake-building-changes' | 'start-claim-stake-transfer' | 'disband';
|
|
9
10
|
/** Which Profile-funded instruction this is, if any, the index of the account
|
|
10
11
|
* its guard names, whether it carries a guard, and its signing key's index. */
|
|
11
|
-
export declare function storageInstruction(instruction: Instruction): {
|
|
12
|
+
export declare function storageInstruction(programs: SageProgramAddresses, instruction: Instruction): {
|
|
12
13
|
readonly kind: StorageInstruction;
|
|
13
14
|
readonly primary: number;
|
|
14
15
|
readonly guarded: boolean;
|
|
@@ -25,5 +26,5 @@ export declare const PROFILE_STORAGE_FUNDING_SCHEMA: GuardSchema;
|
|
|
25
26
|
* for its Profile, signer and first resized account, so a saved Plan cannot
|
|
26
27
|
* drop or retarget its funding check; a guard without its instruction is
|
|
27
28
|
* refused too. */
|
|
28
|
-
export declare function validateProfileStorageFundingGuards(steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
|
|
29
|
+
export declare function validateProfileStorageFundingGuards(programs: SageProgramAddresses, steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
|
|
29
30
|
//# sourceMappingURL=profile-storage-funding-guard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-storage-funding-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/profile-storage-funding-guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"profile-storage-funding-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/profile-storage-funding-guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAuB1E,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC;oEACoE;AACpE,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,mBAAmB,GACnB,uBAAuB,GACvB,cAAc,GACd,aAAa,GACb,cAAc,GACd,sBAAsB,GACtB,eAAe,GACf,eAAe,GACf,oBAAoB,GACpB,WAAW,GACX,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,8BAA8B,GAC9B,4BAA4B,GAC5B,SAAS,CAAC;AA6Dd;+EAC+E;AAC/E,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,oBAAoB,EAC9B,WAAW,EAAE,WAAW,GAEtB;IACE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,GACD,SAAS,CAaZ;AAED;;uEAEuE;AACvE,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAC9C,gBAAgB,EAChB;IAAE,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAA;CAAE,CAC7C,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,WAe5C,CAAC;AAEF;;;kBAGkB;AAClB,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CA2BN"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { SageSdkError } from '../../client/errors.js';
|
|
2
2
|
import { APPLY_COMBAT_STIMULANT_DISCRIMINATOR, CANCEL_CRAFTING_PROCESS_DISCRIMINATOR, CANCEL_LOCAL_MARKET_ORDERS_DISCRIMINATOR, DEPOSIT_CARGO_TO_GAME_DISCRIMINATOR, DISBAND_FLEET_DISCRIMINATOR, PLACE_CLAIM_STAKE_BUILDINGS_DISCRIMINATOR, PLACE_CLAIM_STAKE_INSTANCE_WITH_HUB_DISCRIMINATOR, RECOVER_SIGNAL_DISCRIMINATOR, RETRIEVE_LOOT_DISCRIMINATOR, START_CLAIM_STAKES_FLEET_TRANSFER_DISCRIMINATOR, START_CRAFTING_PROCESS_DISCRIMINATOR, START_MINING_ASTEROID_DISCRIMINATOR, START_SUBWARP_DISCRIMINATOR, STOP_MINING_ASTEROID_DISCRIMINATOR, STOP_SUBWARP_DISCRIMINATOR, TRADE_FACTION_MARKET_DISCRIMINATOR, TRANSFER_CARGO_TO_FLEET_DISCRIMINATOR, TRANSFER_CARGO_WITHIN_FLEET_DISCRIMINATOR, WARP_LANE_DISCRIMINATOR, WARP_TO_COORDINATE_DISCRIMINATOR, } from '../c4/discriminators.js';
|
|
3
|
-
import { SAGE_PROGRAM_ADDRESS } from '../c4/runtime-bindings.js';
|
|
4
3
|
import { MAX_U64, } from './plan-fields.js';
|
|
5
4
|
/** Bytes one new cargo line (u16 cargo id, u64 amount) adds to a cargo pod. */
|
|
6
5
|
export const CARGO_LINE_BYTES = 10;
|
|
@@ -64,8 +63,8 @@ const STORAGE_INSTRUCTIONS = [
|
|
|
64
63
|
];
|
|
65
64
|
/** Which Profile-funded instruction this is, if any, the index of the account
|
|
66
65
|
* its guard names, whether it carries a guard, and its signing key's index. */
|
|
67
|
-
export function storageInstruction(instruction) {
|
|
68
|
-
if (instruction.programAddress !==
|
|
66
|
+
export function storageInstruction(programs, instruction) {
|
|
67
|
+
if (instruction.programAddress !== programs.sage)
|
|
69
68
|
return undefined;
|
|
70
69
|
const entry = STORAGE_INSTRUCTIONS.find(([, discriminator]) => discriminator.every((byte, index) => instruction.data?.[index] === byte));
|
|
71
70
|
return (entry && {
|
|
@@ -95,10 +94,10 @@ export const PROFILE_STORAGE_FUNDING_SCHEMA = {
|
|
|
95
94
|
* for its Profile, signer and first resized account, so a saved Plan cannot
|
|
96
95
|
* drop or retarget its funding check; a guard without its instruction is
|
|
97
96
|
* refused too. */
|
|
98
|
-
export function validateProfileStorageFundingGuards(steps, guards) {
|
|
97
|
+
export function validateProfileStorageFundingGuards(programs, steps, guards) {
|
|
99
98
|
const remaining = guards.filter((guard) => guard.kind === 'profile-storage-funding');
|
|
100
99
|
for (const { instruction } of steps) {
|
|
101
|
-
const known = storageInstruction(instruction);
|
|
100
|
+
const known = storageInstruction(programs, instruction);
|
|
102
101
|
if (!known?.guarded)
|
|
103
102
|
continue;
|
|
104
103
|
const metas = instruction.accounts;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-storage-funding-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/profile-storage-funding-guard.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EACL,oCAAoC,EACpC,qCAAqC,EACrC,wCAAwC,EACxC,mCAAmC,EACnC,2BAA2B,EAC3B,yCAAyC,EACzC,iDAAiD,EACjD,4BAA4B,EAC5B,2BAA2B,EAC3B,+CAA+C,EAC/C,oCAAoC,EACpC,mCAAmC,EACnC,2BAA2B,EAC3B,kCAAkC,EAClC,0BAA0B,EAC1B,kCAAkC,EAClC,qCAAqC,EACrC,yCAAyC,EACzC,uBAAuB,EACvB,gCAAgC,GACjC,MAAM,yBAAyB,CAAC;AACjC,OAAO,
|
|
1
|
+
{"version":3,"file":"profile-storage-funding-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/profile-storage-funding-guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Address } from '@solana/kit';
|
|
2
|
-
import type { RawAccount } from '../../client/contracts.js';
|
|
2
|
+
import type { RawAccount, SageProgramAddresses } from '../../client/contracts.js';
|
|
3
3
|
import type { ProfileStorageFundingGuard } from './profile-storage-funding-guard.js';
|
|
4
4
|
export interface ProfileStorageFunding {
|
|
5
5
|
readonly profileDebit: bigint;
|
|
@@ -10,7 +10,7 @@ export interface ProfileStorageFunding {
|
|
|
10
10
|
* signing key, which must be Profile AUTH or also hold `drainSolVault` (any
|
|
11
11
|
* scope). A delegated or certificate key is left to the program. Returns
|
|
12
12
|
* whether the key is a direct Profile key. */
|
|
13
|
-
export declare function requireStorageFundingKey(input: {
|
|
13
|
+
export declare function requireStorageFundingKey(programs: SageProgramAddresses, input: {
|
|
14
14
|
readonly profileRaw: RawAccount;
|
|
15
15
|
readonly authority: Address;
|
|
16
16
|
readonly keyIndex: number;
|
|
@@ -20,7 +20,7 @@ export declare function requireStorageFundingKey(input: {
|
|
|
20
20
|
/** Checks that the signing key and the Profile can fund one action's storage
|
|
21
21
|
* debit. A zero debit withdraws nothing, so it needs neither `drainSolVault`
|
|
22
22
|
* nor Profile excess lamports. */
|
|
23
|
-
export declare function checkProfileStorageFunding(input: {
|
|
23
|
+
export declare function checkProfileStorageFunding(programs: SageProgramAddresses, input: {
|
|
24
24
|
readonly profileRaw: RawAccount;
|
|
25
25
|
readonly rentRaw: RawAccount;
|
|
26
26
|
readonly authority: Address;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-storage-funding.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/profile-storage-funding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"profile-storage-funding.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/profile-storage-funding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAQnC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAMrF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAMD;;;;8CAI8C;AAC9C,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE;IACL,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,GACA,OAAO,CAiBT;AAED;;kCAEkC;AAClC,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,oBAAoB,EAC9B,KAAK,EAAE;IACL,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC,GACA,qBAAqB,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAmBtD;AAED,kFAAkF;AAClF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG;QAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;CACxE,GAAG;IACF,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,CAiBA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { SageSdkError } from '../../client/errors.js';
|
|
2
2
|
import { profileAccountDefinition } from '../c4/identity.js';
|
|
3
|
-
import { PROFILE_SCOPE } from '../c4/profile-permissions.js';
|
|
4
3
|
import { directProfileKey, grantsPermission, hasPermissionBit, } from './profile-key.js';
|
|
5
4
|
import { readRent } from './rent.js';
|
|
6
5
|
// Profile drainSolVault permission bit, any scope.
|
|
@@ -13,11 +12,11 @@ function fail(address, message) {
|
|
|
13
12
|
* signing key, which must be Profile AUTH or also hold `drainSolVault` (any
|
|
14
13
|
* scope). A delegated or certificate key is left to the program. Returns
|
|
15
14
|
* whether the key is a direct Profile key. */
|
|
16
|
-
export function requireStorageFundingKey(input) {
|
|
17
|
-
const key = directProfileKey(profileAccountDefinition.decode(input.profileRaw).keys, input.keyIndex, input.authority);
|
|
15
|
+
export function requireStorageFundingKey(programs, input) {
|
|
16
|
+
const key = directProfileKey(profileAccountDefinition.decode(input.profileRaw, programs).keys, input.keyIndex, input.authority);
|
|
18
17
|
if (input.profileDebit > 0n &&
|
|
19
18
|
key &&
|
|
20
|
-
!grantsPermission(key,
|
|
19
|
+
!grantsPermission(key, programs.playerProfile, 0n) &&
|
|
21
20
|
!hasPermissionBit(key, DRAIN_SOL_VAULT))
|
|
22
21
|
fail(input.profileRaw.address, `The ${input.action} needs ${input.profileDebit} Profile lamports for account storage, which the program withdraws from the Profile vault with the signing key; this key lacks drainSolVault. Use a direct Profile AUTH key or a key that also holds drainSolVault, then replan.`);
|
|
23
22
|
return key !== undefined;
|
|
@@ -25,14 +24,14 @@ export function requireStorageFundingKey(input) {
|
|
|
25
24
|
/** Checks that the signing key and the Profile can fund one action's storage
|
|
26
25
|
* debit. A zero debit withdraws nothing, so it needs neither `drainSolVault`
|
|
27
26
|
* nor Profile excess lamports. */
|
|
28
|
-
export function checkProfileStorageFunding(input) {
|
|
27
|
+
export function checkProfileStorageFunding(programs, input) {
|
|
29
28
|
const { profileRaw, action, profileDebit } = input;
|
|
30
29
|
const rent = readRent(input.rentRaw);
|
|
31
30
|
if (input.maximumProfileDebit !== undefined &&
|
|
32
31
|
profileDebit > input.maximumProfileDebit)
|
|
33
32
|
fail(profileRaw.address, `The ${action} now needs ${profileDebit} Profile lamports for account storage, above the ${input.maximumProfileDebit} this Plan approved. An earlier action in the same Plan may use storage it was planned against: execute the actions as separate Plans, or refresh the accounts and replan, then review the storage funding before signing.`);
|
|
34
33
|
const profileReserve = rent(profileRaw.data.length);
|
|
35
|
-
const direct = requireStorageFundingKey(input);
|
|
34
|
+
const direct = requireStorageFundingKey(programs, input);
|
|
36
35
|
if (profileDebit > 0n && profileRaw.lamports < profileReserve + profileDebit)
|
|
37
36
|
fail(profileRaw.address, `The ${action} needs ${profileDebit} Profile lamports for account storage above the Profile's own ${profileReserve}-lamport rent reserve; the Profile holds ${profileRaw.lamports}. Add ${profileReserve + profileDebit - profileRaw.lamports} lamports to the Profile, then replan.`);
|
|
38
37
|
return { profileDebit, profileReserve, direct };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-storage-funding.js","sourceRoot":"","sources":["../../../src/internal/planning/profile-storage-funding.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"profile-storage-funding.js","sourceRoot":"","sources":["../../../src/internal/planning/profile-storage-funding.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { SageProgramAddresses } from '../../client/contracts.js';
|
|
2
|
+
/** Whether a Plan targets the deployment whose program effects the debit
|
|
3
|
+
* inspectors were audited against.
|
|
4
|
+
*
|
|
5
|
+
* Debit bounds rest on audits of one deployment's executables. Matching the
|
|
6
|
+
* instruction encoding, account roles and owners does not establish another
|
|
7
|
+
* deployment's debit behaviour, so inspectors report every other deployment as
|
|
8
|
+
* unavailable until its effects are qualified (D111, D115).
|
|
9
|
+
*/
|
|
10
|
+
export declare function isDebitQualifiedDeployment(programs: SageProgramAddresses): boolean;
|
|
11
|
+
//# sourceMappingURL=qualified-deployment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qualified-deployment.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/qualified-deployment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGtE;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAMT"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ZINK_PTR_PROGRAM_ADDRESSES } from '../../client/deployments.js';
|
|
2
|
+
/** Whether a Plan targets the deployment whose program effects the debit
|
|
3
|
+
* inspectors were audited against.
|
|
4
|
+
*
|
|
5
|
+
* Debit bounds rest on audits of one deployment's executables. Matching the
|
|
6
|
+
* instruction encoding, account roles and owners does not establish another
|
|
7
|
+
* deployment's debit behaviour, so inspectors report every other deployment as
|
|
8
|
+
* unavailable until its effects are qualified (D111, D115).
|
|
9
|
+
*/
|
|
10
|
+
export function isDebitQualifiedDeployment(programs) {
|
|
11
|
+
return (programs.sage === ZINK_PTR_PROGRAM_ADDRESSES.sage &&
|
|
12
|
+
programs.playerProfile === ZINK_PTR_PROGRAM_ADDRESSES.playerProfile &&
|
|
13
|
+
programs.profileFaction === ZINK_PTR_PROGRAM_ADDRESSES.profileFaction);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=qualified-deployment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qualified-deployment.js","sourceRoot":"","sources":["../../../src/internal/planning/qualified-deployment.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAEzE;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,QAA8B;IAE9B,OAAO,CACL,QAAQ,CAAC,IAAI,KAAK,0BAA0B,CAAC,IAAI;QACjD,QAAQ,CAAC,aAAa,KAAK,0BAA0B,CAAC,aAAa;QACnE,QAAQ,CAAC,cAAc,KAAK,0BAA0B,CAAC,cAAc,CACtE,CAAC;AACJ,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { RawAccount } from '../../client/contracts.js';
|
|
1
|
+
import type { RawAccount, SageProgramAddresses } from '../../client/contracts.js';
|
|
2
2
|
/** Preserve the complete pinned Recipe encoding except its shared usage counter. */
|
|
3
|
-
export declare function hashRecipeConfiguration(account: RawAccount): Promise<string>;
|
|
3
|
+
export declare function hashRecipeConfiguration(programs: SageProgramAddresses, account: RawAccount): Promise<string>;
|
|
4
4
|
/** Each Crafting Process start consumes exactly one Recipe use, whatever its
|
|
5
5
|
* quantity; completing or cancelling an existing job reserves none. A Recipe is
|
|
6
6
|
* usable only while its usage count is below its limit, so a stored limit of
|
|
7
7
|
* `0` is never usable. */
|
|
8
|
-
export declare function validateRecipeUsage(account: RawAccount, requiredUses: bigint): void;
|
|
8
|
+
export declare function validateRecipeUsage(programs: SageProgramAddresses, account: RawAccount, requiredUses: bigint): void;
|
|
9
9
|
//# sourceMappingURL=recipe-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipe-state.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/recipe-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"recipe-state.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/recipe-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AASnC,oFAAoF;AACpF,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,MAAM,CAAC,CAKjB;AAED;;;0BAG0B;AAC1B,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,EAAE,UAAU,EACnB,YAAY,EAAE,MAAM,GACnB,IAAI,CAWN"}
|
|
@@ -2,8 +2,8 @@ import { SageSdkError } from '../../client/errors.js';
|
|
|
2
2
|
import { readRecipeName, readRecipeUsage, RECIPE_USAGE_COUNT_OFFSET, } from '../c4/crafting.js';
|
|
3
3
|
import { hashAccountState } from './account-state.js';
|
|
4
4
|
/** Preserve the complete pinned Recipe encoding except its shared usage counter. */
|
|
5
|
-
export async function hashRecipeConfiguration(account) {
|
|
6
|
-
readRecipeUsage(account);
|
|
5
|
+
export async function hashRecipeConfiguration(programs, account) {
|
|
6
|
+
readRecipeUsage(programs, account);
|
|
7
7
|
const data = new Uint8Array(account.data);
|
|
8
8
|
data.fill(0, RECIPE_USAGE_COUNT_OFFSET, RECIPE_USAGE_COUNT_OFFSET + 8);
|
|
9
9
|
return hashAccountState(account.owner, data);
|
|
@@ -12,12 +12,12 @@ export async function hashRecipeConfiguration(account) {
|
|
|
12
12
|
* quantity; completing or cancelling an existing job reserves none. A Recipe is
|
|
13
13
|
* usable only while its usage count is below its limit, so a stored limit of
|
|
14
14
|
* `0` is never usable. */
|
|
15
|
-
export function validateRecipeUsage(account, requiredUses) {
|
|
15
|
+
export function validateRecipeUsage(programs, account, requiredUses) {
|
|
16
16
|
if (requiredUses === 0n)
|
|
17
17
|
return;
|
|
18
|
-
const recipe = readRecipeUsage(account);
|
|
18
|
+
const recipe = readRecipeUsage(programs, account);
|
|
19
19
|
const remaining = recipe.limit > recipe.count ? recipe.limit - recipe.count : 0n;
|
|
20
20
|
if (requiredUses > remaining)
|
|
21
|
-
throw new SageSdkError('ACTION_PRECONDITION_FAILED', `Recipe ${readRecipeName(account) || account.address} usage limit has remaining ${remaining}, but a Crafting Process start requested ${requiredUses}. The Recipe's uses are exhausted; choose another active Recipe, then recreate the Plan before retrying.`, { address: account.address });
|
|
21
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', `Recipe ${readRecipeName(programs, account) || account.address} usage limit has remaining ${remaining}, but a Crafting Process start requested ${requiredUses}. The Recipe's uses are exhausted; choose another active Recipe, then recreate the Plan before retrying.`, { address: account.address });
|
|
22
22
|
}
|
|
23
23
|
//# sourceMappingURL=recipe-state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipe-state.js","sourceRoot":"","sources":["../../../src/internal/planning/recipe-state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"recipe-state.js","sourceRoot":"","sources":["../../../src/internal/planning/recipe-state.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EACL,cAAc,EACd,eAAe,EACf,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAA8B,EAC9B,OAAmB;IAEnB,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,yBAAyB,EAAE,yBAAyB,GAAG,CAAC,CAAC,CAAC;IACvE,OAAO,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED;;;0BAG0B;AAC1B,MAAM,UAAU,mBAAmB,CACjC,QAA8B,EAC9B,OAAmB,EACnB,YAAoB;IAEpB,IAAI,YAAY,KAAK,EAAE;QAAE,OAAO;IAChC,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,SAAS,GACb,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,IAAI,YAAY,GAAG,SAAS;QAC1B,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,UAAU,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,8BAA8B,SAAS,4CAA4C,YAAY,0GAA0G,EACvQ,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAC7B,CAAC;AACN,CAAC"}
|