@aephia/atlas-kit 0.6.0-next.11 → 0.6.0-next.110
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/cargo/actions/deposit.d.ts +1 -1
- package/dist/cargo/actions/deposit.d.ts.map +1 -1
- package/dist/cargo/actions/deposit.js +26 -115
- package/dist/cargo/actions/deposit.js.map +1 -1
- package/dist/cargo/actions/index.d.ts.map +1 -1
- package/dist/cargo/actions/index.js +15 -37
- package/dist/cargo/actions/index.js.map +1 -1
- package/dist/cargo/actions/wallet-context.d.ts +51 -2
- package/dist/cargo/actions/wallet-context.d.ts.map +1 -1
- package/dist/cargo/actions/wallet-context.js +125 -2
- package/dist/cargo/actions/wallet-context.js.map +1 -1
- package/dist/cargo/actions/wallet-token.d.ts +1 -6
- package/dist/cargo/actions/wallet-token.d.ts.map +1 -1
- package/dist/cargo/actions/wallet-token.js +0 -53
- package/dist/cargo/actions/wallet-token.js.map +1 -1
- package/dist/cargo/actions/withdrawal.d.ts.map +1 -1
- package/dist/cargo/actions/withdrawal.js +37 -162
- package/dist/cargo/actions/withdrawal.js.map +1 -1
- package/dist/claim-stakes/actions/index.d.ts +13 -0
- package/dist/claim-stakes/actions/index.d.ts.map +1 -1
- package/dist/claim-stakes/actions/index.js +373 -544
- package/dist/claim-stakes/actions/index.js.map +1 -1
- package/dist/claim-stakes/index.d.ts +14 -0
- package/dist/claim-stakes/index.d.ts.map +1 -1
- package/dist/claim-stakes/index.js +23 -2
- package/dist/claim-stakes/index.js.map +1 -1
- package/dist/client/context.d.ts.map +1 -1
- package/dist/client/context.js +1 -1
- package/dist/client/context.js.map +1 -1
- package/dist/client/contracts.d.ts +16 -6
- package/dist/client/contracts.d.ts.map +1 -1
- package/dist/client/errors.d.ts +6 -2
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +31 -1
- package/dist/client/errors.js.map +1 -1
- package/dist/client/index.d.ts +35 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +35 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/rpc-subscription-provider.d.ts +35 -0
- package/dist/client/rpc-subscription-provider.d.ts.map +1 -0
- package/dist/client/rpc-subscription-provider.js +190 -0
- package/dist/client/rpc-subscription-provider.js.map +1 -0
- package/dist/combat/actions/index.d.ts +2 -2
- package/dist/combat/actions/index.d.ts.map +1 -1
- package/dist/combat/actions/index.js +192 -224
- package/dist/combat/actions/index.js.map +1 -1
- package/dist/combat/index.d.ts +4 -3
- package/dist/combat/index.d.ts.map +1 -1
- package/dist/combat/index.js +3 -2
- package/dist/combat/index.js.map +1 -1
- package/dist/crafting/actions/index.d.ts +11 -0
- package/dist/crafting/actions/index.d.ts.map +1 -1
- package/dist/crafting/actions/index.js +175 -283
- package/dist/crafting/actions/index.js.map +1 -1
- package/dist/crafting/index.d.ts +33 -3
- package/dist/crafting/index.d.ts.map +1 -1
- package/dist/crafting/index.js +45 -16
- package/dist/crafting/index.js.map +1 -1
- package/dist/factions/actions/index.d.ts +1 -0
- package/dist/factions/actions/index.d.ts.map +1 -1
- package/dist/factions/actions/index.js +2 -1
- package/dist/factions/actions/index.js.map +1 -1
- package/dist/factions/index.d.ts +1 -1
- package/dist/factions/index.d.ts.map +1 -1
- package/dist/factions/index.js +14 -8
- package/dist/factions/index.js.map +1 -1
- package/dist/factions/profile-faction.d.ts +20 -8
- package/dist/factions/profile-faction.d.ts.map +1 -1
- package/dist/factions/profile-faction.js +20 -8
- package/dist/factions/profile-faction.js.map +1 -1
- package/dist/fleets/actions/add-ship.d.ts +35 -0
- package/dist/fleets/actions/add-ship.d.ts.map +1 -0
- package/dist/fleets/actions/add-ship.js +149 -0
- package/dist/fleets/actions/add-ship.js.map +1 -0
- package/dist/fleets/actions/create-fleet.d.ts +36 -0
- package/dist/fleets/actions/create-fleet.d.ts.map +1 -0
- package/dist/fleets/actions/create-fleet.js +138 -0
- package/dist/fleets/actions/create-fleet.js.map +1 -0
- package/dist/fleets/actions/crew-transfer.d.ts +41 -0
- package/dist/fleets/actions/crew-transfer.d.ts.map +1 -0
- package/dist/fleets/actions/crew-transfer.js +114 -0
- package/dist/fleets/actions/crew-transfer.js.map +1 -0
- package/dist/fleets/actions/dock-bounds.d.ts +38 -0
- package/dist/fleets/actions/dock-bounds.d.ts.map +1 -0
- package/dist/fleets/actions/dock-bounds.js +46 -0
- package/dist/fleets/actions/dock-bounds.js.map +1 -0
- package/dist/fleets/actions/index.d.ts +37 -16
- package/dist/fleets/actions/index.d.ts.map +1 -1
- package/dist/fleets/actions/index.js +303 -284
- package/dist/fleets/actions/index.js.map +1 -1
- package/dist/fleets/actions/respawn.d.ts +38 -0
- package/dist/fleets/actions/respawn.d.ts.map +1 -0
- package/dist/fleets/actions/respawn.js +122 -0
- package/dist/fleets/actions/respawn.js.map +1 -0
- package/dist/fleets/actions/ship-import.d.ts.map +1 -1
- package/dist/fleets/actions/ship-import.js +59 -76
- package/dist/fleets/actions/ship-import.js.map +1 -1
- package/dist/fleets/cooldown.d.ts +44 -0
- package/dist/fleets/cooldown.d.ts.map +1 -0
- package/dist/fleets/cooldown.js +43 -0
- package/dist/fleets/cooldown.js.map +1 -0
- package/dist/fleets/coordinate-warp-estimate.d.ts +70 -0
- package/dist/fleets/coordinate-warp-estimate.d.ts.map +1 -0
- package/dist/fleets/coordinate-warp-estimate.js +46 -0
- package/dist/fleets/coordinate-warp-estimate.js.map +1 -0
- package/dist/fleets/index.d.ts +35 -0
- package/dist/fleets/index.d.ts.map +1 -1
- package/dist/fleets/index.js +52 -2
- package/dist/fleets/index.js.map +1 -1
- package/dist/fleets/movement-arithmetic.d.ts +21 -0
- package/dist/fleets/movement-arithmetic.d.ts.map +1 -0
- package/dist/fleets/movement-arithmetic.js +41 -0
- package/dist/fleets/movement-arithmetic.js.map +1 -0
- package/dist/fleets/subwarp-estimate.d.ts +70 -0
- package/dist/fleets/subwarp-estimate.d.ts.map +1 -0
- package/dist/fleets/subwarp-estimate.js +38 -0
- package/dist/fleets/subwarp-estimate.js.map +1 -0
- package/dist/fleets/travel-profile.d.ts +102 -0
- package/dist/fleets/travel-profile.d.ts.map +1 -0
- package/dist/fleets/travel-profile.js +120 -0
- package/dist/fleets/travel-profile.js.map +1 -0
- package/dist/fleets/warp-lane-estimate.d.ts +59 -0
- package/dist/fleets/warp-lane-estimate.d.ts.map +1 -0
- package/dist/fleets/warp-lane-estimate.js +36 -0
- package/dist/fleets/warp-lane-estimate.js.map +1 -0
- package/dist/fleets/warp-lane-policy.d.ts +68 -0
- package/dist/fleets/warp-lane-policy.d.ts.map +1 -0
- package/dist/fleets/warp-lane-policy.js +91 -0
- package/dist/fleets/warp-lane-policy.js.map +1 -0
- package/dist/fleets/warp-lane-toll.d.ts +55 -0
- package/dist/fleets/warp-lane-toll.d.ts.map +1 -0
- package/dist/fleets/warp-lane-toll.js +79 -0
- package/dist/fleets/warp-lane-toll.js.map +1 -0
- package/dist/identity/actions/index.d.ts +3 -3
- package/dist/identity/actions/index.d.ts.map +1 -1
- package/dist/identity/actions/index.js +50 -28
- package/dist/identity/actions/index.js.map +1 -1
- package/dist/identity/index.d.ts +12 -2
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +10 -1
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/permissions.d.ts +11 -2
- package/dist/identity/permissions.d.ts.map +1 -1
- package/dist/identity/permissions.js +13 -4
- package/dist/identity/permissions.js.map +1 -1
- package/dist/identity/research-state.d.ts +60 -0
- package/dist/identity/research-state.d.ts.map +1 -0
- package/dist/identity/research-state.js +68 -0
- package/dist/identity/research-state.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -3
- package/dist/index.js.map +1 -1
- package/dist/internal/c4/account-decoding.d.ts +12 -0
- package/dist/internal/c4/account-decoding.d.ts.map +1 -0
- package/dist/internal/c4/account-decoding.js +36 -0
- package/dist/internal/c4/account-decoding.js.map +1 -0
- package/dist/internal/c4/cargo-bytes-config.d.ts +7 -0
- package/dist/internal/c4/cargo-bytes-config.d.ts.map +1 -0
- package/dist/internal/c4/cargo-bytes-config.js +19 -0
- package/dist/internal/c4/cargo-bytes-config.js.map +1 -0
- package/dist/internal/c4/character-modifier.d.ts +1 -1
- package/dist/internal/c4/character-modifier.d.ts.map +1 -1
- package/dist/internal/c4/character-registration.d.ts +2 -0
- package/dist/internal/c4/character-registration.d.ts.map +1 -1
- package/dist/internal/c4/character-registration.js +2 -0
- package/dist/internal/c4/character-registration.js.map +1 -1
- package/dist/internal/c4/character.d.ts +155 -0
- package/dist/internal/c4/character.d.ts.map +1 -0
- package/dist/internal/c4/character.js +79 -0
- package/dist/internal/c4/character.js.map +1 -0
- package/dist/internal/c4/claim-stake-configuration.js +4 -2
- package/dist/internal/c4/claim-stake-configuration.js.map +1 -1
- package/dist/internal/c4/claim-stake-definitions.d.ts +4 -4
- package/dist/internal/c4/claim-stake-definitions.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake-definitions.js.map +1 -1
- package/dist/internal/c4/claim-stake.d.ts +4 -27
- package/dist/internal/c4/claim-stake.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake.js +30 -41
- package/dist/internal/c4/claim-stake.js.map +1 -1
- package/dist/internal/c4/combat.d.ts +1 -82
- package/dist/internal/c4/combat.d.ts.map +1 -1
- package/dist/internal/c4/combat.js +10 -171
- package/dist/internal/c4/combat.js.map +1 -1
- package/dist/internal/c4/crafting-process-codec.d.ts +13 -0
- package/dist/internal/c4/crafting-process-codec.d.ts.map +1 -0
- package/dist/internal/c4/crafting-process-codec.js +34 -0
- package/dist/internal/c4/crafting-process-codec.js.map +1 -0
- package/dist/internal/c4/crafting.d.ts +25 -33
- package/dist/internal/c4/crafting.d.ts.map +1 -1
- package/dist/internal/c4/crafting.js +61 -49
- package/dist/internal/c4/crafting.js.map +1 -1
- package/dist/internal/c4/currency-cache.d.ts +6 -0
- package/dist/internal/c4/currency-cache.d.ts.map +1 -0
- package/dist/internal/c4/currency-cache.js +30 -0
- package/dist/internal/c4/currency-cache.js.map +1 -0
- package/dist/internal/c4/docking-funding.d.ts +4 -0
- package/dist/internal/c4/docking-funding.d.ts.map +1 -0
- package/dist/internal/c4/docking-funding.js +11 -0
- package/dist/internal/c4/docking-funding.js.map +1 -0
- package/dist/internal/c4/faction-adapter.d.ts +12 -0
- package/dist/internal/c4/faction-adapter.d.ts.map +1 -0
- package/dist/internal/c4/faction-adapter.js +52 -0
- package/dist/internal/c4/faction-adapter.js.map +1 -0
- package/dist/internal/c4/faction-epoch-meter.d.ts +10 -0
- package/dist/internal/c4/faction-epoch-meter.d.ts.map +1 -0
- package/dist/internal/c4/faction-epoch-meter.js +31 -0
- package/dist/internal/c4/faction-epoch-meter.js.map +1 -0
- package/dist/internal/c4/faction-treasury.d.ts +23 -0
- package/dist/internal/c4/faction-treasury.d.ts.map +1 -0
- package/dist/internal/c4/faction-treasury.js +48 -0
- package/dist/internal/c4/faction-treasury.js.map +1 -0
- package/dist/internal/c4/faction.d.ts +21 -0
- package/dist/internal/c4/faction.d.ts.map +1 -0
- package/dist/internal/c4/faction.js +23 -0
- package/dist/internal/c4/faction.js.map +1 -0
- package/dist/internal/c4/factions.d.ts +9 -57
- package/dist/internal/c4/factions.d.ts.map +1 -1
- package/dist/internal/c4/factions.js +29 -156
- package/dist/internal/c4/factions.js.map +1 -1
- package/dist/internal/c4/fleet-arrival.d.ts +28 -0
- package/dist/internal/c4/fleet-arrival.d.ts.map +1 -0
- package/dist/internal/c4/fleet-arrival.js +42 -0
- package/dist/internal/c4/fleet-arrival.js.map +1 -0
- package/dist/internal/c4/fleet-creation.d.ts +7 -0
- package/dist/internal/c4/fleet-creation.d.ts.map +1 -0
- package/dist/internal/c4/fleet-creation.js +180 -0
- package/dist/internal/c4/fleet-creation.js.map +1 -0
- package/dist/internal/c4/fleet-crew-binding.d.ts +9 -0
- package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
- package/dist/internal/c4/fleet-crew-binding.js +20 -3
- package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
- package/dist/internal/c4/fleet-respawn.d.ts +17 -0
- package/dist/internal/c4/fleet-respawn.d.ts.map +1 -0
- package/dist/internal/c4/fleet-respawn.js +62 -0
- package/dist/internal/c4/fleet-respawn.js.map +1 -0
- package/dist/internal/c4/fleet-ship-assembly.d.ts +11 -0
- package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -0
- package/dist/internal/c4/fleet-ship-assembly.js +44 -0
- package/dist/internal/c4/fleet-ship-assembly.js.map +1 -0
- package/dist/internal/c4/fleet.d.ts +45 -19
- package/dist/internal/c4/fleet.d.ts.map +1 -1
- package/dist/internal/c4/fleet.js +37 -29
- package/dist/internal/c4/fleet.js.map +1 -1
- package/dist/internal/c4/game-definition-layout.d.ts +2 -0
- package/dist/internal/c4/game-definition-layout.d.ts.map +1 -1
- package/dist/internal/c4/game-definition-layout.js +4 -0
- package/dist/internal/c4/game-definition-layout.js.map +1 -1
- package/dist/internal/c4/game.d.ts +47 -12
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +110 -21
- package/dist/internal/c4/game.js.map +1 -1
- package/dist/internal/c4/identity.d.ts +2 -152
- package/dist/internal/c4/identity.d.ts.map +1 -1
- package/dist/internal/c4/identity.js +6 -110
- package/dist/internal/c4/identity.js.map +1 -1
- package/dist/internal/c4/local-market-order.d.ts +31 -0
- package/dist/internal/c4/local-market-order.d.ts.map +1 -0
- package/dist/internal/c4/local-market-order.js +47 -0
- package/dist/internal/c4/local-market-order.js.map +1 -0
- package/dist/internal/c4/loot-layout.js +1 -1
- package/dist/internal/c4/loot-layout.js.map +1 -1
- package/dist/internal/c4/loot.d.ts +58 -0
- package/dist/internal/c4/loot.d.ts.map +1 -0
- package/dist/internal/c4/loot.js +130 -0
- package/dist/internal/c4/loot.js.map +1 -0
- package/dist/internal/c4/loyalty.d.ts +0 -27
- package/dist/internal/c4/loyalty.d.ts.map +1 -1
- package/dist/internal/c4/loyalty.js +14 -43
- package/dist/internal/c4/loyalty.js.map +1 -1
- package/dist/internal/c4/market.d.ts +2 -38
- package/dist/internal/c4/market.d.ts.map +1 -1
- package/dist/internal/c4/market.js +13 -51
- package/dist/internal/c4/market.js.map +1 -1
- package/dist/internal/c4/mining-instructions.d.ts +2 -0
- package/dist/internal/c4/mining-instructions.d.ts.map +1 -0
- package/dist/internal/c4/mining-instructions.js +3 -0
- package/dist/internal/c4/mining-instructions.js.map +1 -0
- package/dist/internal/c4/open-signal.d.ts +8 -0
- package/dist/internal/c4/open-signal.d.ts.map +1 -0
- package/dist/internal/c4/open-signal.js +37 -0
- package/dist/internal/c4/open-signal.js.map +1 -0
- package/dist/internal/c4/pda.js +1 -1
- package/dist/internal/c4/pda.js.map +1 -1
- package/dist/internal/c4/profile-faction.d.ts.map +1 -1
- package/dist/internal/c4/profile-faction.js +11 -21
- package/dist/internal/c4/profile-faction.js.map +1 -1
- package/dist/internal/c4/profile-permissions.d.ts +5 -3
- package/dist/internal/c4/profile-permissions.d.ts.map +1 -1
- package/dist/internal/c4/profile-permissions.js +61 -8
- package/dist/internal/c4/profile-permissions.js.map +1 -1
- package/dist/internal/c4/region-geometry.d.ts +8 -0
- package/dist/internal/c4/region-geometry.d.ts.map +1 -0
- package/dist/internal/c4/region-geometry.js +43 -0
- package/dist/internal/c4/region-geometry.js.map +1 -0
- package/dist/internal/c4/rewards.d.ts +1 -61
- package/dist/internal/c4/rewards.d.ts.map +1 -1
- package/dist/internal/c4/rewards.js +14 -115
- package/dist/internal/c4/rewards.js.map +1 -1
- package/dist/internal/c4/runtime-bindings.d.ts +4 -0
- package/dist/internal/c4/runtime-bindings.d.ts.map +1 -0
- package/dist/internal/c4/runtime-bindings.js +4 -0
- package/dist/internal/c4/runtime-bindings.js.map +1 -0
- package/dist/internal/c4/scan-detection-codecs.d.ts +3 -0
- package/dist/internal/c4/scan-detection-codecs.d.ts.map +1 -0
- package/dist/internal/c4/scan-detection-codecs.js +3 -0
- package/dist/internal/c4/scan-detection-codecs.js.map +1 -0
- package/dist/internal/c4/scan-lifecycle.d.ts +306 -0
- package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -0
- package/dist/internal/c4/scan-lifecycle.js +261 -0
- package/dist/internal/c4/scan-lifecycle.js.map +1 -0
- package/dist/internal/c4/scanning.d.ts +1 -28
- package/dist/internal/c4/scanning.d.ts.map +1 -1
- package/dist/internal/c4/scanning.js +7 -36
- package/dist/internal/c4/scanning.js.map +1 -1
- package/dist/internal/c4/ship-import.d.ts +4 -0
- package/dist/internal/c4/ship-import.d.ts.map +1 -0
- package/dist/internal/c4/ship-import.js +13 -0
- package/dist/internal/c4/ship-import.js.map +1 -0
- package/dist/internal/c4/ship-stats.d.ts.map +1 -1
- package/dist/internal/c4/ship-stats.js +25 -21
- package/dist/internal/c4/ship-stats.js.map +1 -1
- package/dist/internal/c4/starbase.d.ts +0 -32
- package/dist/internal/c4/starbase.d.ts.map +1 -1
- package/dist/internal/c4/starbase.js +12 -62
- package/dist/internal/c4/starbase.js.map +1 -1
- package/dist/internal/c4/world.d.ts +36 -7
- package/dist/internal/c4/world.d.ts.map +1 -1
- package/dist/internal/c4/world.js +67 -48
- package/dist/internal/c4/world.js.map +1 -1
- package/dist/internal/cargo.d.ts +2 -0
- package/dist/internal/cargo.d.ts.map +1 -1
- package/dist/internal/cargo.js +8 -0
- package/dist/internal/cargo.js.map +1 -1
- package/dist/internal/fleet.d.ts +1 -0
- package/dist/internal/fleet.d.ts.map +1 -1
- package/dist/internal/fleet.js +3 -1
- package/dist/internal/fleet.js.map +1 -1
- package/dist/internal/loyalty-atlas-bank-state.d.ts +16 -0
- package/dist/internal/loyalty-atlas-bank-state.d.ts.map +1 -0
- package/dist/internal/loyalty-atlas-bank-state.js +10 -0
- package/dist/internal/loyalty-atlas-bank-state.js.map +1 -0
- package/dist/internal/planning/action-runtime.d.ts +38 -0
- package/dist/internal/planning/action-runtime.d.ts.map +1 -0
- package/dist/internal/planning/action-runtime.js +63 -0
- package/dist/internal/planning/action-runtime.js.map +1 -0
- package/dist/internal/planning/arrival-guards.d.ts +19 -0
- package/dist/internal/planning/arrival-guards.d.ts.map +1 -0
- package/dist/internal/planning/arrival-guards.js +171 -0
- package/dist/internal/planning/arrival-guards.js.map +1 -0
- package/dist/internal/planning/authorization-adapter.d.ts +45 -37
- package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
- package/dist/internal/planning/authorization-adapter.js +165 -76
- package/dist/internal/planning/authorization-adapter.js.map +1 -1
- package/dist/internal/planning/character-registration-guard.d.ts +4 -0
- package/dist/internal/planning/character-registration-guard.d.ts.map +1 -0
- package/dist/internal/planning/character-registration-guard.js +58 -0
- package/dist/internal/planning/character-registration-guard.js.map +1 -0
- package/dist/internal/planning/character-registration.d.ts +23 -0
- package/dist/internal/planning/character-registration.d.ts.map +1 -0
- package/dist/internal/planning/character-registration.js +87 -0
- package/dist/internal/planning/character-registration.js.map +1 -0
- package/dist/internal/planning/currency-cache-guard.d.ts +4 -0
- package/dist/internal/planning/currency-cache-guard.d.ts.map +1 -0
- package/dist/internal/planning/currency-cache-guard.js +32 -0
- package/dist/internal/planning/currency-cache-guard.js.map +1 -0
- package/dist/internal/planning/democracy-history.d.ts +50 -0
- package/dist/internal/planning/democracy-history.d.ts.map +1 -0
- package/dist/internal/planning/democracy-history.js +198 -0
- package/dist/internal/planning/democracy-history.js.map +1 -0
- package/dist/internal/planning/faction-enrollment.d.ts +0 -2
- package/dist/internal/planning/faction-enrollment.d.ts.map +1 -1
- package/dist/internal/planning/faction-enrollment.js +1 -22
- package/dist/internal/planning/faction-enrollment.js.map +1 -1
- package/dist/internal/planning/faction-trade-guards.d.ts +30 -0
- package/dist/internal/planning/faction-trade-guards.d.ts.map +1 -0
- package/dist/internal/planning/faction-trade-guards.js +15 -0
- package/dist/internal/planning/faction-trade-guards.js.map +1 -0
- package/dist/internal/planning/faction-trade-state.d.ts +16 -0
- package/dist/internal/planning/faction-trade-state.d.ts.map +1 -0
- package/dist/internal/planning/faction-trade-state.js +43 -0
- package/dist/internal/planning/faction-trade-state.js.map +1 -0
- package/dist/internal/planning/fleet-arrival.d.ts +40 -0
- package/dist/internal/planning/fleet-arrival.d.ts.map +1 -0
- package/dist/internal/planning/fleet-arrival.js +106 -0
- package/dist/internal/planning/fleet-arrival.js.map +1 -0
- package/dist/internal/planning/fleet-attack-xp.d.ts +20 -0
- package/dist/internal/planning/fleet-attack-xp.d.ts.map +1 -0
- package/dist/internal/planning/fleet-attack-xp.js +110 -0
- package/dist/internal/planning/fleet-attack-xp.js.map +1 -0
- package/dist/internal/planning/fleet-creation.d.ts +30 -0
- package/dist/internal/planning/fleet-creation.d.ts.map +1 -0
- package/dist/internal/planning/fleet-creation.js +109 -0
- package/dist/internal/planning/fleet-creation.js.map +1 -0
- package/dist/internal/planning/fleet-crew-guard.d.ts +28 -0
- package/dist/internal/planning/fleet-crew-guard.d.ts.map +1 -0
- package/dist/internal/planning/fleet-crew-guard.js +47 -0
- package/dist/internal/planning/fleet-crew-guard.js.map +1 -0
- package/dist/internal/planning/fleet-crew-transfer.d.ts +7 -0
- package/dist/internal/planning/fleet-crew-transfer.d.ts.map +1 -0
- package/dist/internal/planning/fleet-crew-transfer.js +132 -0
- package/dist/internal/planning/fleet-crew-transfer.js.map +1 -0
- package/dist/internal/planning/fleet-dock-funding-guard.d.ts +42 -0
- package/dist/internal/planning/fleet-dock-funding-guard.d.ts.map +1 -0
- package/dist/internal/planning/fleet-dock-funding-guard.js +208 -0
- package/dist/internal/planning/fleet-dock-funding-guard.js.map +1 -0
- package/dist/internal/planning/fleet-dock-funding.d.ts +9 -0
- package/dist/internal/planning/fleet-dock-funding.d.ts.map +1 -0
- package/dist/internal/planning/fleet-dock-funding.js +154 -0
- package/dist/internal/planning/fleet-dock-funding.js.map +1 -0
- package/dist/internal/planning/fleet-docking-guard.d.ts +4 -0
- package/dist/internal/planning/fleet-docking-guard.d.ts.map +1 -0
- package/dist/internal/planning/fleet-docking-guard.js +42 -0
- package/dist/internal/planning/fleet-docking-guard.js.map +1 -0
- package/dist/internal/planning/fleet-docking.d.ts +10 -0
- package/dist/internal/planning/fleet-docking.d.ts.map +1 -0
- package/dist/internal/planning/fleet-docking.js +85 -0
- package/dist/internal/planning/fleet-docking.js.map +1 -0
- package/dist/internal/planning/fleet-respawn.d.ts +28 -0
- package/dist/internal/planning/fleet-respawn.d.ts.map +1 -0
- package/dist/internal/planning/fleet-respawn.js +167 -0
- package/dist/internal/planning/fleet-respawn.js.map +1 -0
- package/dist/internal/planning/fleet-ship-assembly.d.ts +36 -0
- package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -0
- package/dist/internal/planning/fleet-ship-assembly.js +138 -0
- package/dist/internal/planning/fleet-ship-assembly.js.map +1 -0
- package/dist/internal/planning/fleet-state.d.ts +25 -0
- package/dist/internal/planning/fleet-state.d.ts.map +1 -0
- package/dist/internal/planning/fleet-state.js +28 -0
- package/dist/internal/planning/fleet-state.js.map +1 -0
- package/dist/internal/planning/governance-fees.d.ts +64 -0
- package/dist/internal/planning/governance-fees.d.ts.map +1 -0
- package/dist/internal/planning/governance-fees.js +239 -0
- package/dist/internal/planning/governance-fees.js.map +1 -0
- package/dist/internal/planning/local-market-order-funding.d.ts +8 -0
- package/dist/internal/planning/local-market-order-funding.d.ts.map +1 -0
- package/dist/internal/planning/local-market-order-funding.js +127 -0
- package/dist/internal/planning/local-market-order-funding.js.map +1 -0
- package/dist/internal/planning/local-market-order.d.ts +40 -0
- package/dist/internal/planning/local-market-order.d.ts.map +1 -0
- package/dist/internal/planning/local-market-order.js +138 -0
- package/dist/internal/planning/local-market-order.js.map +1 -0
- package/dist/internal/planning/mining-stop.d.ts +14 -0
- package/dist/internal/planning/mining-stop.d.ts.map +1 -0
- package/dist/internal/planning/mining-stop.js +41 -0
- package/dist/internal/planning/mining-stop.js.map +1 -0
- package/dist/internal/planning/movement-character.d.ts +7 -0
- package/dist/internal/planning/movement-character.d.ts.map +1 -0
- package/dist/internal/planning/movement-character.js +41 -0
- package/dist/internal/planning/movement-character.js.map +1 -0
- package/dist/internal/planning/movement-xp-guard.d.ts +4 -0
- package/dist/internal/planning/movement-xp-guard.d.ts.map +1 -0
- package/dist/internal/planning/movement-xp-guard.js +103 -0
- package/dist/internal/planning/movement-xp-guard.js.map +1 -0
- package/dist/internal/planning/open-signal-guard.d.ts +3 -0
- package/dist/internal/planning/open-signal-guard.d.ts.map +1 -0
- package/dist/internal/planning/open-signal-guard.js +31 -0
- package/dist/internal/planning/open-signal-guard.js.map +1 -0
- package/dist/internal/planning/open-signal.d.ts +31 -0
- package/dist/internal/planning/open-signal.d.ts.map +1 -0
- package/dist/internal/planning/open-signal.js +86 -0
- package/dist/internal/planning/open-signal.js.map +1 -0
- package/dist/internal/planning/original-token.d.ts +34 -0
- package/dist/internal/planning/original-token.d.ts.map +1 -0
- package/dist/internal/planning/original-token.js +98 -0
- package/dist/internal/planning/original-token.js.map +1 -0
- package/dist/internal/planning/plan-fields.d.ts +59 -0
- package/dist/internal/planning/plan-fields.d.ts.map +1 -0
- package/dist/internal/planning/plan-fields.js +153 -0
- package/dist/internal/planning/plan-fields.js.map +1 -0
- package/dist/internal/planning/plan-guards.d.ts +4 -0
- package/dist/internal/planning/plan-guards.d.ts.map +1 -0
- package/dist/internal/planning/plan-guards.js +168 -0
- package/dist/internal/planning/plan-guards.js.map +1 -0
- package/dist/internal/planning/recipe-state.d.ts +6 -0
- package/dist/internal/planning/recipe-state.d.ts.map +1 -0
- package/dist/internal/planning/recipe-state.js +20 -0
- package/dist/internal/planning/recipe-state.js.map +1 -0
- package/dist/internal/planning/rent.d.ts +19 -0
- package/dist/internal/planning/rent.d.ts.map +1 -0
- package/dist/internal/planning/rent.js +35 -0
- package/dist/internal/planning/rent.js.map +1 -0
- package/dist/internal/planning/respawn-guards.d.ts +3 -0
- package/dist/internal/planning/respawn-guards.d.ts.map +1 -0
- package/dist/internal/planning/respawn-guards.js +41 -0
- package/dist/internal/planning/respawn-guards.js.map +1 -0
- package/dist/internal/planning/runtime-guards.d.ts +41 -0
- package/dist/internal/planning/runtime-guards.d.ts.map +1 -0
- package/dist/internal/planning/runtime-guards.js +635 -0
- package/dist/internal/planning/runtime-guards.js.map +1 -0
- package/dist/internal/planning/scan-completion-guard.d.ts +43 -0
- package/dist/internal/planning/scan-completion-guard.d.ts.map +1 -0
- package/dist/internal/planning/scan-completion-guard.js +94 -0
- package/dist/internal/planning/scan-completion-guard.js.map +1 -0
- package/dist/internal/planning/scan-completion.d.ts +20 -0
- package/dist/internal/planning/scan-completion.d.ts.map +1 -0
- package/dist/internal/planning/scan-completion.js +197 -0
- package/dist/internal/planning/scan-completion.js.map +1 -0
- package/dist/internal/planning/scan-detect-guard.d.ts +34 -0
- package/dist/internal/planning/scan-detect-guard.d.ts.map +1 -0
- package/dist/internal/planning/scan-detect-guard.js +77 -0
- package/dist/internal/planning/scan-detect-guard.js.map +1 -0
- package/dist/internal/planning/scan-detect.d.ts +24 -0
- package/dist/internal/planning/scan-detect.d.ts.map +1 -0
- package/dist/internal/planning/scan-detect.js +245 -0
- package/dist/internal/planning/scan-detect.js.map +1 -0
- package/dist/internal/planning/scan-input.d.ts +9 -0
- package/dist/internal/planning/scan-input.d.ts.map +1 -0
- package/dist/internal/planning/scan-input.js +58 -0
- package/dist/internal/planning/scan-input.js.map +1 -0
- package/dist/internal/planning/ship-import-funding.d.ts +22 -0
- package/dist/internal/planning/ship-import-funding.d.ts.map +1 -0
- package/dist/internal/planning/ship-import-funding.js +53 -0
- package/dist/internal/planning/ship-import-funding.js.map +1 -0
- package/dist/internal/planning/ship-token.d.ts +1 -6
- package/dist/internal/planning/ship-token.d.ts.map +1 -1
- package/dist/internal/planning/ship-token.js +2 -41
- package/dist/internal/planning/ship-token.js.map +1 -1
- package/dist/internal/planning/starbase-player-owner.d.ts +21 -0
- package/dist/internal/planning/starbase-player-owner.d.ts.map +1 -0
- package/dist/internal/planning/starbase-player-owner.js +17 -0
- package/dist/internal/planning/starbase-player-owner.js.map +1 -0
- package/dist/internal/planning/starbase-system-guard.d.ts +6 -0
- package/dist/internal/planning/starbase-system-guard.d.ts.map +1 -0
- package/dist/internal/planning/starbase-system-guard.js +93 -0
- package/dist/internal/planning/starbase-system-guard.js.map +1 -0
- package/dist/internal/planning/starbase-system.d.ts +15 -0
- package/dist/internal/planning/starbase-system.d.ts.map +1 -0
- package/dist/internal/planning/starbase-system.js +25 -0
- package/dist/internal/planning/starbase-system.js.map +1 -0
- package/dist/internal/planning/token-mint.d.ts +4 -0
- package/dist/internal/planning/token-mint.d.ts.map +1 -0
- package/dist/internal/planning/token-mint.js +15 -0
- package/dist/internal/planning/token-mint.js.map +1 -0
- package/dist/internal/planning/trade-faction-market.d.ts +20 -0
- package/dist/internal/planning/trade-faction-market.d.ts.map +1 -0
- package/dist/internal/planning/trade-faction-market.js +56 -0
- package/dist/internal/planning/trade-faction-market.js.map +1 -0
- package/dist/internal/planning/wallet-starbase.d.ts +34 -0
- package/dist/internal/planning/wallet-starbase.d.ts.map +1 -0
- package/dist/internal/planning/wallet-starbase.js +39 -0
- package/dist/internal/planning/wallet-starbase.js.map +1 -0
- package/dist/internal/planning/xp-runtime.d.ts +36 -0
- package/dist/internal/planning/xp-runtime.d.ts.map +1 -0
- package/dist/internal/planning/xp-runtime.js +126 -0
- package/dist/internal/planning/xp-runtime.js.map +1 -0
- package/dist/internal/system-program.d.ts +4 -0
- package/dist/internal/system-program.d.ts.map +1 -0
- package/dist/internal/system-program.js +3 -0
- package/dist/internal/system-program.js.map +1 -0
- package/dist/loyalty/actions/index.d.ts.map +1 -1
- package/dist/loyalty/actions/index.js +8 -21
- package/dist/loyalty/actions/index.js.map +1 -1
- package/dist/loyalty/index.d.ts.map +1 -1
- package/dist/loyalty/index.js +2 -6
- package/dist/loyalty/index.js.map +1 -1
- package/dist/markets/actions/index.d.ts +61 -3
- package/dist/markets/actions/index.d.ts.map +1 -1
- package/dist/markets/actions/index.js +227 -160
- package/dist/markets/actions/index.js.map +1 -1
- package/dist/markets/actions/trade-faction-market.d.ts +43 -0
- package/dist/markets/actions/trade-faction-market.d.ts.map +1 -0
- package/dist/markets/actions/trade-faction-market.js +282 -0
- package/dist/markets/actions/trade-faction-market.js.map +1 -0
- package/dist/markets/index.d.ts +38 -7
- package/dist/markets/index.d.ts.map +1 -1
- package/dist/markets/index.js +57 -10
- package/dist/markets/index.js.map +1 -1
- package/dist/mining/actions/index.d.ts +87 -0
- package/dist/mining/actions/index.d.ts.map +1 -0
- package/dist/mining/actions/index.js +319 -0
- package/dist/mining/actions/index.js.map +1 -0
- package/dist/mining/estimate.d.ts +114 -0
- package/dist/mining/estimate.d.ts.map +1 -0
- package/dist/mining/estimate.js +127 -0
- package/dist/mining/estimate.js.map +1 -0
- package/dist/mining/index.d.ts +9 -2
- package/dist/mining/index.d.ts.map +1 -1
- package/dist/mining/index.js +7 -2
- package/dist/mining/index.js.map +1 -1
- package/dist/mining/profile.d.ts +82 -0
- package/dist/mining/profile.d.ts.map +1 -0
- package/dist/mining/profile.js +109 -0
- package/dist/mining/profile.js.map +1 -0
- package/dist/planning/assembly.d.ts +5 -0
- package/dist/planning/assembly.d.ts.map +1 -1
- package/dist/planning/assembly.js +8 -4
- package/dist/planning/assembly.js.map +1 -1
- package/dist/planning/execution.d.ts +18 -3
- package/dist/planning/execution.d.ts.map +1 -1
- package/dist/planning/execution.js +492 -40
- package/dist/planning/execution.js.map +1 -1
- package/dist/planning/index.d.ts +196 -149
- package/dist/planning/index.d.ts.map +1 -1
- package/dist/planning/index.js +44 -292
- package/dist/planning/index.js.map +1 -1
- package/dist/planning/plan-sequence-checkpoint.d.ts +9 -0
- package/dist/planning/plan-sequence-checkpoint.d.ts.map +1 -1
- package/dist/planning/plan-sequence-checkpoint.js +16 -7
- package/dist/planning/plan-sequence-checkpoint.js.map +1 -1
- package/dist/planning/plan-sequence-execution.d.ts +5 -0
- package/dist/planning/plan-sequence-execution.d.ts.map +1 -1
- package/dist/planning/plan-sequence-execution.js +74 -30
- package/dist/planning/plan-sequence-execution.js.map +1 -1
- package/dist/planning/plan-sequence.d.ts +2 -1
- package/dist/planning/plan-sequence.d.ts.map +1 -1
- package/dist/planning/plan-sequence.js +8 -1
- package/dist/planning/plan-sequence.js.map +1 -1
- package/dist/planning/plan-validation.d.ts +14 -0
- package/dist/planning/plan-validation.d.ts.map +1 -0
- package/dist/planning/plan-validation.js +124 -0
- package/dist/planning/plan-validation.js.map +1 -0
- package/dist/planning/simulation.d.ts +25 -1
- package/dist/planning/simulation.d.ts.map +1 -1
- package/dist/planning/simulation.js +111 -11
- package/dist/planning/simulation.js.map +1 -1
- package/dist/registry/cargo.d.ts +7 -12
- package/dist/registry/cargo.d.ts.map +1 -1
- package/dist/registry/cargo.js +19 -19
- package/dist/registry/cargo.js.map +1 -1
- package/dist/registry/docking.d.ts +10 -0
- package/dist/registry/docking.d.ts.map +1 -0
- package/dist/registry/docking.js +12 -0
- package/dist/registry/docking.js.map +1 -0
- package/dist/registry/index.d.ts +4 -0
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/onboarding.d.ts +10 -2
- package/dist/registry/onboarding.d.ts.map +1 -1
- package/dist/registry/onboarding.js +20 -7
- package/dist/registry/onboarding.js.map +1 -1
- package/dist/registry/scanning.d.ts +7 -0
- package/dist/registry/scanning.d.ts.map +1 -0
- package/dist/registry/scanning.js +13 -0
- package/dist/registry/scanning.js.map +1 -0
- package/dist/registry/ship-stats-snapshot.js +19 -19
- package/dist/registry/ship-stats-snapshot.js.map +1 -1
- package/dist/registry/ships.d.ts +22 -2
- package/dist/registry/ships.d.ts.map +1 -1
- package/dist/registry/ships.js +31 -4
- package/dist/registry/ships.js.map +1 -1
- package/dist/registry/xp-runtime.d.ts +4 -0
- package/dist/registry/xp-runtime.d.ts.map +1 -0
- package/dist/registry/xp-runtime.js +14 -0
- package/dist/registry/xp-runtime.js.map +1 -0
- package/dist/rewards/index.d.ts.map +1 -1
- package/dist/rewards/index.js +5 -4
- package/dist/rewards/index.js.map +1 -1
- package/dist/scanning/actions/index.d.ts +116 -0
- package/dist/scanning/actions/index.d.ts.map +1 -0
- package/dist/scanning/actions/index.js +185 -0
- package/dist/scanning/actions/index.js.map +1 -0
- package/dist/scanning/index.d.ts +5 -2
- package/dist/scanning/index.d.ts.map +1 -1
- package/dist/scanning/index.js +13 -9
- package/dist/scanning/index.js.map +1 -1
- package/dist/scanning/lifecycle.d.ts +77 -0
- package/dist/scanning/lifecycle.d.ts.map +1 -0
- package/dist/scanning/lifecycle.js +93 -0
- package/dist/scanning/lifecycle.js.map +1 -0
- package/dist/scanning/odds.d.ts +111 -0
- package/dist/scanning/odds.d.ts.map +1 -0
- package/dist/scanning/odds.js +294 -0
- package/dist/scanning/odds.js.map +1 -0
- package/dist/scanning/signals.d.ts +121 -0
- package/dist/scanning/signals.d.ts.map +1 -0
- package/dist/scanning/signals.js +171 -0
- package/dist/scanning/signals.js.map +1 -0
- package/dist/starbases/actions/index.d.ts.map +1 -1
- package/dist/starbases/actions/index.js +3 -14
- package/dist/starbases/actions/index.js.map +1 -1
- package/dist/world/index.d.ts +110 -5
- package/dist/world/index.d.ts.map +1 -1
- package/dist/world/index.js +109 -4
- package/dist/world/index.js.map +1 -1
- package/dist/world/planet-claim-stake-plots.d.ts +130 -0
- package/dist/world/planet-claim-stake-plots.d.ts.map +1 -0
- package/dist/world/planet-claim-stake-plots.js +110 -0
- package/dist/world/planet-claim-stake-plots.js.map +1 -0
- package/dist/world/starbase-status.d.ts +176 -0
- package/dist/world/starbase-status.d.ts.map +1 -0
- package/dist/world/starbase-status.js +153 -0
- package/dist/world/starbase-status.js.map +1 -0
- package/package.json +10 -2
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import { hashAccountState } from '../../internal/planning/account-state.js';
|
|
2
|
-
import {} from '@solana/kit';
|
|
2
|
+
import { getAddressEncoder, getProgramDerivedAddress, } from '@solana/kit';
|
|
3
|
+
import { InvalidActionInputError } from '../../client/errors.js';
|
|
4
|
+
import { readContextRawAccounts } from '../../client/reconciliation.js';
|
|
5
|
+
import { SAGE_PROGRAM_ADDRESS } from '../../internal/c4/runtime-bindings.js';
|
|
6
|
+
import { validateWalletCargoCache } from '../../internal/c4/wallet-cargo-cache.js';
|
|
7
|
+
import { deriveAssociatedTokenAddress, readTokenAccount, } from '../../internal/planning/original-token.js';
|
|
8
|
+
import { requireProfileStarbasePlayer } from '../../internal/planning/starbase-player-owner.js';
|
|
9
|
+
import { validateTokenMint } from '../../internal/planning/token-mint.js';
|
|
10
|
+
import { validateWalletStarbase } from '../../internal/planning/wallet-starbase.js';
|
|
11
|
+
import { readFreshGameCargoBytesConfiguration } from '../../registry/cargo.js';
|
|
12
|
+
import { failWalletCargo } from './wallet-token.js';
|
|
3
13
|
export async function observeWalletAccount(account, role = 'prerequisite') {
|
|
4
14
|
return {
|
|
5
15
|
kind: 'account-state',
|
|
@@ -8,5 +18,118 @@ export async function observeWalletAccount(account, role = 'prerequisite') {
|
|
|
8
18
|
describes: `${role} account ${account.address} retains its observed owner and data; native balance is not guarded.`,
|
|
9
19
|
};
|
|
10
20
|
}
|
|
11
|
-
|
|
21
|
+
/** Requires an exact raw u64 amount and a u16 cargo id. */
|
|
22
|
+
export function validateWalletCargoAmount(amount, cargoId) {
|
|
23
|
+
if (typeof amount !== 'bigint' ||
|
|
24
|
+
amount <= 0n ||
|
|
25
|
+
amount > 18446744073709551615n)
|
|
26
|
+
throw new InvalidActionInputError('amount', amount, 'a positive bigint in the unsigned u64 range', 'Supply an exact raw token amount as bigint.');
|
|
27
|
+
if (typeof cargoId !== 'number' ||
|
|
28
|
+
!Number.isSafeInteger(cargoId) ||
|
|
29
|
+
cargoId < 0 ||
|
|
30
|
+
cargoId > 65535)
|
|
31
|
+
throw new InvalidActionInputError('cargoId', cargoId, 'an unsigned u16 cargo ID', 'Choose an existing cargo definition ID.');
|
|
32
|
+
}
|
|
33
|
+
/** Pre-read facts shared by wallet deposits and withdrawals: the authorization
|
|
34
|
+
* Profile's canonical Starbase Player, the fresh cargo configuration, and the
|
|
35
|
+
* canonical Game cargo cache and its shared vault for the cargo mint. */
|
|
36
|
+
export async function resolveWalletCargo(ctx, starbase, profile, cargoId, game) {
|
|
37
|
+
if (starbase.kind !== 'starbasePlayer')
|
|
38
|
+
failWalletCargo('The loaded Starbase must be a Starbase Player registration.', starbase.address);
|
|
39
|
+
const character = await requireProfileStarbasePlayer(starbase, profile, game);
|
|
40
|
+
const config = await readFreshGameCargoBytesConfiguration(ctx, cargoId);
|
|
41
|
+
const [cache, bump] = await getProgramDerivedAddress({
|
|
42
|
+
programAddress: SAGE_PROGRAM_ADDRESS,
|
|
43
|
+
seeds: [
|
|
44
|
+
new TextEncoder().encode('CargoDefinitionsCache'),
|
|
45
|
+
getAddressEncoder().encode(game),
|
|
46
|
+
],
|
|
47
|
+
});
|
|
48
|
+
if (config.cache !== cache)
|
|
49
|
+
failWalletCargo('The configured cargo cache does not match the canonical Game cargo-cache PDA.', config.cache);
|
|
50
|
+
return {
|
|
51
|
+
bump,
|
|
52
|
+
cache,
|
|
53
|
+
character,
|
|
54
|
+
config,
|
|
55
|
+
mint: config.cargo.mint,
|
|
56
|
+
player: starbase.address,
|
|
57
|
+
system: starbase.system.address,
|
|
58
|
+
vault: await deriveAssociatedTokenAddress(cache, config.cargo.mint),
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/** Requires an account read for a wallet cargo transfer to exist. */
|
|
62
|
+
export function requireWalletAccount(account, address, action) {
|
|
63
|
+
return (account ??
|
|
64
|
+
failWalletCargo(`Required ${action} account ${address} is missing. Register the player or create the required accounts separately.`, address));
|
|
65
|
+
}
|
|
66
|
+
/** Reads the Profile, Character, Starbase Player, System, cargo cache, mint
|
|
67
|
+
* and shared vault with `extra` accounts in the same batch, and requires the
|
|
68
|
+
* shared Starbase graph, cache, mint and vault facts. Returns the extra
|
|
69
|
+
* accounts as read, missing ones included. */
|
|
70
|
+
export async function readWalletCargo(ctx, cargo, profile, game, action, extra) {
|
|
71
|
+
const addresses = [
|
|
72
|
+
profile,
|
|
73
|
+
cargo.character,
|
|
74
|
+
cargo.player,
|
|
75
|
+
cargo.system,
|
|
76
|
+
cargo.cache,
|
|
77
|
+
cargo.mint,
|
|
78
|
+
cargo.vault,
|
|
79
|
+
];
|
|
80
|
+
const candidates = await readContextRawAccounts(ctx, [
|
|
81
|
+
...addresses,
|
|
82
|
+
...extra,
|
|
83
|
+
]);
|
|
84
|
+
const [profileRaw, characterRaw, playerRaw, systemRaw, cacheRaw, mintRaw, vaultRaw,] = addresses.map((address, index) => requireWalletAccount(candidates[index], address, action));
|
|
85
|
+
const { playerData, systemGuard } = await validateWalletStarbase({
|
|
86
|
+
profile: profileRaw,
|
|
87
|
+
character: characterRaw,
|
|
88
|
+
player: playerRaw,
|
|
89
|
+
system: systemRaw,
|
|
90
|
+
}, {
|
|
91
|
+
game,
|
|
92
|
+
profile,
|
|
93
|
+
character: cargo.character,
|
|
94
|
+
system: cargo.system,
|
|
95
|
+
requireCss: action === 'deposit',
|
|
96
|
+
}, failWalletCargo);
|
|
97
|
+
return {
|
|
98
|
+
cacheData: validateWalletCargoCache(cacheRaw, game, cargo.bump),
|
|
99
|
+
characterRaw,
|
|
100
|
+
decimals: validateTokenMint(mintRaw),
|
|
101
|
+
extraAccounts: candidates.slice(addresses.length),
|
|
102
|
+
playerData,
|
|
103
|
+
playerRaw,
|
|
104
|
+
profileRaw,
|
|
105
|
+
systemGuard,
|
|
106
|
+
vaultBalance: readTokenAccount(vaultRaw, cargo.mint, cargo.cache, failWalletCargo),
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
/** The mint, cargo configuration and cargo cache guards shared by wallet
|
|
110
|
+
* cargo Plans. */
|
|
111
|
+
export function walletCargoGuards(cargo, cargoId, game, decimals) {
|
|
112
|
+
return [
|
|
113
|
+
{
|
|
114
|
+
kind: 'token-mint',
|
|
115
|
+
address: cargo.mint,
|
|
116
|
+
decimals,
|
|
117
|
+
describes: `Mint ${cargo.mint} remains a valid initialized original Token Mint with unchanged decimals; supply and authorities may change.`,
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
kind: 'game-cargo-bytes-config',
|
|
121
|
+
address: game,
|
|
122
|
+
cargoId,
|
|
123
|
+
configHash: cargo.config.configHash,
|
|
124
|
+
describes: 'The selected cargo’s full encoded configuration, including its stored name, and cache identity remain unchanged; unrelated Game changes are allowed.',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
kind: 'cargo-cache',
|
|
128
|
+
address: cargo.cache,
|
|
129
|
+
game,
|
|
130
|
+
bump: cargo.bump,
|
|
131
|
+
describes: 'The canonical cargo cache retains valid Game identity and layout; counters may change.',
|
|
132
|
+
},
|
|
133
|
+
];
|
|
134
|
+
}
|
|
12
135
|
//# 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,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,
|
|
1
|
+
{"version":3,"file":"wallet-context.js","sourceRoot":"","sources":["../../../src/cargo/actions/wallet-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EACL,iBAAiB,EACjB,wBAAwB,GAEzB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EACL,4BAA4B,EAC5B,gBAAgB,GACjB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,4BAA4B,EAAE,MAAM,kDAAkD,CAAC;AAChG,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAEpF,OAAO,EAAE,oCAAoC,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAUpD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAmB,EACnB,IAAI,GAAG,cAAc;IAErB,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,MAAM,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC;QAC7D,SAAS,EAAE,GAAG,IAAI,YAAY,OAAO,CAAC,OAAO,sEAAsE;KACpH,CAAC;AACJ,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,yBAAyB,CAAC,MAAe,EAAE,OAAgB;IACzE,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,MAAM,IAAI,EAAE;QACZ,MAAM,GAAG,qBAA2B;QAEpC,MAAM,IAAI,uBAAuB,CAC/B,QAAQ,EACR,MAAM,EACN,6CAA6C,EAC7C,6CAA6C,CAC9C,CAAC;IACJ,IACE,OAAO,OAAO,KAAK,QAAQ;QAC3B,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;QAC9B,OAAO,GAAG,CAAC;QACX,OAAO,GAAG,KAAK;QAEf,MAAM,IAAI,uBAAuB,CAC/B,SAAS,EACT,OAAO,EACP,0BAA0B,EAC1B,yCAAyC,CAC1C,CAAC;AACN,CAAC;AAED;;yEAEyE;AACzE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,GAAgB,EAChB,QAA8B,EAC9B,OAAgB,EAChB,OAAe,EACf,IAAa;IAEb,IAAI,QAAQ,CAAC,IAAI,KAAK,gBAAgB;QACpC,eAAe,CACb,6DAA6D,EAC7D,QAAQ,CAAC,OAAO,CACjB,CAAC;IACJ,MAAM,SAAS,GAAG,MAAM,4BAA4B,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,MAAM,oCAAoC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACxE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,MAAM,wBAAwB,CAAC;QACnD,cAAc,EAAE,oBAAoB;QACpC,KAAK,EAAE;YACL,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC;YACjD,iBAAiB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;SACjC;KACF,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK;QACxB,eAAe,CACb,+EAA+E,EAC/E,MAAM,CAAC,KAAK,CACb,CAAC;IACJ,OAAO;QACL,IAAI;QACJ,KAAK;QACL,SAAS;QACT,MAAM;QACN,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;QACvB,MAAM,EAAE,QAAQ,CAAC,OAAO;QACxB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO;QAC/B,KAAK,EAAE,MAAM,4BAA4B,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;KACpE,CAAC;AACJ,CAAC;AAID,qEAAqE;AACrE,MAAM,UAAU,oBAAoB,CAClC,OAA+B,EAC/B,OAAgB,EAChB,MAAgC;IAEhC,OAAO,CACL,OAAO;QACP,eAAe,CACb,YAAY,MAAM,YAAY,OAAO,8EAA8E,EACnH,OAAO,CACR,CACF,CAAC;AACJ,CAAC;AAED;;;8CAG8C;AAC9C,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAgB,EAChB,KAAkB,EAClB,OAAgB,EAChB,IAAa,EACb,MAAgC,EAChC,KAAyB;IAEzB,MAAM,SAAS,GAAG;QAChB,OAAO;QACP,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,KAAK;QACX,KAAK,CAAC,IAAI;QACV,KAAK,CAAC,KAAK;KACZ,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,GAAG,EAAE;QACnD,GAAG,SAAS;QACZ,GAAG,KAAK;KACT,CAAC,CAAC;IACH,MAAM,CACJ,UAAU,EACV,YAAY,EACZ,SAAS,EACT,SAAS,EACT,QAAQ,EACR,OAAO,EACP,QAAQ,EACT,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CACnC,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CASzD,CAAC;IACF,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,MAAM,sBAAsB,CAC9D;QACE,OAAO,EAAE,UAAU;QACnB,SAAS,EAAE,YAAY;QACvB,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,SAAS;KAClB,EACD;QACE,IAAI;QACJ,OAAO;QACP,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,MAAM,KAAK,SAAS;KACjC,EACD,eAAe,CAChB,CAAC;IACF,OAAO;QACL,SAAS,EAAE,wBAAwB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;QAC/D,YAAY;QACZ,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC;QACpC,aAAa,EAAE,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;QACjD,UAAU;QACV,SAAS;QACT,UAAU;QACV,WAAW;QACX,YAAY,EAAE,gBAAgB,CAC5B,QAAQ,EACR,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,KAAK,EACX,eAAe,CAChB;KACF,CAAC;AACJ,CAAC;AAED;kBACkB;AAClB,MAAM,UAAU,iBAAiB,CAC/B,KAAkB,EAClB,OAAe,EACf,IAAa,EACb,QAAgB;IAEhB,OAAO;QACL;YACE,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,KAAK,CAAC,IAAI;YACnB,QAAQ;YACR,SAAS,EAAE,QAAQ,KAAK,CAAC,IAAI,8GAA8G;SAC5I;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,IAAI;YACb,OAAO;YACP,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;YACnC,SAAS,EACP,sJAAsJ;SACzJ;QACD;YACE,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,KAAK,CAAC,KAAK;YACpB,IAAI;YACJ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EACP,wFAAwF;SAC3F;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -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 declare function validateWalletMint(account: RawAccount): number;
|
|
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,58 +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 function validateWalletMint(account) {
|
|
34
|
-
const bytes = view(account, 82);
|
|
35
|
-
option(bytes, 0, account);
|
|
36
|
-
option(bytes, 46, account);
|
|
37
|
-
if (bytes.getUint8(45) !== 1) {
|
|
38
|
-
failWalletCargo(`Cargo mint ${account.address} is not initialized.`, account.address);
|
|
39
|
-
}
|
|
40
|
-
return bytes.getUint8(44);
|
|
41
|
-
}
|
|
42
|
-
export function validateWalletToken(account, mint, owner) {
|
|
43
|
-
const bytes = view(account, 165);
|
|
44
|
-
option(bytes, 72, account);
|
|
45
|
-
option(bytes, 109, account);
|
|
46
|
-
option(bytes, 129, account);
|
|
47
|
-
if (bytes.getUint8(108) !== 1) {
|
|
48
|
-
failWalletCargo(`Token account ${account.address} must be initialized and unfrozen.`, account.address);
|
|
49
|
-
}
|
|
50
|
-
const decode = getAddressDecoder();
|
|
51
|
-
if (decode.decode(account.data.subarray(0, 32)) !== mint ||
|
|
52
|
-
decode.decode(account.data.subarray(32, 64)) !== owner) {
|
|
53
|
-
failWalletCargo(`Token account ${account.address} must contain cargo mint ${mint} and be owned internally by ${owner}; delegated spending is unsupported.`, account.address);
|
|
54
|
-
}
|
|
55
|
-
// A recorded delegate does not prevent the actual owner from transferring.
|
|
56
|
-
return bytes.getBigUint64(64, true);
|
|
57
|
-
}
|
|
58
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdrawal.d.ts","sourceRoot":"","sources":["../../../src/cargo/actions/withdrawal.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
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,EAEL,KAAK,IAAI,EAGV,MAAM,yBAAyB,CAAC;AAEjC,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 {
|
|
1
|
+
import { isOffCurveAddress } from '@solana/kit';
|
|
2
2
|
import { InvalidActionInputError } from '../../client/errors.js';
|
|
3
|
-
import { readContextRawAccounts } from '../../client/reconciliation.js';
|
|
4
|
-
import { sage } from '../../internal/c4/bindings.js';
|
|
5
|
-
import { characterAccountDefinition, profileAccountDefinition, findCharacterPda, } from '../../internal/c4/identity.js';
|
|
6
|
-
import { deriveStarbasePlayerAddress, starbasePlayerAccountDefinition, } from '../../internal/c4/starbase.js';
|
|
7
|
-
import { starSystemAccountDefinition, deriveStarSystemAddress, } from '../../internal/c4/world.js';
|
|
8
3
|
import { requireGameAddress } from '../../internal/game-context.js';
|
|
9
4
|
import { adaptWithdrawCargoFromGameInstruction, validatePlanAuthorization, } from '../../internal/planning/authorization-adapter.js';
|
|
5
|
+
import { TOKEN_TRANSFER_DISCLOSURE, deriveAssociatedTokenAddress, isTokenMultisig, readTokenAccount, resolveAssociatedTokenCreation, } from '../../internal/planning/original-token.js';
|
|
10
6
|
import { createPlan, } from '../../planning/index.js';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { observeWalletAccount, validateWalletCargoCache, } from './wallet-context.js';
|
|
14
|
-
const ATA_PROGRAM = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL';
|
|
15
|
-
const SYSTEM_PROGRAM = '11111111111111111111111111111111';
|
|
16
|
-
const RENT_SYSVAR = 'SysvarRent111111111111111111111111111111111';
|
|
17
|
-
const SYSVAR_OWNER = 'Sysvar1111111111111111111111111111111111111';
|
|
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
|
-
}
|
|
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,119 +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 readFreshGameCargoConfiguration(ctx, options.cargoId);
|
|
63
|
-
const [cache, bump] = await getProgramDerivedAddress({
|
|
64
|
-
programAddress: sage.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 cacheData = validateWalletCargoCache(cacheRaw, game, bump);
|
|
109
|
-
const decimals = validateWalletMint(mintRaw);
|
|
110
45
|
if (decimals !== 0)
|
|
111
|
-
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.',
|
|
112
|
-
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);
|
|
113
47
|
if (destinationRaw)
|
|
114
|
-
|
|
115
|
-
if (recipientRaw
|
|
116
|
-
recipientRaw.data.length === 355 &&
|
|
117
|
-
(recipientRaw.owner === ORIGINAL_TOKEN_PROGRAM ||
|
|
118
|
-
recipientRaw.owner ===
|
|
119
|
-
'TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb'))
|
|
48
|
+
readTokenAccount(destinationRaw, cargo.mint, options.recipient, failWalletCargo);
|
|
49
|
+
if (isTokenMultisig(recipientRaw))
|
|
120
50
|
failWalletCargo('Token multisig recipients are outside the supported wallet cargo contract.', options.recipient);
|
|
121
51
|
const entitlement = playerData.cargo.amounts.find((item) => item.cargoId === options.cargoId)
|
|
122
52
|
?.amount ?? 0n;
|
|
123
53
|
if (entitlement < options.amount)
|
|
124
|
-
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);
|
|
125
55
|
if (backing < options.amount)
|
|
126
56
|
failWalletCargo(`Shared Game vault backing ${String(backing)} is below requested ${String(options.amount)}. Retry after backing is restored.`, source);
|
|
127
|
-
if (config.cargo.withdrawEpochDuration === 0)
|
|
57
|
+
if (cargo.config.cargo.withdrawEpochDuration === 0)
|
|
128
58
|
failWalletCargo('Withdrawal of this cargo is disabled by the Game configuration.', game);
|
|
129
|
-
if (options.amount > config.cargo.circuitBreaker)
|
|
130
|
-
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);
|
|
131
61
|
const preconditions = await Promise.all([
|
|
132
62
|
[profileRaw, 'Profile authorization'],
|
|
133
63
|
[characterRaw, 'Character identity'],
|
|
134
64
|
[playerRaw, 'personal Starbase inventory'],
|
|
135
|
-
[systemRaw, 'System access configuration'],
|
|
136
|
-
[mintRaw, 'mint configuration'],
|
|
137
65
|
...(recipientRaw ? [[recipientRaw, 'wallet authority']] : []),
|
|
138
66
|
].map(([account, role]) => observeWalletAccount(account, role)));
|
|
139
|
-
preconditions.push({
|
|
140
|
-
kind: 'game-cargo-config',
|
|
141
|
-
address: game,
|
|
142
|
-
cargoId: options.cargoId,
|
|
143
|
-
configHash: config.configHash,
|
|
144
|
-
describes: 'The selected cargo configuration and cache identity remain unchanged; unrelated Game changes are allowed.',
|
|
145
|
-
}, {
|
|
146
|
-
kind: 'cargo-cache',
|
|
147
|
-
address: cache,
|
|
148
|
-
game,
|
|
149
|
-
bump,
|
|
150
|
-
describes: 'The canonical cargo cache retains valid Game identity and layout; counters may change.',
|
|
151
|
-
}, {
|
|
67
|
+
preconditions.push(systemGuard, ...walletCargoGuards(cargo, options.cargoId, game, decimals), {
|
|
152
68
|
kind: 'token-account',
|
|
153
69
|
address: source,
|
|
154
|
-
mint:
|
|
155
|
-
owner: cache,
|
|
70
|
+
mint: cargo.mint,
|
|
71
|
+
owner: cargo.cache,
|
|
156
72
|
minimumBalance: options.amount,
|
|
157
73
|
describes: 'The existing shared vault remains a valid original Token account with sufficient raw tokens.',
|
|
158
74
|
}, ...(destinationRaw
|
|
@@ -160,7 +76,7 @@ export async function planWithdrawCargoFromGame(ctx, starbase, options) {
|
|
|
160
76
|
{
|
|
161
77
|
kind: 'token-account',
|
|
162
78
|
address: destination,
|
|
163
|
-
mint:
|
|
79
|
+
mint: cargo.mint,
|
|
164
80
|
owner: options.recipient,
|
|
165
81
|
minimumBalance: 0n,
|
|
166
82
|
describes: 'The existing destination remains a valid original Token account; incoming tokens are allowed.',
|
|
@@ -169,9 +85,9 @@ export async function planWithdrawCargoFromGame(ctx, starbase, options) {
|
|
|
169
85
|
: []));
|
|
170
86
|
if (!recipientRaw)
|
|
171
87
|
preconditions.push({
|
|
172
|
-
kind: 'account-absent',
|
|
88
|
+
kind: 'system-account-or-absent',
|
|
173
89
|
address: options.recipient,
|
|
174
|
-
describes: 'The recipient
|
|
90
|
+
describes: 'The recipient wallet may remain absent or receive native funding as an empty, non-executable System account.',
|
|
175
91
|
});
|
|
176
92
|
const steps = [];
|
|
177
93
|
if (!destinationRaw) {
|
|
@@ -179,77 +95,36 @@ export async function planWithdrawCargoFromGame(ctx, starbase, options) {
|
|
|
179
95
|
failWalletCargo('The destination token account is missing. Create custom accounts separately or explicitly opt into canonical ATA creation with a payer.', destination);
|
|
180
96
|
if (isOffCurveAddress(creation.payer))
|
|
181
97
|
failWalletCargo('ATA creation payer must be a directly signing address.', creation.payer);
|
|
182
|
-
const
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
const extraCandidates = await readContextRawAccounts(ctx, extraAddresses);
|
|
190
|
-
const extra = extraAddresses.map((address, index) => required(extraCandidates[index], address));
|
|
191
|
-
const [rent, payer, ...programs] = extra;
|
|
192
|
-
if (programs.some((program) => !program.executable))
|
|
193
|
-
failWalletCargo('Associated-token creation requires executable associated-token, System and original Token programs in this deployment.', ATA_PROGRAM);
|
|
194
|
-
if (rent.owner !== SYSVAR_OWNER ||
|
|
195
|
-
rent.executable ||
|
|
196
|
-
rent.data.length !== 17)
|
|
197
|
-
failWalletCargo('The deployment Rent sysvar has an unsupported owner or layout. Verify storage funding before creating an ATA.', RENT_SYSVAR);
|
|
198
|
-
const rentView = new DataView(rent.data.buffer, rent.data.byteOffset, rent.data.byteLength);
|
|
199
|
-
const rate = rentView.getBigUint64(0, true);
|
|
200
|
-
const threshold = rentView.getFloat64(8, true);
|
|
201
|
-
const rawCost = Number(rate * 293n) * threshold;
|
|
202
|
-
if (!Number.isFinite(rawCost) ||
|
|
203
|
-
rawCost < 0 ||
|
|
204
|
-
!Number.isSafeInteger(Math.floor(rawCost)))
|
|
205
|
-
failWalletCargo('ATA rent exemption cannot be represented exactly for this deployment.', RENT_SYSVAR);
|
|
206
|
-
const storageFunding = BigInt(Math.floor(rawCost));
|
|
207
|
-
if (payer.owner !== SYSTEM_PROGRAM ||
|
|
208
|
-
payer.executable ||
|
|
209
|
-
payer.data.length !== 0 ||
|
|
210
|
-
payer.lamports < storageFunding)
|
|
211
|
-
failWalletCargo(`ATA payer must be a System wallet with at least ${String(storageFunding)} lamports for storage, in addition to transaction fees.`, creation.payer);
|
|
212
|
-
preconditions.push(...(await Promise.all(extra.map((account, index) => observeWalletAccount(account, [
|
|
213
|
-
'Rent configuration',
|
|
214
|
-
'ATA payer identity',
|
|
215
|
-
'associated-token program',
|
|
216
|
-
'System program',
|
|
217
|
-
'Token program',
|
|
218
|
-
][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, {
|
|
219
105
|
kind: 'token-account-or-absent',
|
|
220
106
|
address: destination,
|
|
221
|
-
mint:
|
|
107
|
+
mint: cargo.mint,
|
|
222
108
|
owner: options.recipient,
|
|
223
109
|
describes: 'The canonical recipient ATA is absent or a valid initialized unfrozen original Token account for this exact mint and recipient.',
|
|
224
110
|
});
|
|
225
111
|
steps.push({
|
|
226
|
-
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.`,
|
|
227
113
|
signers: [creation.payer],
|
|
228
|
-
instruction:
|
|
229
|
-
programAddress: ATA_PROGRAM,
|
|
230
|
-
accounts: [
|
|
231
|
-
{ address: creation.payer, role: AccountRole.WRITABLE_SIGNER },
|
|
232
|
-
{ address: destination, role: AccountRole.WRITABLE },
|
|
233
|
-
{ address: options.recipient, role: AccountRole.READONLY },
|
|
234
|
-
{ address: config.cargo.mint, role: AccountRole.READONLY },
|
|
235
|
-
{ address: SYSTEM_PROGRAM, role: AccountRole.READONLY },
|
|
236
|
-
{ address: ORIGINAL_TOKEN_PROGRAM, role: AccountRole.READONLY },
|
|
237
|
-
],
|
|
238
|
-
data: new Uint8Array([1]),
|
|
239
|
-
},
|
|
114
|
+
instruction: ata.instruction,
|
|
240
115
|
});
|
|
241
116
|
}
|
|
242
117
|
const epoch = cacheData.cargoTypeCache.get(options.cargoId);
|
|
243
|
-
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.'}`;
|
|
244
119
|
steps.push({
|
|
245
120
|
describes,
|
|
246
121
|
signers: [options.authorization.authority],
|
|
247
122
|
instruction: adaptWithdrawCargoFromGameInstruction({
|
|
248
123
|
authorization: options.authorization,
|
|
249
|
-
systemAndStarbasePlayerSystem:
|
|
250
|
-
systemAndStarbasePlayerStarbasePlayer: player,
|
|
124
|
+
systemAndStarbasePlayerSystem: cargo.system,
|
|
125
|
+
systemAndStarbasePlayerStarbasePlayer: cargo.player,
|
|
251
126
|
game,
|
|
252
|
-
cargoCache: cache,
|
|
127
|
+
cargoCache: cargo.cache,
|
|
253
128
|
source,
|
|
254
129
|
destination,
|
|
255
130
|
amount: options.amount,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdrawal.js","sourceRoot":"","sources":["../../../src/cargo/actions/withdrawal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"withdrawal.js","sourceRoot":"","sources":["../../../src/cargo/actions/withdrawal.ts"],"names":[],"mappings":"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"}
|
|
@@ -255,6 +255,9 @@ export declare function planPlaceClaimStake(ctx: SageContext, body: CelestialBod
|
|
|
255
255
|
* construction cargo. Rent synchronization and the final concurrent sequence
|
|
256
256
|
* race remain chain-authoritative.
|
|
257
257
|
*
|
|
258
|
+
* Requires Game 2 and its existing canonical Claim Stake XP ledger.
|
|
259
|
+
* Missing XP state must be repaired outside this Plan; no accounts are created.
|
|
260
|
+
*
|
|
258
261
|
* @example
|
|
259
262
|
* ```ts
|
|
260
263
|
* declare const ctx: SageContext;
|
|
@@ -272,6 +275,10 @@ export declare function planClaimStakeBuildingChanges(ctx: SageContext, stake: C
|
|
|
272
275
|
* CurrencyCache, and a known positive rent balance. Rent timing and the final
|
|
273
276
|
* crew/building validation remain chain-authoritative.
|
|
274
277
|
*
|
|
278
|
+
* Requires Game 2 and its existing canonical Claim Stake XP ledger.
|
|
279
|
+
* The Character XP budget and configuration must also be reconciled.
|
|
280
|
+
* Missing XP state must be repaired outside this Plan; no accounts are created.
|
|
281
|
+
*
|
|
275
282
|
* @example
|
|
276
283
|
* ```ts
|
|
277
284
|
* declare const ctx: SageContext;
|
|
@@ -293,6 +300,9 @@ export declare function planFinalizeClaimStakeBuildingChanges(ctx: SageContext,
|
|
|
293
300
|
* state; rent arithmetic and concurrent state transitions remain
|
|
294
301
|
* chain-authoritative.
|
|
295
302
|
*
|
|
303
|
+
* Requires Game 2 and its existing canonical Claim Stake XP ledger.
|
|
304
|
+
* Missing XP state must be repaired outside this Plan; no accounts are created.
|
|
305
|
+
*
|
|
296
306
|
* @example
|
|
297
307
|
* ```ts
|
|
298
308
|
* declare const ctx: SageContext;
|
|
@@ -352,6 +362,9 @@ export declare function planTopUpClaimStakeRent(ctx: SageContext, stake: ClaimSt
|
|
|
352
362
|
* FleetCrewBinding. The chain remains authoritative for range, duration,
|
|
353
363
|
* permission bits, concurrent state changes, and transfer arithmetic.
|
|
354
364
|
*
|
|
365
|
+
* Requires Game 2 and its existing canonical Claim Stake XP ledger.
|
|
366
|
+
* Missing XP state must be repaired outside this Plan; no accounts are created.
|
|
367
|
+
*
|
|
355
368
|
* @example
|
|
356
369
|
* ```ts
|
|
357
370
|
* declare const ctx: SageContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/claim-stakes/actions/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/claim-stakes/actions/index.ts"],"names":[],"mappings":"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"}
|