@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,45 +1,10 @@
|
|
|
1
1
|
import { translatePermissions, } from './profile-permissions.js';
|
|
2
2
|
import { PLAYER_PROFILE_PROGRAM_ADDRESS, PROFILE_DISCRIMINATOR, getProfileDecoder, } from '@staratlas/dev-player-profile';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { AccountDecodeError, InvalidAccountOwnerError, InvalidDiscriminatorError, } from '../../client/errors.js';
|
|
6
|
-
import { translateCharacterModifier } from './character-modifier.js';
|
|
7
|
-
const FLOYDS_PER_ATLAS = 100_000_000;
|
|
3
|
+
import { AccountDecodeError } from '../../client/errors.js';
|
|
4
|
+
import { decodeExactly, immutableBytes, littleEndianBytesToBigInt, validateAccount, } from './account-decoding.js';
|
|
8
5
|
const PROFILE_MINIMUM_DATA_LENGTH = 30;
|
|
9
6
|
const PROFILE_KEY_DATA_LENGTH = 80;
|
|
10
|
-
const
|
|
11
|
-
function immutableBytes(bytes) {
|
|
12
|
-
return Object.freeze(Array.from(bytes));
|
|
13
|
-
}
|
|
14
|
-
const PROFILE_ACCOUNT_DISCRIMINATOR = immutableBytes(PROFILE_DISCRIMINATOR);
|
|
15
|
-
const CHARACTER_ACCOUNT_DISCRIMINATOR = immutableBytes(CHARACTER_DISCRIMINATOR);
|
|
16
|
-
function littleEndianBytesToBigInt(bytes) {
|
|
17
|
-
return bytes.reduceRight((value, byte) => (value << 8n) | BigInt(byte), 0n);
|
|
18
|
-
}
|
|
19
|
-
function validateAccount(account, type, owner, discriminator, minimumDataLength) {
|
|
20
|
-
if (account.owner !== owner) {
|
|
21
|
-
throw new InvalidAccountOwnerError(type, account.address, owner, account.owner);
|
|
22
|
-
}
|
|
23
|
-
if (account.data.length < discriminator.length ||
|
|
24
|
-
discriminator.some((byte, index) => account.data[index] !== byte)) {
|
|
25
|
-
throw new InvalidDiscriminatorError(type, account.address);
|
|
26
|
-
}
|
|
27
|
-
if (account.data.length < minimumDataLength) {
|
|
28
|
-
throw new AccountDecodeError(type, account.address, new RangeError(`Expected at least ${minimumDataLength} account bytes, received ${account.data.length}.`));
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
function decodeExactly(account, type, decoder) {
|
|
32
|
-
try {
|
|
33
|
-
const [decoded, offset] = decoder.read(account.data, 0);
|
|
34
|
-
if (offset !== account.data.length) {
|
|
35
|
-
throw new RangeError(`Decoded ${offset} of ${account.data.length} account bytes; trailing bytes are not accepted.`);
|
|
36
|
-
}
|
|
37
|
-
return decoded;
|
|
38
|
-
}
|
|
39
|
-
catch (cause) {
|
|
40
|
-
throw new AccountDecodeError(type, account.address, cause);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
7
|
+
const PROFILE_ACCOUNT_DISCRIMINATOR = /* @__PURE__ */ immutableBytes(PROFILE_DISCRIMINATOR);
|
|
43
8
|
function validateProfileShape(account) {
|
|
44
9
|
const keyCount = account.data[28] | (account.data[29] << 8);
|
|
45
10
|
const expectedLength = PROFILE_MINIMUM_DATA_LENGTH + keyCount * PROFILE_KEY_DATA_LENGTH;
|
|
@@ -67,58 +32,16 @@ function translateProfile(profile) {
|
|
|
67
32
|
version: profile.version,
|
|
68
33
|
};
|
|
69
34
|
}
|
|
70
|
-
function translateCharacter(character) {
|
|
71
|
-
const carryRaw = littleEndianBytesToBigInt(character.pilotXpBudget.fractionalCarry);
|
|
72
|
-
return {
|
|
73
|
-
atlas: Number(character.atlas) / FLOYDS_PER_ATLAS,
|
|
74
|
-
atlasRaw: character.atlas,
|
|
75
|
-
bump: character.bump,
|
|
76
|
-
checkIn: {
|
|
77
|
-
lastCheckInTime: character.checkInInfo.lastCheckInTime,
|
|
78
|
-
streak: character.checkInInfo.checkInStreak,
|
|
79
|
-
},
|
|
80
|
-
counts: { ...character.counts },
|
|
81
|
-
game: character.gameId,
|
|
82
|
-
modifiers: {
|
|
83
|
-
nodeLevels: [...character.characterModifiers.nodeLevels].map(([nodeId, level]) => ({ level, nodeId })),
|
|
84
|
-
seqId: character.characterModifiers.seqId,
|
|
85
|
-
unlockedNodes: [...character.characterModifiers.unlockedNodes],
|
|
86
|
-
unupdatedCount: character.characterModifiers.unupdatedCount,
|
|
87
|
-
values: translateCharacterModifier(character.characterModifiers.modifiers),
|
|
88
|
-
},
|
|
89
|
-
pilotXpBudget: {
|
|
90
|
-
available: character.pilotXpBudget.available,
|
|
91
|
-
fractionalCarry: Number(carryRaw) / 2 ** 48,
|
|
92
|
-
fractionalCarryRaw: carryRaw,
|
|
93
|
-
lastAccrualTime: character.pilotXpBudget.lastAccrualTime,
|
|
94
|
-
},
|
|
95
|
-
playerProfile: character.playerProfile,
|
|
96
|
-
version: character.version,
|
|
97
|
-
xp: {
|
|
98
|
-
...character.xpInfo,
|
|
99
|
-
building: { ...character.xpInfo.building },
|
|
100
|
-
combat: { ...character.xpInfo.combat },
|
|
101
|
-
councilRank: { ...character.xpInfo.councilRank },
|
|
102
|
-
crafting: { ...character.xpInfo.crafting },
|
|
103
|
-
dailyXp: { ...character.xpInfo.dailyXp },
|
|
104
|
-
dataRunner: { ...character.xpInfo.dataRunner },
|
|
105
|
-
mining: { ...character.xpInfo.mining },
|
|
106
|
-
pilot: { ...character.xpInfo.pilot },
|
|
107
|
-
},
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
35
|
function validateProfileAccount(account) {
|
|
111
36
|
validateAccount(account, 'profile', PLAYER_PROFILE_PROGRAM_ADDRESS, PROFILE_ACCOUNT_DISCRIMINATOR, PROFILE_MINIMUM_DATA_LENGTH);
|
|
112
37
|
}
|
|
113
|
-
function
|
|
114
|
-
validateAccount(account, 'character', SAGE_PROGRAM_ADDRESS, CHARACTER_ACCOUNT_DISCRIMINATOR, CHARACTER_MINIMUM_DATA_LENGTH);
|
|
115
|
-
}
|
|
116
|
-
function validateProfileAccountShape(account) {
|
|
38
|
+
export function validateProfileAccountShape(account) {
|
|
117
39
|
validateProfileAccount(account);
|
|
118
40
|
validateProfileShape(account);
|
|
119
41
|
}
|
|
120
42
|
/** Stable Player Profile account definition for the pinned C4 bindings. */
|
|
121
|
-
export const profileAccountDefinition =
|
|
43
|
+
export const profileAccountDefinition =
|
|
44
|
+
/* @__PURE__ */ Object.freeze({
|
|
122
45
|
decode(account) {
|
|
123
46
|
validateProfileAccountShape(account);
|
|
124
47
|
return translateProfile(decodeExactly(account, 'profile', getProfileDecoder()));
|
|
@@ -129,31 +52,4 @@ export const profileAccountDefinition = Object.freeze({
|
|
|
129
52
|
type: 'profile',
|
|
130
53
|
validate: validateProfileAccountShape,
|
|
131
54
|
});
|
|
132
|
-
/** Stable Character account definition for the pinned C4 bindings. */
|
|
133
|
-
export const characterAccountDefinition = Object.freeze({
|
|
134
|
-
decode(account) {
|
|
135
|
-
validateCharacterAccount(account);
|
|
136
|
-
return translateCharacter(decodeExactly(account, 'character', getCharacterDecoder()));
|
|
137
|
-
},
|
|
138
|
-
discriminator: CHARACTER_ACCOUNT_DISCRIMINATOR,
|
|
139
|
-
minimumDataLength: CHARACTER_MINIMUM_DATA_LENGTH,
|
|
140
|
-
programAddress: SAGE_PROGRAM_ADDRESS,
|
|
141
|
-
type: 'character',
|
|
142
|
-
validate: validateCharacterAccount,
|
|
143
|
-
});
|
|
144
|
-
/** Derives the C4 Character address for a Player Profile and Game. */
|
|
145
|
-
export async function findCharacterPda(playerProfile, game) {
|
|
146
|
-
// Mirrors the pinned generated `findCharacterPda` seed recipe. Calling the
|
|
147
|
-
// generated bundle directly selects its browser-only crypto assertion under
|
|
148
|
-
// Node, while Kit's conditional export works in both supported environments.
|
|
149
|
-
const [address] = await getProgramDerivedAddress({
|
|
150
|
-
programAddress: SAGE_PROGRAM_ADDRESS,
|
|
151
|
-
seeds: [
|
|
152
|
-
getBytesEncoder().encode(new Uint8Array([67, 104, 97, 114, 97, 99, 116, 101, 114])),
|
|
153
|
-
getAddressEncoder().encode(playerProfile),
|
|
154
|
-
getAddressEncoder().encode(game),
|
|
155
|
-
],
|
|
156
|
-
});
|
|
157
|
-
return address;
|
|
158
|
-
}
|
|
159
55
|
//# sourceMappingURL=identity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/internal/c4/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,GAErB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,8BAA8B,EAC9B,qBAAqB,EACrB,iBAAiB,GAElB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/internal/c4/identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type Address, type Instruction } from '@solana/kit';
|
|
2
|
+
import { SAGE_PROGRAM_ADDRESS, PLACE_LOCAL_MARKET_ORDER_DISCRIMINATOR } from '@staratlas/dev-sage';
|
|
3
|
+
export { SAGE_PROGRAM_ADDRESS, PLACE_LOCAL_MARKET_ORDER_DISCRIMINATOR };
|
|
4
|
+
export { CURRENCY_CONFIG_CACHE_DISCRIMINATOR, getCurrencyConfigCacheDecoder, } from '@staratlas/dev-sage';
|
|
5
|
+
/** Pinned maker map key (32), MakerInfo (26), and OrderInfo (56); codec contract-tested. */
|
|
6
|
+
export declare const LOCAL_MARKET_MAXIMUM_GROWTH_BYTES = 114;
|
|
7
|
+
interface LocalMarketPlacementIntent {
|
|
8
|
+
readonly authority: Address;
|
|
9
|
+
readonly profile: Address;
|
|
10
|
+
readonly certificate?: Address;
|
|
11
|
+
readonly game: Address;
|
|
12
|
+
readonly character: Address;
|
|
13
|
+
readonly system: Address;
|
|
14
|
+
readonly starbasePlayer: Address;
|
|
15
|
+
readonly address: Address;
|
|
16
|
+
readonly keyIndex: number;
|
|
17
|
+
readonly side: 'bid' | 'ask';
|
|
18
|
+
readonly priceRaw: bigint;
|
|
19
|
+
readonly quantity: bigint;
|
|
20
|
+
readonly starbaseGovernance: Address;
|
|
21
|
+
readonly currencyCache: Address;
|
|
22
|
+
readonly starbaseTreasury?: Address;
|
|
23
|
+
readonly democracyHistoryHistory: Address;
|
|
24
|
+
readonly democracyHistoryPolicy?: Address;
|
|
25
|
+
readonly democracyHistoryGeneration?: Address;
|
|
26
|
+
}
|
|
27
|
+
/** Exact pinned C4 placement layout, contract-tested against the generated builder.
|
|
28
|
+
* The shared Plan validator must not import that builder and its codec graph.
|
|
29
|
+
*/
|
|
30
|
+
export declare function matchesLocalMarketPlacement(instruction: Instruction, intent: LocalMarketPlacementIntent): boolean;
|
|
31
|
+
//# sourceMappingURL=local-market-order.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-market-order.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/local-market-order.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EACL,oBAAoB,EACpB,sCAAsC,EACvC,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,oBAAoB,EAAE,sCAAsC,EAAE,CAAC;AACxE,OAAO,EACL,mCAAmC,EACnC,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAE7B,4FAA4F;AAC5F,eAAO,MAAM,iCAAiC,MAAM,CAAC;AAErD,UAAU,0BAA0B;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC;CAC/C;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,0BAA0B,GACjC,OAAO,CA8CT"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { AccountRole } from '@solana/kit';
|
|
2
|
+
import { SAGE_PROGRAM_ADDRESS, PLACE_LOCAL_MARKET_ORDER_DISCRIMINATOR, } from '@staratlas/dev-sage';
|
|
3
|
+
import { PLAYER_PROFILE_PROGRAM_ADDRESS } from '@staratlas/dev-player-profile';
|
|
4
|
+
export { SAGE_PROGRAM_ADDRESS, PLACE_LOCAL_MARKET_ORDER_DISCRIMINATOR };
|
|
5
|
+
export { CURRENCY_CONFIG_CACHE_DISCRIMINATOR, getCurrencyConfigCacheDecoder, } from '@staratlas/dev-sage';
|
|
6
|
+
/** Pinned maker map key (32), MakerInfo (26), and OrderInfo (56); codec contract-tested. */
|
|
7
|
+
export const LOCAL_MARKET_MAXIMUM_GROWTH_BYTES = 114;
|
|
8
|
+
/** Exact pinned C4 placement layout, contract-tested against the generated builder.
|
|
9
|
+
* The shared Plan validator must not import that builder and its codec graph.
|
|
10
|
+
*/
|
|
11
|
+
export function matchesLocalMarketPlacement(instruction, intent) {
|
|
12
|
+
const data = instruction.data;
|
|
13
|
+
if (instruction.programAddress !== SAGE_PROGRAM_ADDRESS ||
|
|
14
|
+
data?.length !== 28)
|
|
15
|
+
return false;
|
|
16
|
+
const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
|
|
17
|
+
if (!PLACE_LOCAL_MARKET_ORDER_DISCRIMINATOR.every((byte, index) => data[index] === byte) ||
|
|
18
|
+
view.getUint16(8, true) !== intent.keyIndex ||
|
|
19
|
+
data[10] !== (intent.side === 'bid' ? 0 : 1) ||
|
|
20
|
+
view.getBigUint64(11, true) !== intent.priceRaw ||
|
|
21
|
+
view.getBigUint64(19, true) !== intent.quantity ||
|
|
22
|
+
data[27] !== 0)
|
|
23
|
+
return false;
|
|
24
|
+
const expected = [
|
|
25
|
+
[intent.authority, AccountRole.READONLY_SIGNER],
|
|
26
|
+
[intent.profile, AccountRole.WRITABLE],
|
|
27
|
+
[intent.certificate, AccountRole.READONLY],
|
|
28
|
+
[PLAYER_PROFILE_PROGRAM_ADDRESS, AccountRole.READONLY],
|
|
29
|
+
[intent.game, AccountRole.READONLY],
|
|
30
|
+
[intent.character, AccountRole.WRITABLE],
|
|
31
|
+
[intent.system, AccountRole.READONLY],
|
|
32
|
+
[intent.starbasePlayer, AccountRole.WRITABLE],
|
|
33
|
+
[intent.address, AccountRole.WRITABLE],
|
|
34
|
+
[intent.starbaseGovernance, AccountRole.READONLY],
|
|
35
|
+
[intent.currencyCache, AccountRole.WRITABLE],
|
|
36
|
+
[intent.starbaseTreasury, AccountRole.WRITABLE],
|
|
37
|
+
[intent.democracyHistoryHistory, AccountRole.WRITABLE],
|
|
38
|
+
[intent.democracyHistoryPolicy, AccountRole.READONLY],
|
|
39
|
+
[intent.democracyHistoryGeneration, AccountRole.WRITABLE],
|
|
40
|
+
];
|
|
41
|
+
return (instruction.accounts?.length === expected.length &&
|
|
42
|
+
expected.every(([address, role], index) => instruction.accounts[index].address ===
|
|
43
|
+
(address ?? SAGE_PROGRAM_ADDRESS) &&
|
|
44
|
+
instruction.accounts[index].role ===
|
|
45
|
+
(address === undefined ? AccountRole.READONLY : role)));
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=local-market-order.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-market-order.js","sourceRoot":"","sources":["../../../src/internal/c4/local-market-order.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAC1E,OAAO,EACL,oBAAoB,EACpB,sCAAsC,GACvC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAE/E,OAAO,EAAE,oBAAoB,EAAE,sCAAsC,EAAE,CAAC;AACxE,OAAO,EACL,mCAAmC,EACnC,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAE7B,4FAA4F;AAC5F,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,CAAC;AAuBrD;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,WAAwB,EACxB,MAAkC;IAElC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;IAC9B,IACE,WAAW,CAAC,cAAc,KAAK,oBAAoB;QACnD,IAAI,EAAE,MAAM,KAAK,EAAE;QAEnB,OAAO,KAAK,CAAC;IACf,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACzE,IACE,CAAC,sCAAsC,CAAC,KAAK,CAC3C,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CACtC;QACD,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,MAAM,CAAC,QAAQ;QAC3C,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,MAAM,CAAC,QAAQ;QAC/C,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,MAAM,CAAC,QAAQ;QAC/C,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;QAEd,OAAO,KAAK,CAAC;IACf,MAAM,QAAQ,GAA6D;QACzE,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,eAAe,CAAC;QAC/C,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC;QACtC,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC;QAC1C,CAAC,8BAA8B,EAAE,WAAW,CAAC,QAAQ,CAAC;QACtD,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC;QACnC,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC;QACxC,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC;QACrC,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,QAAQ,CAAC;QAC7C,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC;QACtC,CAAC,MAAM,CAAC,kBAAkB,EAAE,WAAW,CAAC,QAAQ,CAAC;QACjD,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,QAAQ,CAAC;QAC5C,CAAC,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC,QAAQ,CAAC;QAC/C,CAAC,MAAM,CAAC,uBAAuB,EAAE,WAAW,CAAC,QAAQ,CAAC;QACtD,CAAC,MAAM,CAAC,sBAAsB,EAAE,WAAW,CAAC,QAAQ,CAAC;QACrD,CAAC,MAAM,CAAC,0BAA0B,EAAE,WAAW,CAAC,QAAQ,CAAC;KAC1D,CAAC;IACF,OAAO,CACL,WAAW,CAAC,QAAQ,EAAE,MAAM,KAAK,QAAQ,CAAC,MAAM;QAChD,QAAQ,CAAC,KAAK,CACZ,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CACzB,WAAW,CAAC,QAAS,CAAC,KAAK,CAAE,CAAC,OAAO;YACnC,CAAC,OAAO,IAAI,oBAAoB,CAAC;YACnC,WAAW,CAAC,QAAS,CAAC,KAAK,CAAE,CAAC,IAAI;gBAChC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAC1D,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { AccountDecodeError } from '../../client/errors.js';
|
|
|
2
2
|
/** Minimum byte length shared by every validated C4 Loot adapter. */
|
|
3
3
|
export const LOOT_MINIMUM_DATA_LENGTH = 221;
|
|
4
4
|
/** Stable Loot filter offsets verified against the pinned generated codec. */
|
|
5
|
-
export const LOOT_FILTER_OFFSETS = Object.freeze({
|
|
5
|
+
export const LOOT_FILTER_OFFSETS = /* @__PURE__ */ Object.freeze({
|
|
6
6
|
discriminator: 0,
|
|
7
7
|
game: 9,
|
|
8
8
|
profile: 41,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loot-layout.js","sourceRoot":"","sources":["../../../src/internal/c4/loot-layout.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,qEAAqE;AACrE,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAE5C,8EAA8E;AAC9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/
|
|
1
|
+
{"version":3,"file":"loot-layout.js","sourceRoot":"","sources":["../../../src/internal/c4/loot-layout.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,qEAAqE;AACrE,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAE5C,8EAA8E;AAC9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC;IAC/D,aAAa,EAAE,CAAC;IAChB,IAAI,EAAE,CAAC;IACP,OAAO,EAAE,EAAE;CACZ,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAmB,EAAE,KAAW;IAC/D,MAAM,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CACpD,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAChB,KAAK,KAAK,CAAC,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAE,CAC7D,CAAC;IACF,IACE,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM;QAC9C,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM;QAChE,CAAC,iBAAiB,EAClB,CAAC;QACD,MAAM,IAAI,kBAAkB,CAC1B,MAAM,EACN,OAAO,CAAC,OAAO,EACf,IAAI,UAAU,CAAC,qDAAqD,CAAC,EACrE,QAAQ,OAAO,CAAC,OAAO,gIAAgI,CACxJ,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,IAAI,KAAK,CAAC,cAAc,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,kBAAkB,CAC1B,MAAM,EACN,OAAO,CAAC,OAAO,EACf,IAAI,UAAU,CACZ,0DAA0D,CAC3D,EACD,QAAQ,OAAO,CAAC,OAAO,oIAAoI,CAC5J,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { Address, DiscoveryRequest, ProgramAccountFilter, SageContext, SnapshotEnvelope } from '../../client/contracts.js';
|
|
2
|
+
import type { C4AccountAdapter } from './adapter.js';
|
|
3
|
+
export { LOOT_FILTER_OFFSETS } from './loot-layout.js';
|
|
4
|
+
export interface LootCargoAmountData {
|
|
5
|
+
readonly cargoId: number;
|
|
6
|
+
readonly amount: bigint;
|
|
7
|
+
}
|
|
8
|
+
export interface LootInventoryData {
|
|
9
|
+
readonly sequenceId: number;
|
|
10
|
+
readonly usedStorageUnitsRaw: bigint;
|
|
11
|
+
readonly amounts: readonly LootCargoAmountData[];
|
|
12
|
+
}
|
|
13
|
+
export interface LootItemData {
|
|
14
|
+
readonly destroyer: Address;
|
|
15
|
+
readonly exclusivityUnlockAtUnixSeconds: bigint;
|
|
16
|
+
readonly rewardReclaimAtUnixSeconds: bigint;
|
|
17
|
+
readonly inventory: LootInventoryData;
|
|
18
|
+
}
|
|
19
|
+
export interface LootRewardLegData {
|
|
20
|
+
readonly recipient: Address;
|
|
21
|
+
readonly medallionsRaw: bigint;
|
|
22
|
+
readonly salvageTargetValueRaw: bigint;
|
|
23
|
+
}
|
|
24
|
+
export type LootRewardData = {
|
|
25
|
+
readonly kind: 'none';
|
|
26
|
+
} | {
|
|
27
|
+
readonly kind: 'committed' | 'resolved';
|
|
28
|
+
readonly configVersion: number;
|
|
29
|
+
readonly slot: bigint;
|
|
30
|
+
readonly committedAtUnixSeconds: bigint;
|
|
31
|
+
readonly legs: readonly LootRewardLegData[];
|
|
32
|
+
} | {
|
|
33
|
+
readonly kind: 'unknown';
|
|
34
|
+
readonly rawStatus: number;
|
|
35
|
+
readonly configVersion: number;
|
|
36
|
+
readonly slot: bigint;
|
|
37
|
+
readonly committedAtUnixSeconds: bigint;
|
|
38
|
+
readonly legs: readonly LootRewardLegData[];
|
|
39
|
+
};
|
|
40
|
+
/** Fully translated Loot account data before cargo-definition resolution. */
|
|
41
|
+
export interface LootAccountData {
|
|
42
|
+
readonly version: number;
|
|
43
|
+
readonly game: Address;
|
|
44
|
+
readonly profile: Address;
|
|
45
|
+
readonly coordinates: {
|
|
46
|
+
readonly x: number;
|
|
47
|
+
readonly y: number;
|
|
48
|
+
};
|
|
49
|
+
readonly reward: LootRewardData;
|
|
50
|
+
readonly items: readonly LootItemData[];
|
|
51
|
+
}
|
|
52
|
+
/** The shared Loot account definition for every domain read. */
|
|
53
|
+
export declare const lootAccountDefinition: C4AccountAdapter<LootAccountData>;
|
|
54
|
+
/** Builds stable targeted filters for Loot by Game and creator Profile. */
|
|
55
|
+
export declare function buildLootDiscoveryFilters(game: Address, profile: Address): readonly ProgramAccountFilter[];
|
|
56
|
+
/** Discovers Loot by stable Game/Profile fields and revalidates every decoded hint. */
|
|
57
|
+
export declare function discoverLootAccounts(context: SageContext, profile: Address, options?: Omit<DiscoveryRequest, 'filters' | 'strategy'>): Promise<readonly SnapshotEnvelope<LootAccountData>[]>;
|
|
58
|
+
//# sourceMappingURL=loot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loot.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/loot.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,OAAO,EACP,gBAAgB,EAChB,oBAAoB,EAEpB,WAAW,EACX,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AAOnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAarD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,mBAAmB,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,8BAA8B,EAAE,MAAM,CAAC;IAChD,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;CACvC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;CACxC;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC7C,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC7C,CAAC;AAEN,6EAA6E;AAC7E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;CACzC;AA6FD,gEAAgE;AAChE,eAAO,MAAM,qBAAqB,EAAE,gBAAgB,CAAC,eAAe,CAahE,CAAC;AAEL,2EAA2E;AAC3E,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,OAAO,GACf,SAAS,oBAAoB,EAAE,CAejC;AAED,uFAAuF;AACvF,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,UAAU,CAAM,GAC3D,OAAO,CAAC,SAAS,gBAAgB,CAAC,eAAe,CAAC,EAAE,CAAC,CAmBvD"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { LOOT_DISCRIMINATOR, SAGE_PROGRAM_ADDRESS, getLootDecoder, } from '@staratlas/dev-sage';
|
|
2
|
+
import { getAddressEncoder } from '@solana/kit';
|
|
3
|
+
import { AccountDecodeError, InvalidAccountOwnerError, InvalidDiscriminatorError, MissingGameContextError, } from '../../client/errors.js';
|
|
4
|
+
import { assertLootLayout, LOOT_FILTER_OFFSETS, LOOT_MINIMUM_DATA_LENGTH, } from './loot-layout.js';
|
|
5
|
+
// One Loot definition for combat and rewards: the context cache keys on
|
|
6
|
+
// definition identity, so each Loot address is decoded and cached once (#881).
|
|
7
|
+
const LOOT_ACCOUNT_DISCRIMINATOR = /* @__PURE__ */ Object.freeze(
|
|
8
|
+
/* @__PURE__ */ Array.from(LOOT_DISCRIMINATOR));
|
|
9
|
+
export { LOOT_FILTER_OFFSETS } from './loot-layout.js';
|
|
10
|
+
function validateLootAccount(account) {
|
|
11
|
+
if (account.owner !== SAGE_PROGRAM_ADDRESS) {
|
|
12
|
+
throw new InvalidAccountOwnerError('loot', account.address, SAGE_PROGRAM_ADDRESS, account.owner);
|
|
13
|
+
}
|
|
14
|
+
if (account.data.length < LOOT_ACCOUNT_DISCRIMINATOR.length ||
|
|
15
|
+
LOOT_ACCOUNT_DISCRIMINATOR.some((byte, index) => account.data[index] !== byte)) {
|
|
16
|
+
throw new InvalidDiscriminatorError('loot', account.address);
|
|
17
|
+
}
|
|
18
|
+
if (account.data.length < LOOT_MINIMUM_DATA_LENGTH) {
|
|
19
|
+
throw new AccountDecodeError('loot', account.address, new RangeError(`Expected at least ${LOOT_MINIMUM_DATA_LENGTH} Loot account bytes, received ${account.data.length}.`));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function decodeLoot(account) {
|
|
23
|
+
try {
|
|
24
|
+
const [decoded, offset] = getLootDecoder().read(account.data, 0);
|
|
25
|
+
if (offset !== account.data.length) {
|
|
26
|
+
throw new RangeError(`Decoded ${offset} of ${account.data.length} loot account bytes; trailing bytes are not accepted.`);
|
|
27
|
+
}
|
|
28
|
+
return decoded;
|
|
29
|
+
}
|
|
30
|
+
catch (cause) {
|
|
31
|
+
throw new AccountDecodeError('loot', account.address, cause);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function cargoPod(value) {
|
|
35
|
+
return {
|
|
36
|
+
amounts: [...value.amounts].map(([cargoId, amount]) => ({
|
|
37
|
+
amount,
|
|
38
|
+
cargoId,
|
|
39
|
+
})),
|
|
40
|
+
sequenceId: value.seqId,
|
|
41
|
+
usedStorageUnitsRaw: value.storageCost,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
function reward(value) {
|
|
45
|
+
if (value.rewardStatus === 0)
|
|
46
|
+
return { kind: 'none' };
|
|
47
|
+
return {
|
|
48
|
+
committedAtUnixSeconds: value.rewardCommittedAt,
|
|
49
|
+
configVersion: value.rewardConfigVersion,
|
|
50
|
+
...(value.rewardStatus === 1
|
|
51
|
+
? { kind: 'committed' }
|
|
52
|
+
: value.rewardStatus === 2
|
|
53
|
+
? { kind: 'resolved' }
|
|
54
|
+
: { kind: 'unknown', rawStatus: value.rewardStatus }),
|
|
55
|
+
legs: value.rewardLegs.slice(0, value.rewardLegCount).map((leg) => ({
|
|
56
|
+
medallionsRaw: leg.medallions,
|
|
57
|
+
recipient: leg.recipient,
|
|
58
|
+
salvageTargetValueRaw: leg.salvageTargetValue,
|
|
59
|
+
})),
|
|
60
|
+
slot: value.rewardCommitSlot,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function translateLoot(value) {
|
|
64
|
+
return {
|
|
65
|
+
coordinates: {
|
|
66
|
+
x: value.coordinates[0].toNumber(),
|
|
67
|
+
y: value.coordinates[1].toNumber(),
|
|
68
|
+
},
|
|
69
|
+
game: value.gameId,
|
|
70
|
+
items: value.items.unsizedList.map((item) => ({
|
|
71
|
+
destroyer: item.destroyer,
|
|
72
|
+
exclusivityUnlockAtUnixSeconds: item.exclusivityUnlockTime,
|
|
73
|
+
inventory: cargoPod(item.loot),
|
|
74
|
+
rewardReclaimAtUnixSeconds: item.rewardReclaimAt,
|
|
75
|
+
})),
|
|
76
|
+
profile: value.profile,
|
|
77
|
+
reward: reward(value),
|
|
78
|
+
version: value.version,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
/** The shared Loot account definition for every domain read. */
|
|
82
|
+
export const lootAccountDefinition =
|
|
83
|
+
/* @__PURE__ */ Object.freeze({
|
|
84
|
+
decode(account) {
|
|
85
|
+
validateLootAccount(account);
|
|
86
|
+
const decoded = decodeLoot(account);
|
|
87
|
+
assertLootLayout(account, decoded);
|
|
88
|
+
return translateLoot(decoded);
|
|
89
|
+
},
|
|
90
|
+
discriminator: LOOT_ACCOUNT_DISCRIMINATOR,
|
|
91
|
+
minimumDataLength: LOOT_MINIMUM_DATA_LENGTH,
|
|
92
|
+
programAddress: SAGE_PROGRAM_ADDRESS,
|
|
93
|
+
type: 'loot',
|
|
94
|
+
validate: validateLootAccount,
|
|
95
|
+
});
|
|
96
|
+
/** Builds stable targeted filters for Loot by Game and creator Profile. */
|
|
97
|
+
export function buildLootDiscoveryFilters(game, profile) {
|
|
98
|
+
return Object.freeze([
|
|
99
|
+
{
|
|
100
|
+
bytes: new Uint8Array(LOOT_DISCRIMINATOR),
|
|
101
|
+
offset: LOOT_FILTER_OFFSETS.discriminator,
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
bytes: new Uint8Array(getAddressEncoder().encode(game)),
|
|
105
|
+
offset: LOOT_FILTER_OFFSETS.game,
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
bytes: new Uint8Array(getAddressEncoder().encode(profile)),
|
|
109
|
+
offset: LOOT_FILTER_OFFSETS.profile,
|
|
110
|
+
},
|
|
111
|
+
]);
|
|
112
|
+
}
|
|
113
|
+
/** Discovers Loot by stable Game/Profile fields and revalidates every decoded hint. */
|
|
114
|
+
export async function discoverLootAccounts(context, profile, options = {}) {
|
|
115
|
+
const game = context.game;
|
|
116
|
+
if (game === undefined)
|
|
117
|
+
throw new MissingGameContextError();
|
|
118
|
+
const loot = await context.data.discover(lootAccountDefinition, {
|
|
119
|
+
...options,
|
|
120
|
+
filters: buildLootDiscoveryFilters(game, profile),
|
|
121
|
+
strategy: 'targeted-program-accounts',
|
|
122
|
+
});
|
|
123
|
+
for (const candidate of loot) {
|
|
124
|
+
if (candidate.data.game !== game || candidate.data.profile !== profile) {
|
|
125
|
+
throw new AccountDecodeError('loot', candidate.address, new RangeError('Decoded Loot fields contradicted discovery filters.'), `A discovered Loot candidate did not match the requested Game and Profile after decoding. Verify the provider, configured cluster, and pinned Loot filter offsets before retrying.`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return loot;
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=loot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loot.js","sourceRoot":"","sources":["../../../src/internal/c4/loot.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,33 +17,6 @@ export declare const LOYALTY_ATLAS_BANK_FILTER_OFFSETS: Readonly<{
|
|
|
17
17
|
game: 10;
|
|
18
18
|
profile: 42;
|
|
19
19
|
}>;
|
|
20
|
-
/** Audited read and deferred-action relationships for loyalty state. */
|
|
21
|
-
export declare const LOYALTY_RELATIONSHIPS: readonly [{
|
|
22
|
-
readonly from: "game + faction + epoch | game + profile + faction";
|
|
23
|
-
readonly kind: "derived";
|
|
24
|
-
readonly mechanism: "generated LoyaltyEpoch, LoyaltyContribution, and LoyaltyAtlasBank PDA seeds";
|
|
25
|
-
readonly to: "loyalty state";
|
|
26
|
-
}, {
|
|
27
|
-
readonly from: "loyalty account";
|
|
28
|
-
readonly kind: "stored";
|
|
29
|
-
readonly mechanism: "repeated Game, Profile, faction, epoch, and reward config identity fields";
|
|
30
|
-
readonly to: "game | profile | faction | epoch | reward config";
|
|
31
|
-
}, {
|
|
32
|
-
readonly from: "epoch | contribution | bank";
|
|
33
|
-
readonly kind: "nested";
|
|
34
|
-
readonly mechanism: "lifecycle timestamps and exact LP/ATLAS values";
|
|
35
|
-
readonly to: "loyalty lifecycle and balances";
|
|
36
|
-
}, {
|
|
37
|
-
readonly from: "loyalty";
|
|
38
|
-
readonly kind: "instruction-only";
|
|
39
|
-
readonly mechanism: "initialization, settlement, sweeping, and claiming co-accounts are not durable relations";
|
|
40
|
-
readonly to: "actions";
|
|
41
|
-
}, {
|
|
42
|
-
readonly from: "faction | profile";
|
|
43
|
-
readonly kind: "discovered";
|
|
44
|
-
readonly mechanism: "verified discriminator and Game plus faction (epochs) or Profile (contributions and banks) offsets";
|
|
45
|
-
readonly to: "epochs | contributions | banks";
|
|
46
|
-
}];
|
|
47
20
|
export type LoyaltyEpochStatus = 'open' | 'closed' | 'swept';
|
|
48
21
|
export interface LoyaltyEpochAccountData {
|
|
49
22
|
readonly version: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loyalty.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/loyalty.ts"],"names":[],"mappings":"AAYA,OAAO,EAML,KAAK,OAAO,EAEb,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EACV,gBAAgB,EAEhB,oBAAoB,EAEpB,WAAW,EACX,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AAOnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EACL,8BAA8B,EAC9B,2BAA2B,EAG5B,MAAM,UAAU,CAAC;AAMlB,eAAO,MAAM,4BAA4B;;;;EAIvC,CAAC;AACH,eAAO,MAAM,mCAAmC;;;;
|
|
1
|
+
{"version":3,"file":"loyalty.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/loyalty.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,54 +5,22 @@ import { deriveAtlasRewardConfigAddress, deriveFactionAccountAddress, validateUn
|
|
|
5
5
|
const EPOCH_DATA_LENGTH = 156;
|
|
6
6
|
const CONTRIBUTION_DATA_LENGTH = 148;
|
|
7
7
|
const BANK_DATA_LENGTH = 170;
|
|
8
|
-
export const LOYALTY_EPOCH_FILTER_OFFSETS = Object.freeze({
|
|
8
|
+
export const LOYALTY_EPOCH_FILTER_OFFSETS = /* @__PURE__ */ Object.freeze({
|
|
9
9
|
discriminator: 0,
|
|
10
10
|
game: 12,
|
|
11
11
|
faction: 44,
|
|
12
12
|
});
|
|
13
|
-
export const LOYALTY_CONTRIBUTION_FILTER_OFFSETS =
|
|
13
|
+
export const LOYALTY_CONTRIBUTION_FILTER_OFFSETS =
|
|
14
|
+
/* @__PURE__ */ Object.freeze({
|
|
14
15
|
discriminator: 0,
|
|
15
16
|
game: 12,
|
|
16
17
|
profile: 44,
|
|
17
18
|
});
|
|
18
|
-
export const LOYALTY_ATLAS_BANK_FILTER_OFFSETS = Object.freeze({
|
|
19
|
+
export const LOYALTY_ATLAS_BANK_FILTER_OFFSETS = /* @__PURE__ */ Object.freeze({
|
|
19
20
|
discriminator: 0,
|
|
20
21
|
game: 10,
|
|
21
22
|
profile: 42,
|
|
22
23
|
});
|
|
23
|
-
/** Audited read and deferred-action relationships for loyalty state. */
|
|
24
|
-
export const LOYALTY_RELATIONSHIPS = Object.freeze([
|
|
25
|
-
{
|
|
26
|
-
from: 'game + faction + epoch | game + profile + faction',
|
|
27
|
-
kind: 'derived',
|
|
28
|
-
mechanism: 'generated LoyaltyEpoch, LoyaltyContribution, and LoyaltyAtlasBank PDA seeds',
|
|
29
|
-
to: 'loyalty state',
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
from: 'loyalty account',
|
|
33
|
-
kind: 'stored',
|
|
34
|
-
mechanism: 'repeated Game, Profile, faction, epoch, and reward config identity fields',
|
|
35
|
-
to: 'game | profile | faction | epoch | reward config',
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
from: 'epoch | contribution | bank',
|
|
39
|
-
kind: 'nested',
|
|
40
|
-
mechanism: 'lifecycle timestamps and exact LP/ATLAS values',
|
|
41
|
-
to: 'loyalty lifecycle and balances',
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
from: 'loyalty',
|
|
45
|
-
kind: 'instruction-only',
|
|
46
|
-
mechanism: 'initialization, settlement, sweeping, and claiming co-accounts are not durable relations',
|
|
47
|
-
to: 'actions',
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
from: 'faction | profile',
|
|
51
|
-
kind: 'discovered',
|
|
52
|
-
mechanism: 'verified discriminator and Game plus faction (epochs) or Profile (contributions and banks) offsets',
|
|
53
|
-
to: 'epochs | contributions | banks',
|
|
54
|
-
},
|
|
55
|
-
]);
|
|
56
24
|
function discriminator(value) {
|
|
57
25
|
return Object.freeze(Array.from(value));
|
|
58
26
|
}
|
|
@@ -152,10 +120,11 @@ function translateBank(value) {
|
|
|
152
120
|
version: value.version,
|
|
153
121
|
};
|
|
154
122
|
}
|
|
155
|
-
const epochDiscriminator = discriminator(LOYALTY_EPOCH_DISCRIMINATOR);
|
|
156
|
-
const contributionDiscriminator = discriminator(LOYALTY_CONTRIBUTION_DISCRIMINATOR);
|
|
157
|
-
const bankDiscriminator = discriminator(LOYALTY_ATLAS_BANK_DISCRIMINATOR);
|
|
158
|
-
export const loyaltyEpochAccountDefinition =
|
|
123
|
+
const epochDiscriminator = /* @__PURE__ */ discriminator(LOYALTY_EPOCH_DISCRIMINATOR);
|
|
124
|
+
const contributionDiscriminator = /* @__PURE__ */ discriminator(LOYALTY_CONTRIBUTION_DISCRIMINATOR);
|
|
125
|
+
const bankDiscriminator = /* @__PURE__ */ discriminator(LOYALTY_ATLAS_BANK_DISCRIMINATOR);
|
|
126
|
+
export const loyaltyEpochAccountDefinition =
|
|
127
|
+
/* @__PURE__ */ Object.freeze({
|
|
159
128
|
decode(account) {
|
|
160
129
|
validate(account, 'loyaltyEpoch', epochDiscriminator, EPOCH_DATA_LENGTH);
|
|
161
130
|
try {
|
|
@@ -175,7 +144,8 @@ export const loyaltyEpochAccountDefinition = Object.freeze({
|
|
|
175
144
|
validate(account, 'loyaltyEpoch', epochDiscriminator, EPOCH_DATA_LENGTH);
|
|
176
145
|
},
|
|
177
146
|
});
|
|
178
|
-
export const loyaltyContributionAccountDefinition =
|
|
147
|
+
export const loyaltyContributionAccountDefinition =
|
|
148
|
+
/* @__PURE__ */ Object.freeze({
|
|
179
149
|
decode(account) {
|
|
180
150
|
validate(account, 'loyaltyContribution', contributionDiscriminator, CONTRIBUTION_DATA_LENGTH);
|
|
181
151
|
const decoded = decodeExactly(account, 'loyaltyContribution', (bytes, offset) => getLoyaltyContributionDecoder().read(bytes, offset));
|
|
@@ -194,7 +164,8 @@ export const loyaltyContributionAccountDefinition = Object.freeze({
|
|
|
194
164
|
validate(account, 'loyaltyContribution', contributionDiscriminator, CONTRIBUTION_DATA_LENGTH);
|
|
195
165
|
},
|
|
196
166
|
});
|
|
197
|
-
export const loyaltyAtlasBankAccountDefinition =
|
|
167
|
+
export const loyaltyAtlasBankAccountDefinition =
|
|
168
|
+
/* @__PURE__ */ Object.freeze({
|
|
198
169
|
decode(account) {
|
|
199
170
|
validate(account, 'loyaltyAtlasBank', bankDiscriminator, BANK_DATA_LENGTH);
|
|
200
171
|
const decoded = decodeExactly(account, 'loyaltyAtlasBank', (bytes, offset) => getLoyaltyAtlasBankDecoder().read(bytes, offset));
|
|
@@ -213,7 +184,7 @@ export const loyaltyAtlasBankAccountDefinition = Object.freeze({
|
|
|
213
184
|
validate(account, 'loyaltyAtlasBank', bankDiscriminator, BANK_DATA_LENGTH);
|
|
214
185
|
},
|
|
215
186
|
});
|
|
216
|
-
const textEncoder = new TextEncoder();
|
|
187
|
+
const textEncoder = /* @__PURE__ */ new TextEncoder();
|
|
217
188
|
function seed(value) {
|
|
218
189
|
return getBytesEncoder().encode(textEncoder.encode(value));
|
|
219
190
|
}
|