@aephia/atlas-kit 0.5.0 → 0.6.0-next.10
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 +40 -27
- package/dist/cargo/actions/deposit.d.ts +44 -0
- package/dist/cargo/actions/deposit.d.ts.map +1 -0
- package/dist/cargo/actions/deposit.js +199 -0
- package/dist/cargo/actions/deposit.js.map +1 -0
- package/dist/cargo/actions/index.d.ts +2 -0
- package/dist/cargo/actions/index.d.ts.map +1 -1
- package/dist/cargo/actions/index.js +2 -0
- package/dist/cargo/actions/index.js.map +1 -1
- package/dist/cargo/actions/wallet-context.d.ts +14 -0
- package/dist/cargo/actions/wallet-context.d.ts.map +1 -0
- package/dist/cargo/actions/wallet-context.js +12 -0
- package/dist/cargo/actions/wallet-context.js.map +1 -0
- package/dist/cargo/actions/wallet-token.d.ts +8 -0
- package/dist/cargo/actions/wallet-token.d.ts.map +1 -0
- package/dist/cargo/actions/wallet-token.js +58 -0
- package/dist/cargo/actions/wallet-token.js.map +1 -0
- package/dist/cargo/actions/withdrawal.d.ts +46 -0
- package/dist/cargo/actions/withdrawal.d.ts.map +1 -0
- package/dist/cargo/actions/withdrawal.js +265 -0
- package/dist/cargo/actions/withdrawal.js.map +1 -0
- package/dist/cargo/index.d.ts +1 -0
- package/dist/cargo/index.d.ts.map +1 -1
- package/dist/cargo/index.js +1 -0
- package/dist/cargo/index.js.map +1 -1
- package/dist/claim-stakes/actions/index.d.ts +393 -0
- package/dist/claim-stakes/actions/index.d.ts.map +1 -0
- package/dist/claim-stakes/actions/index.js +1747 -0
- package/dist/claim-stakes/actions/index.js.map +1 -0
- package/dist/claim-stakes/index.d.ts +64 -0
- package/dist/claim-stakes/index.d.ts.map +1 -1
- package/dist/claim-stakes/index.js +49 -0
- package/dist/claim-stakes/index.js.map +1 -1
- package/dist/client/context.d.ts.map +1 -1
- package/dist/client/context.js +2 -1
- package/dist/client/context.js.map +1 -1
- package/dist/client/errors.d.ts +12 -3
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +11 -0
- package/dist/client/errors.js.map +1 -1
- package/dist/client/index.d.ts +2 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/lifecycle.d.ts +2 -0
- package/dist/client/lifecycle.d.ts.map +1 -1
- package/dist/client/lifecycle.js +31 -0
- package/dist/client/lifecycle.js.map +1 -1
- package/dist/combat/actions/index.d.ts +239 -0
- package/dist/combat/actions/index.d.ts.map +1 -0
- package/dist/combat/actions/index.js +1146 -0
- package/dist/combat/actions/index.js.map +1 -0
- package/dist/crafting/actions/index.d.ts +140 -0
- package/dist/crafting/actions/index.d.ts.map +1 -0
- package/dist/crafting/actions/index.js +728 -0
- package/dist/crafting/actions/index.js.map +1 -0
- package/dist/crafting/index.d.ts +74 -8
- package/dist/crafting/index.d.ts.map +1 -1
- package/dist/crafting/index.js +55 -9
- package/dist/crafting/index.js.map +1 -1
- package/dist/factions/actions/index.d.ts +35 -0
- package/dist/factions/actions/index.d.ts.map +1 -0
- package/dist/factions/actions/index.js +136 -0
- package/dist/factions/actions/index.js.map +1 -0
- package/dist/factions/index.d.ts +1 -0
- package/dist/factions/index.d.ts.map +1 -1
- package/dist/factions/index.js +1 -0
- package/dist/factions/index.js.map +1 -1
- package/dist/factions/profile-faction.d.ts +46 -0
- package/dist/factions/profile-faction.d.ts.map +1 -0
- package/dist/factions/profile-faction.js +51 -0
- package/dist/factions/profile-faction.js.map +1 -0
- package/dist/fleets/actions/index.d.ts +6 -4
- package/dist/fleets/actions/index.d.ts.map +1 -1
- package/dist/fleets/actions/index.js +86 -58
- package/dist/fleets/actions/index.js.map +1 -1
- package/dist/fleets/actions/ship-import.d.ts +48 -0
- package/dist/fleets/actions/ship-import.d.ts.map +1 -0
- package/dist/fleets/actions/ship-import.js +304 -0
- package/dist/fleets/actions/ship-import.js.map +1 -0
- package/dist/fleets/index.d.ts +1 -0
- package/dist/fleets/index.d.ts.map +1 -1
- package/dist/fleets/index.js +1 -0
- package/dist/fleets/index.js.map +1 -1
- package/dist/identity/actions/create-profile.d.ts +54 -0
- package/dist/identity/actions/create-profile.d.ts.map +1 -0
- package/dist/identity/actions/create-profile.js +134 -0
- package/dist/identity/actions/create-profile.js.map +1 -0
- package/dist/identity/actions/index.d.ts +38 -0
- package/dist/identity/actions/index.d.ts.map +1 -0
- package/dist/identity/actions/index.js +109 -0
- package/dist/identity/actions/index.js.map +1 -0
- package/dist/identity/index.d.ts +8 -0
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +8 -0
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/permissions.d.ts +111 -0
- package/dist/identity/permissions.d.ts.map +1 -0
- package/dist/identity/permissions.js +154 -0
- package/dist/identity/permissions.js.map +1 -0
- package/dist/index.d.ts +13 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/internal/c4/character-registration.d.ts +9 -0
- package/dist/internal/c4/character-registration.d.ts.map +1 -0
- package/dist/internal/c4/character-registration.js +21 -0
- package/dist/internal/c4/character-registration.js.map +1 -0
- package/dist/internal/c4/claim-stake-building-definitions.d.ts +50 -0
- package/dist/internal/c4/claim-stake-building-definitions.d.ts.map +1 -0
- package/dist/internal/c4/claim-stake-building-definitions.js +56 -0
- package/dist/internal/c4/claim-stake-building-definitions.js.map +1 -0
- package/dist/internal/c4/claim-stake-configuration.d.ts +17 -0
- package/dist/internal/c4/claim-stake-configuration.d.ts.map +1 -0
- package/dist/internal/c4/claim-stake-configuration.js +47 -0
- package/dist/internal/c4/claim-stake-configuration.js.map +1 -0
- package/dist/internal/c4/claim-stake-definitions.d.ts +37 -0
- package/dist/internal/c4/claim-stake-definitions.d.ts.map +1 -0
- package/dist/internal/c4/claim-stake-definitions.js +77 -0
- package/dist/internal/c4/claim-stake-definitions.js.map +1 -0
- package/dist/internal/c4/faction-enrollment.d.ts +6 -0
- package/dist/internal/c4/faction-enrollment.d.ts.map +1 -0
- package/dist/internal/c4/faction-enrollment.js +8 -0
- package/dist/internal/c4/faction-enrollment.js.map +1 -0
- package/dist/internal/c4/fleet.d.ts.map +1 -1
- package/dist/internal/c4/fleet.js +2 -102
- package/dist/internal/c4/fleet.js.map +1 -1
- package/dist/internal/c4/game-definition-layout.d.ts +11 -0
- package/dist/internal/c4/game-definition-layout.d.ts.map +1 -0
- package/dist/internal/c4/game-definition-layout.js +32 -0
- package/dist/internal/c4/game-definition-layout.js.map +1 -0
- package/dist/internal/c4/game.d.ts +31 -1
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +57 -38
- package/dist/internal/c4/game.js.map +1 -1
- package/dist/internal/c4/identity.d.ts +2 -7
- package/dist/internal/c4/identity.d.ts.map +1 -1
- package/dist/internal/c4/identity.js +2 -23
- package/dist/internal/c4/identity.js.map +1 -1
- package/dist/internal/c4/profile-creation.d.ts +17 -0
- package/dist/internal/c4/profile-creation.d.ts.map +1 -0
- package/dist/internal/c4/profile-creation.js +36 -0
- package/dist/internal/c4/profile-creation.js.map +1 -0
- package/dist/internal/c4/profile-faction.d.ts +6 -0
- package/dist/internal/c4/profile-faction.d.ts.map +1 -1
- package/dist/internal/c4/profile-faction.js +24 -1
- package/dist/internal/c4/profile-faction.js.map +1 -1
- package/dist/internal/c4/profile-permissions.d.ts +12 -0
- package/dist/internal/c4/profile-permissions.d.ts.map +1 -0
- package/dist/internal/c4/profile-permissions.js +28 -0
- package/dist/internal/c4/profile-permissions.js.map +1 -0
- package/dist/internal/c4/ship-stats.d.ts +5 -0
- package/dist/internal/c4/ship-stats.d.ts.map +1 -0
- package/dist/internal/c4/ship-stats.js +106 -0
- package/dist/internal/c4/ship-stats.js.map +1 -0
- package/dist/internal/c4/wallet-cargo-cache.d.ts +3 -0
- package/dist/internal/c4/wallet-cargo-cache.d.ts.map +1 -0
- package/dist/internal/c4/wallet-cargo-cache.js +24 -0
- package/dist/internal/c4/wallet-cargo-cache.js.map +1 -0
- package/dist/internal/c4/world.d.ts +23 -1
- package/dist/internal/c4/world.d.ts.map +1 -1
- package/dist/internal/c4/world.js +53 -1
- package/dist/internal/c4/world.js.map +1 -1
- package/dist/internal/crafting-process-state.d.ts +15 -0
- package/dist/internal/crafting-process-state.d.ts.map +1 -0
- package/dist/internal/crafting-process-state.js +12 -0
- package/dist/internal/crafting-process-state.js.map +1 -0
- package/dist/internal/planning/account-state.d.ts +4 -0
- package/dist/internal/planning/account-state.d.ts.map +1 -0
- package/dist/internal/planning/account-state.js +11 -0
- package/dist/internal/planning/account-state.js.map +1 -0
- package/dist/internal/planning/authorization-adapter.d.ts +96 -0
- package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
- package/dist/internal/planning/authorization-adapter.js +440 -0
- package/dist/internal/planning/authorization-adapter.js.map +1 -1
- package/dist/internal/planning/faction-enrollment.d.ts +12 -0
- package/dist/internal/planning/faction-enrollment.d.ts.map +1 -0
- package/dist/internal/planning/faction-enrollment.js +67 -0
- package/dist/internal/planning/faction-enrollment.js.map +1 -0
- package/dist/internal/planning/ship-token.d.ts +10 -0
- package/dist/internal/planning/ship-token.d.ts.map +1 -0
- package/dist/internal/planning/ship-token.js +49 -0
- package/dist/internal/planning/ship-token.js.map +1 -0
- package/dist/internal/read-meta.d.ts +39 -3
- package/dist/internal/read-meta.d.ts.map +1 -1
- package/dist/internal/read-meta.js +0 -10
- package/dist/internal/read-meta.js.map +1 -1
- package/dist/loyalty/actions/index.d.ts +40 -0
- package/dist/loyalty/actions/index.d.ts.map +1 -0
- package/dist/loyalty/actions/index.js +159 -0
- package/dist/loyalty/actions/index.js.map +1 -0
- package/dist/markets/actions/index.d.ts +100 -0
- package/dist/markets/actions/index.d.ts.map +1 -0
- package/dist/markets/actions/index.js +417 -0
- package/dist/markets/actions/index.js.map +1 -0
- package/dist/planning/assembly.d.ts +4 -0
- package/dist/planning/assembly.d.ts.map +1 -1
- package/dist/planning/assembly.js +13 -0
- package/dist/planning/assembly.js.map +1 -1
- package/dist/planning/composition.d.ts.map +1 -1
- package/dist/planning/composition.js +20 -1
- package/dist/planning/composition.js.map +1 -1
- package/dist/planning/execution.d.ts.map +1 -1
- package/dist/planning/execution.js +105 -12
- package/dist/planning/execution.js.map +1 -1
- package/dist/planning/index.d.ts +163 -12
- package/dist/planning/index.d.ts.map +1 -1
- package/dist/planning/index.js +234 -24
- package/dist/planning/index.js.map +1 -1
- package/dist/planning/simulation.d.ts.map +1 -1
- package/dist/planning/simulation.js +2 -1
- package/dist/planning/simulation.js.map +1 -1
- package/dist/registry/cargo.d.ts +25 -0
- package/dist/registry/cargo.d.ts.map +1 -0
- package/dist/registry/cargo.js +56 -0
- package/dist/registry/cargo.js.map +1 -0
- package/dist/registry/claim-stakes.d.ts +11 -0
- package/dist/registry/claim-stakes.d.ts.map +1 -0
- package/dist/registry/claim-stakes.js +15 -0
- package/dist/registry/claim-stakes.js.map +1 -0
- package/dist/registry/definition-section-snapshot.d.ts +42 -0
- package/dist/registry/definition-section-snapshot.d.ts.map +1 -0
- package/dist/registry/definition-section-snapshot.js +214 -0
- package/dist/registry/definition-section-snapshot.js.map +1 -0
- package/dist/registry/index.d.ts +114 -7
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +372 -101
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/onboarding.d.ts +6 -0
- package/dist/registry/onboarding.d.ts.map +1 -0
- package/dist/registry/onboarding.js +24 -0
- package/dist/registry/onboarding.js.map +1 -0
- package/dist/registry/publication.d.ts +8 -0
- package/dist/registry/publication.d.ts.map +1 -0
- package/dist/registry/publication.js +10 -0
- package/dist/registry/publication.js.map +1 -0
- package/dist/registry/ship-stats-snapshot.d.ts +8 -0
- package/dist/registry/ship-stats-snapshot.d.ts.map +1 -0
- package/dist/registry/ship-stats-snapshot.js +154 -0
- package/dist/registry/ship-stats-snapshot.js.map +1 -0
- package/dist/registry/ships.d.ts +10 -0
- package/dist/registry/ships.d.ts.map +1 -0
- package/dist/registry/ships.js +35 -0
- package/dist/registry/ships.js.map +1 -0
- package/dist/world/index.d.ts +22 -1
- package/dist/world/index.d.ts.map +1 -1
- package/dist/world/index.js +24 -1
- package/dist/world/index.js.map +1 -1
- package/package.json +29 -1
package/dist/internal/c4/game.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { translateClaimStakeBuildingDefinitionsSection, } from './claim-stake-building-definitions.js';
|
|
2
|
+
import { shipDefinitionByteLength, habBuildingDefinitionByteLength, researchNodeByteLength, } from './game-definition-layout.js';
|
|
3
|
+
import { translateClaimStakeDefinitionsSection, containerDefinitionByteLength, validateDefinitionIndex, } from './claim-stake-definitions.js';
|
|
4
|
+
import { GAME_DISCRIMINATOR, SAGE_PROGRAM_ADDRESS, SizeClass, Tier, XpCategory, getGameDecoder, getShipEncoder, } from '@staratlas/dev-sage';
|
|
2
5
|
import { AccountDecodeError, InvalidAccountOwnerError, InvalidDiscriminatorError, } from '../../client/errors.js';
|
|
3
6
|
import { translateCharacterModifier } from './character-modifier.js';
|
|
7
|
+
import { translateShipStats } from './ship-stats.js';
|
|
4
8
|
const GAME_MINIMUM_DATA_LENGTH = GAME_DISCRIMINATOR.length;
|
|
5
9
|
const FLOYDS_PER_ATLAS = 100_000_000;
|
|
6
10
|
const GAME_ACCOUNT_DISCRIMINATOR = Object.freeze(Array.from(GAME_DISCRIMINATOR));
|
|
@@ -28,6 +32,11 @@ function decodeExactly(account) {
|
|
|
28
32
|
throw new AccountDecodeError('game', account.address, cause);
|
|
29
33
|
}
|
|
30
34
|
}
|
|
35
|
+
/** Validates the complete pinned Game layout without retaining or translating definition sections. */
|
|
36
|
+
export function validateGameAccountLayout(account) {
|
|
37
|
+
validateGameAccount(account);
|
|
38
|
+
decodeExactly(account);
|
|
39
|
+
}
|
|
31
40
|
function shipSize(sizeClass) {
|
|
32
41
|
switch (sizeClass) {
|
|
33
42
|
case SizeClass.XxSmall:
|
|
@@ -57,6 +66,7 @@ function translateShip(id, ship) {
|
|
|
57
66
|
mint: ship.mint,
|
|
58
67
|
name: ship.name.replace(/\0/gu, '').trim(),
|
|
59
68
|
sizeClass: shipSize(ship.sizeClass),
|
|
69
|
+
stats: translateShipStats(ship.stats),
|
|
60
70
|
};
|
|
61
71
|
}
|
|
62
72
|
function translateCargo(id, cargo) {
|
|
@@ -74,6 +84,38 @@ function translateCargoSection(game) {
|
|
|
74
84
|
sequenceId: game.cargoDefinitions.seqId,
|
|
75
85
|
};
|
|
76
86
|
}
|
|
87
|
+
/** Fresh action-only projection; the mutable cache address is not persisted as a definition section. */
|
|
88
|
+
export function decodeGameCargoConfiguration(account) {
|
|
89
|
+
if (account.executable)
|
|
90
|
+
throw new AccountDecodeError('game', account.address, new RangeError('Game cargo configuration must not be executable.'));
|
|
91
|
+
validateGameAccount(account);
|
|
92
|
+
const game = decodeExactly(account);
|
|
93
|
+
assertCargoDefinitionKeys(account, game);
|
|
94
|
+
return {
|
|
95
|
+
sequenceId: game.cargoDefinitions.seqId,
|
|
96
|
+
cache: game.cargoDefinitions.cache,
|
|
97
|
+
definitions: [...game.cargoDefinitions.cargoTypes].map(([id, cargo]) => ({
|
|
98
|
+
...translateCargo(id, cargo),
|
|
99
|
+
withdrawEpochDuration: cargo.withdrawEpochDuration,
|
|
100
|
+
xpModifier: cargo.xpModifier,
|
|
101
|
+
flags: cargo.flags[0],
|
|
102
|
+
circuitBreaker: cargo.circuitBreaker,
|
|
103
|
+
})),
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
/** Canonical full pinned Ship bytes for registry-owned configuration freshness. */
|
|
107
|
+
export function encodeGameShipConfiguration(ship) {
|
|
108
|
+
return new Uint8Array(getShipEncoder().encode(ship));
|
|
109
|
+
}
|
|
110
|
+
/** Full pinned Game validation with raw Ship rows, without public section translation. */
|
|
111
|
+
export function decodeGameShipConfigurations(account) {
|
|
112
|
+
if (account.executable)
|
|
113
|
+
throw new AccountDecodeError('game', account.address, new RangeError('Game ship configuration must not be executable.'));
|
|
114
|
+
validateGameAccount(account);
|
|
115
|
+
const game = decodeExactly(account);
|
|
116
|
+
validateDefinitionIndex(account, 'Ship', game.shipDefinitions.ships, shipDefinitionByteLength, (row) => row.id);
|
|
117
|
+
return game.shipDefinitions.ships.unsizedList;
|
|
118
|
+
}
|
|
77
119
|
function translateShipsSection(game) {
|
|
78
120
|
return {
|
|
79
121
|
definitions: game.shipDefinitions.ships.unsizedList.map((ship, index) => translateShip(game.shipDefinitions.ships.offsetList[index].key, ship)),
|
|
@@ -86,18 +128,6 @@ function assertCargoDefinitionKeys(account, game) {
|
|
|
86
128
|
throw new AccountDecodeError('game', account.address, new RangeError('Cargo definition container keys do not match their embedded ids.'), `Game ${account.address} contains a malformed cargo definition registry. Refresh the account and verify the pinned binding version before retrying.`);
|
|
87
129
|
}
|
|
88
130
|
}
|
|
89
|
-
function assertShipDefinitionIndex(account, game) {
|
|
90
|
-
const { offsetList, unsizedList } = game.shipDefinitions.ships;
|
|
91
|
-
const offsetsAreOrdered = offsetList.every(({ offset }, index) => index === 0 || offset > offsetList[index - 1].offset);
|
|
92
|
-
const keysMatchDefinitions = offsetList.every(({ key }, index) => key === unsizedList[index]?.id);
|
|
93
|
-
const keysAreUnique = new Set(offsetList.map(({ key }) => key)).size === offsetList.length;
|
|
94
|
-
if (offsetList.length !== unsizedList.length ||
|
|
95
|
-
!offsetsAreOrdered ||
|
|
96
|
-
!keysMatchDefinitions ||
|
|
97
|
-
!keysAreUnique) {
|
|
98
|
-
throw new AccountDecodeError('game', account.address, new RangeError('Ship definition ids are not aligned with their positional definition list.'), `Game ${account.address} contains a malformed ship definition index. Refresh the account and verify the pinned binding version before retrying.`);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
131
|
function fixed(value) {
|
|
102
132
|
return { raw: value.raw, value: value.toNumber() };
|
|
103
133
|
}
|
|
@@ -230,16 +260,6 @@ function translateCraftingHabsSection(game) {
|
|
|
230
260
|
sequenceId: source.seqId,
|
|
231
261
|
};
|
|
232
262
|
}
|
|
233
|
-
function assertCraftingHabDefinitionIndex(account, game) {
|
|
234
|
-
const { offsetList, unsizedList } = game.craftingHabDefinitions.craftingHabs;
|
|
235
|
-
const offsetsAreOrdered = offsetList.every(({ offset }, index) => index === 0 || offset > offsetList[index - 1].offset);
|
|
236
|
-
const keysAreUnique = new Set(offsetList.map(({ key }) => key)).size === offsetList.length;
|
|
237
|
-
if (offsetList.length !== unsizedList.length ||
|
|
238
|
-
!offsetsAreOrdered ||
|
|
239
|
-
!keysAreUnique) {
|
|
240
|
-
throw new AccountDecodeError('game', account.address, new RangeError('Crafting Hab definition ids are not aligned with their positional definition list.'), `Game ${account.address} contains a malformed Crafting Hab definition index. Refresh the account and verify the pinned binding version before retrying.`);
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
263
|
function translateHabBuildingsSection(game) {
|
|
244
264
|
const source = game.habBuildingDefinitions;
|
|
245
265
|
return {
|
|
@@ -337,18 +357,6 @@ function translateResearchNode(node) {
|
|
|
337
357
|
})),
|
|
338
358
|
};
|
|
339
359
|
}
|
|
340
|
-
function assertResearchNodeIndex(account, game) {
|
|
341
|
-
const { offsetList, unsizedList } = game.researchTreeDefinitions.nodes;
|
|
342
|
-
const offsetsAreOrdered = offsetList.every(({ offset }, index) => index === 0 || offset > offsetList[index - 1].offset);
|
|
343
|
-
const keysMatchNodes = offsetList.every(({ key }, index) => key === unsizedList[index]?.id);
|
|
344
|
-
const keysAreUnique = new Set(offsetList.map(({ key }) => key)).size === offsetList.length;
|
|
345
|
-
if (offsetList.length !== unsizedList.length ||
|
|
346
|
-
!offsetsAreOrdered ||
|
|
347
|
-
!keysMatchNodes ||
|
|
348
|
-
!keysAreUnique) {
|
|
349
|
-
throw new AccountDecodeError('game', account.address, new RangeError('Research node ids are not aligned with their positional definition list.'), `Game ${account.address} contains a malformed research node index. Refresh the account and verify the pinned binding version before retrying.`);
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
360
|
function translateResearchSection(game) {
|
|
353
361
|
return {
|
|
354
362
|
nodes: game.researchTreeDefinitions.nodes.unsizedList.map(translateResearchNode),
|
|
@@ -363,18 +371,29 @@ export function decodeGameRegistrySections(account, sections) {
|
|
|
363
371
|
assertCargoDefinitionKeys(account, game);
|
|
364
372
|
}
|
|
365
373
|
if (sections.includes('craftingHabs')) {
|
|
366
|
-
|
|
374
|
+
validateDefinitionIndex(account, 'Crafting Hab', game.craftingHabDefinitions.craftingHabs, containerDefinitionByteLength);
|
|
375
|
+
}
|
|
376
|
+
if (sections.includes('habBuildings')) {
|
|
377
|
+
validateDefinitionIndex(account, 'Hab building', game.habBuildingDefinitions.habBuildingDefinitions, habBuildingDefinitionByteLength, (row) => row.buildingId);
|
|
367
378
|
}
|
|
368
379
|
if (sections.includes('research')) {
|
|
369
|
-
|
|
380
|
+
validateDefinitionIndex(account, 'research node', game.researchTreeDefinitions.nodes, researchNodeByteLength, (row) => row.id);
|
|
370
381
|
}
|
|
371
382
|
if (sections.includes('ships')) {
|
|
372
|
-
|
|
383
|
+
validateDefinitionIndex(account, 'Ship', game.shipDefinitions.ships, shipDefinitionByteLength, (row) => row.id);
|
|
373
384
|
}
|
|
374
385
|
if (sections.includes('xp')) {
|
|
375
386
|
assertXpDefinitions(account, game);
|
|
376
387
|
}
|
|
377
388
|
return {
|
|
389
|
+
...(sections.includes('buildings')
|
|
390
|
+
? {
|
|
391
|
+
buildings: translateClaimStakeBuildingDefinitionsSection(account, game),
|
|
392
|
+
}
|
|
393
|
+
: {}),
|
|
394
|
+
...(sections.includes('claimStakes')
|
|
395
|
+
? { claimStakes: translateClaimStakeDefinitionsSection(account, game) }
|
|
396
|
+
: {}),
|
|
378
397
|
...(sections.includes('cargo')
|
|
379
398
|
? { cargo: translateCargoSection(game) }
|
|
380
399
|
: {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"game.js","sourceRoot":"","sources":["../../../src/internal/c4/game.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"game.js","sourceRoot":"","sources":["../../../src/internal/c4/game.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
+
import { type ProfilePermission } from './profile-permissions.js';
|
|
2
|
+
export type { ProfilePermission } from './profile-permissions.js';
|
|
1
3
|
import type { Address } from '../../client/contracts.js';
|
|
2
4
|
import type { C4AccountAdapter } from './adapter.js';
|
|
3
|
-
/** Stable labels for Player Profile key permissions.
|
|
4
|
-
* @example
|
|
5
|
-
* ```ts
|
|
6
|
-
* const permission: ProfilePermission = 'authenticate';
|
|
7
|
-
* ```
|
|
8
|
-
*/
|
|
9
|
-
export type ProfilePermission = 'authenticate' | 'addKeys' | 'removeKeys' | 'changeName' | 'createRole' | 'removeRole' | 'setAuthorizer' | 'joinRole' | 'leaveRole' | 'toggleAcceptingNewMembers' | 'addMember' | 'removeMember' | 'drainSolVault';
|
|
10
5
|
/** SDK-owned representation of one Player Profile key.
|
|
11
6
|
* @example
|
|
12
7
|
* ```ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/identity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { translatePermissions, } from './profile-permissions.js';
|
|
2
|
+
import { PLAYER_PROFILE_PROGRAM_ADDRESS, PROFILE_DISCRIMINATOR, getProfileDecoder, } from '@staratlas/dev-player-profile';
|
|
2
3
|
import { CHARACTER_DISCRIMINATOR, SAGE_PROGRAM_ADDRESS, getCharacterDecoder, } from '@staratlas/dev-sage';
|
|
3
4
|
import { getAddressEncoder, getBytesEncoder, getProgramDerivedAddress, } from '@solana/kit';
|
|
4
5
|
import { AccountDecodeError, InvalidAccountOwnerError, InvalidDiscriminatorError, } from '../../client/errors.js';
|
|
@@ -12,31 +13,9 @@ function immutableBytes(bytes) {
|
|
|
12
13
|
}
|
|
13
14
|
const PROFILE_ACCOUNT_DISCRIMINATOR = immutableBytes(PROFILE_DISCRIMINATOR);
|
|
14
15
|
const CHARACTER_ACCOUNT_DISCRIMINATOR = immutableBytes(CHARACTER_DISCRIMINATOR);
|
|
15
|
-
const PROFILE_PERMISSION_BITS = [
|
|
16
|
-
[PROFILE_FLAGS.AUTH, 'authenticate'],
|
|
17
|
-
[PROFILE_FLAGS.ADD_KEYS, 'addKeys'],
|
|
18
|
-
[PROFILE_FLAGS.REMOVE_KEYS, 'removeKeys'],
|
|
19
|
-
[PROFILE_FLAGS.CHANGE_NAME, 'changeName'],
|
|
20
|
-
[PROFILE_FLAGS.CREATE_ROLE, 'createRole'],
|
|
21
|
-
[PROFILE_FLAGS.REMOVE_ROLE, 'removeRole'],
|
|
22
|
-
[PROFILE_FLAGS.SET_AUTHORIZER, 'setAuthorizer'],
|
|
23
|
-
[PROFILE_FLAGS.JOIN_ROLE, 'joinRole'],
|
|
24
|
-
[PROFILE_FLAGS.LEAVE_ROLE, 'leaveRole'],
|
|
25
|
-
[PROFILE_FLAGS.TOGGLE_ACCEPTING_NEW_MEMBERS, 'toggleAcceptingNewMembers'],
|
|
26
|
-
[PROFILE_FLAGS.ADD_MEMBER, 'addMember'],
|
|
27
|
-
[PROFILE_FLAGS.REMOVE_MEMBER, 'removeMember'],
|
|
28
|
-
[PROFILE_FLAGS.DRAIN_SOL_VAULT, 'drainSolVault'],
|
|
29
|
-
];
|
|
30
16
|
function littleEndianBytesToBigInt(bytes) {
|
|
31
17
|
return bytes.reduceRight((value, byte) => (value << 8n) | BigInt(byte), 0n);
|
|
32
18
|
}
|
|
33
|
-
function translatePermissions(raw, scope) {
|
|
34
|
-
const isPlayerProfileScope = scope === PLAYER_PROFILE_PROGRAM_ADDRESS;
|
|
35
|
-
return PROFILE_PERMISSION_BITS.flatMap(([flag, permission]) => (raw & flag) !== 0n &&
|
|
36
|
-
(isPlayerProfileScope || permission === 'drainSolVault')
|
|
37
|
-
? [permission]
|
|
38
|
-
: []);
|
|
39
|
-
}
|
|
40
19
|
function validateAccount(account, type, owner, discriminator, minimumDataLength) {
|
|
41
20
|
if (account.owner !== owner) {
|
|
42
21
|
throw new InvalidAccountOwnerError(type, account.address, owner, account.owner);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/internal/c4/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,qBAAqB,EACrB,
|
|
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;AACvC,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,GAEpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAErE,MAAM,gBAAgB,GAAG,WAAW,CAAC;AACrC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AACvC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AACnC,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAE1C,SAAS,cAAc,CAAC,KAAiB;IACvC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,6BAA6B,GAAG,cAAc,CAAC,qBAAqB,CAAC,CAAC;AAC5E,MAAM,+BAA+B,GAAG,cAAc,CAAC,uBAAuB,CAAC,CAAC;AAqMhF,SAAS,yBAAyB,CAAC,KAAwB;IACzD,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,eAAe,CACtB,OAAmB,EACnB,IAA6B,EAC7B,KAAc,EACd,aAAgC,EAChC,iBAAyB;IAEzB,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QAC5B,MAAM,IAAI,wBAAwB,CAChC,IAAI,EACJ,OAAO,CAAC,OAAO,EACf,KAAK,EACL,OAAO,CAAC,KAAK,CACd,CAAC;IACJ,CAAC;IACD,IACE,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM;QAC1C,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,EACjE,CAAC;QACD,MAAM,IAAI,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;QAC5C,MAAM,IAAI,kBAAkB,CAC1B,IAAI,EACJ,OAAO,CAAC,OAAO,EACf,IAAI,UAAU,CACZ,qBAAqB,iBAAiB,4BAA4B,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CACzF,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,OAAmB,EACnB,IAA6B,EAC7B,OAA0E;IAE1E,IAAI,CAAC;QACH,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACxD,IAAI,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,UAAU,CAClB,WAAW,MAAM,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,kDAAkD,CAC9F,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAmB;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAE,IAAI,CAAC,CAAC,CAAC;IAC9D,MAAM,cAAc,GAClB,2BAA2B,GAAG,QAAQ,GAAG,uBAAuB,CAAC;IACnE,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;QAC3C,MAAM,IAAI,kBAAkB,CAC1B,SAAS,EACT,OAAO,CAAC,OAAO,EACf,IAAI,UAAU,CACZ,oBAAoB,QAAQ,sBAAsB,cAAc,oBAAoB,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAC3G,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAgB;IACxC,OAAO;QACL,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACpC,MAAM,cAAc,GAAG,yBAAyB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAClE,OAAO;gBACL,OAAO,EAAE,GAAG,CAAC,GAAG;gBAChB,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC;gBAC7D,YAAY,EAAE,GAAG,CAAC,UAAU;gBAC5B,WAAW,EAAE,oBAAoB,CAAC,cAAc,EAAE,GAAG,CAAC,KAAK,CAAC;gBAC5D,cAAc;gBACd,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC;QACJ,CAAC,CAAC;QACF,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAoB;IAC9C,MAAM,QAAQ,GAAG,yBAAyB,CACxC,SAAS,CAAC,aAAa,CAAC,eAAe,CACxC,CAAC;IACF,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,gBAAgB;QACjD,QAAQ,EAAE,SAAS,CAAC,KAAK;QACzB,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,OAAO,EAAE;YACP,eAAe,EAAE,SAAS,CAAC,WAAW,CAAC,eAAe;YACtD,MAAM,EAAE,SAAS,CAAC,WAAW,CAAC,aAAa;SAC5C;QACD,MAAM,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE;QAC/B,IAAI,EAAE,SAAS,CAAC,MAAM;QACtB,SAAS,EAAE;YACT,UAAU,EAAE,CAAC,GAAG,SAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,GAAG,CAC1D,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CACzC;YACD,KAAK,EAAE,SAAS,CAAC,kBAAkB,CAAC,KAAK;YACzC,aAAa,EAAE,CAAC,GAAG,SAAS,CAAC,kBAAkB,CAAC,aAAa,CAAC;YAC9D,cAAc,EAAE,SAAS,CAAC,kBAAkB,CAAC,cAAc;YAC3D,MAAM,EAAE,0BAA0B,CAChC,SAAS,CAAC,kBAAkB,CAAC,SAAS,CACvC;SACF;QACD,aAAa,EAAE;YACb,SAAS,EAAE,SAAS,CAAC,aAAa,CAAC,SAAS;YAC5C,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE;YAC3C,kBAAkB,EAAE,QAAQ;YAC5B,eAAe,EAAE,SAAS,CAAC,aAAa,CAAC,eAAe;SACzD;QACD,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,EAAE,EAAE;YACF,GAAG,SAAS,CAAC,MAAM;YACnB,QAAQ,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC1C,MAAM,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE;YACtC,WAAW,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE;YAChD,QAAQ,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC1C,OAAO,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE;YACxC,UAAU,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE;YAC9C,MAAM,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE;YACtC,KAAK,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE;SACrC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAmB;IACjD,eAAe,CACb,OAAO,EACP,SAAS,EACT,8BAA8B,EAC9B,6BAA6B,EAC7B,2BAA2B,CAC5B,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAmB;IACnD,eAAe,CACb,OAAO,EACP,WAAW,EACX,oBAAoB,EACpB,+BAA+B,EAC/B,6BAA6B,CAC9B,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAmB;IACtD,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAChC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,MAAM,wBAAwB,GACnC,MAAM,CAAC,MAAM,CAAC;IACZ,MAAM,CAAC,OAAmB;QACxB,2BAA2B,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,gBAAgB,CACrB,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CACvD,CAAC;IACJ,CAAC;IACD,aAAa,EAAE,6BAA6B;IAC5C,iBAAiB,EAAE,2BAA2B;IAC9C,cAAc,EAAE,8BAA8B;IAC9C,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,2BAA2B;CACtC,CAAC,CAAC;AAEL,sEAAsE;AACtE,MAAM,CAAC,MAAM,0BAA0B,GACrC,MAAM,CAAC,MAAM,CAAC;IACZ,MAAM,CAAC,OAAmB;QACxB,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,kBAAkB,CACvB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,CAC3D,CAAC;IACJ,CAAC;IACD,aAAa,EAAE,+BAA+B;IAC9C,iBAAiB,EAAE,6BAA6B;IAChD,cAAc,EAAE,oBAAoB;IACpC,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,wBAAwB;CACnC,CAAC,CAAC;AAEL,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,aAAsB,EACtB,IAAa;IAEb,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,wBAAwB,CAAC;QAC/C,cAAc,EAAE,oBAAoB;QACpC,KAAK,EAAE;YACL,eAAe,EAAE,CAAC,MAAM,CACtB,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAC1D;YACD,iBAAiB,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC;YACzC,iBAAiB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;SACjC;KACF,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type Address, type Instruction } from '@solana/kit';
|
|
2
|
+
export interface ProfileCreationKey {
|
|
3
|
+
readonly address: Address;
|
|
4
|
+
readonly scope: Address;
|
|
5
|
+
readonly permissionsRaw: bigint;
|
|
6
|
+
readonly expiresAt?: bigint;
|
|
7
|
+
}
|
|
8
|
+
/** AUTH belongs to the Player Profile scope, not to gameplay permission bit zero. */
|
|
9
|
+
export declare function isProfileCreationAuthority(key: ProfileCreationKey): boolean;
|
|
10
|
+
/** Encode audited remaining-account roles without constructing signer objects. */
|
|
11
|
+
export declare function createProfileInstruction(input: {
|
|
12
|
+
readonly profile: Address;
|
|
13
|
+
readonly funder: Address;
|
|
14
|
+
readonly keys: readonly ProfileCreationKey[];
|
|
15
|
+
readonly keyThreshold: number;
|
|
16
|
+
}): Instruction;
|
|
17
|
+
//# sourceMappingURL=profile-creation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-creation.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/profile-creation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAM1E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,qFAAqF;AACrF,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAK3E;AAED,kFAAkF;AAClF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC7C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B,GAAG,WAAW,CA4Bd"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { AccountRole } from '@solana/kit';
|
|
2
|
+
import { PLAYER_PROFILE_PROGRAM_ADDRESS, getCreateProfileInstructionDataEncoder, } from '@staratlas/dev-player-profile';
|
|
3
|
+
/** AUTH belongs to the Player Profile scope, not to gameplay permission bit zero. */
|
|
4
|
+
export function isProfileCreationAuthority(key) {
|
|
5
|
+
return (key.scope === PLAYER_PROFILE_PROGRAM_ADDRESS &&
|
|
6
|
+
(key.permissionsRaw & 1n) !== 0n);
|
|
7
|
+
}
|
|
8
|
+
/** Encode audited remaining-account roles without constructing signer objects. */
|
|
9
|
+
export function createProfileInstruction(input) {
|
|
10
|
+
return {
|
|
11
|
+
programAddress: PLAYER_PROFILE_PROGRAM_ADDRESS,
|
|
12
|
+
accounts: [
|
|
13
|
+
{ address: input.funder, role: AccountRole.WRITABLE_SIGNER },
|
|
14
|
+
{ address: input.profile, role: AccountRole.WRITABLE_SIGNER },
|
|
15
|
+
{
|
|
16
|
+
address: '11111111111111111111111111111111',
|
|
17
|
+
role: AccountRole.READONLY,
|
|
18
|
+
},
|
|
19
|
+
...input.keys.map((key) => ({
|
|
20
|
+
address: key.address,
|
|
21
|
+
role: isProfileCreationAuthority(key)
|
|
22
|
+
? AccountRole.READONLY_SIGNER
|
|
23
|
+
: AccountRole.READONLY,
|
|
24
|
+
})),
|
|
25
|
+
],
|
|
26
|
+
data: getCreateProfileInstructionDataEncoder().encode({
|
|
27
|
+
keyThreshold: input.keyThreshold,
|
|
28
|
+
keyPermissions: input.keys.map((key) => ({
|
|
29
|
+
scope: key.scope,
|
|
30
|
+
expireTime: key.expiresAt ?? -1n,
|
|
31
|
+
permissions: Array.from({ length: 8 }, (_, index) => Number((key.permissionsRaw >> BigInt(index * 8)) & 255n)),
|
|
32
|
+
})),
|
|
33
|
+
}),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=profile-creation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-creation.js","sourceRoot":"","sources":["../../../src/internal/c4/profile-creation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkC,MAAM,aAAa,CAAC;AAC1E,OAAO,EACL,8BAA8B,EAC9B,sCAAsC,GACvC,MAAM,+BAA+B,CAAC;AASvC,qFAAqF;AACrF,MAAM,UAAU,0BAA0B,CAAC,GAAuB;IAChE,OAAO,CACL,GAAG,CAAC,KAAK,KAAK,8BAA8B;QAC5C,CAAC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC,KAAK,EAAE,CACjC,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,wBAAwB,CAAC,KAKxC;IACC,OAAO;QACL,cAAc,EAAE,8BAA8B;QAC9C,QAAQ,EAAE;YACR,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,eAAe,EAAE;YAC5D,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,eAAe,EAAE;YAC7D;gBACE,OAAO,EAAE,kCAA6C;gBACtD,IAAI,EAAE,WAAW,CAAC,QAAQ;aAC3B;YACD,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC1B,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,IAAI,EAAE,0BAA0B,CAAC,GAAG,CAAC;oBACnC,CAAC,CAAC,WAAW,CAAC,eAAe;oBAC7B,CAAC,CAAC,WAAW,CAAC,QAAQ;aACzB,CAAC,CAAC;SACJ;QACD,IAAI,EAAE,sCAAsC,EAAE,CAAC,MAAM,CAAC;YACpD,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACvC,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,UAAU,EAAE,GAAG,CAAC,SAAS,IAAI,CAAC,EAAE;gBAChC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAClD,MAAM,CAAC,CAAC,GAAG,CAAC,cAAc,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CACzD;aACF,CAAC,CAAC;SACJ,CAAC;KACH,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { Address } from '../../client/contracts.js';
|
|
2
2
|
import type { C4AccountAdapter } from './adapter.js';
|
|
3
3
|
export type ProfileFactionAlignment = 'unaligned' | 'mud' | 'oni' | 'ustur';
|
|
4
|
+
export interface ProfileFactionIdentityData {
|
|
5
|
+
readonly profile: Address;
|
|
6
|
+
readonly factionId: number;
|
|
7
|
+
}
|
|
4
8
|
export interface ProfileFactionAccountData {
|
|
5
9
|
readonly version: number;
|
|
6
10
|
readonly profile: Address;
|
|
@@ -8,6 +12,8 @@ export interface ProfileFactionAccountData {
|
|
|
8
12
|
readonly factionId: number;
|
|
9
13
|
readonly bump: number;
|
|
10
14
|
}
|
|
15
|
+
/** Minimal validated ProfileFaction identity read for write-side controller gates. */
|
|
16
|
+
export declare const profileFactionIdentityAccountDefinition: C4AccountAdapter<ProfileFactionIdentityData>;
|
|
11
17
|
export declare const profileFactionAccountDefinition: C4AccountAdapter<ProfileFactionAccountData>;
|
|
12
18
|
/** Derives ProfileFaction from its pinned Profile-only seed recipe. */
|
|
13
19
|
export declare function deriveProfileFactionAddress(profile: Address): Promise<Address>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-faction.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/profile-faction.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"profile-faction.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/profile-faction.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,2BAA2B,CAAC;AAMrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AASrD,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;AAE5E,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAkDD,sFAAsF;AACtF,eAAO,MAAM,uCAAuC,EAAE,gBAAgB,CAAC,0BAA0B,CAwB7F,CAAC;AAEL,eAAO,MAAM,+BAA+B,EAAE,gBAAgB,CAAC,yBAAyB,CAyBpF,CAAC;AAEL,uEAAuE;AACvE,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC,CAalB"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { PROFILE_FACTION_ACCOUNT_DISCRIMINATOR, PROFILE_FACTION_PROGRAM_ADDRESS, Faction, getProfileFactionAccountDecoder, } from '@staratlas/dev-profile-faction';
|
|
2
|
-
import { getAddressEncoder, getBytesEncoder, getProgramDerivedAddress, } from '@solana/kit';
|
|
2
|
+
import { getAddressDecoder, getAddressEncoder, getBytesEncoder, getProgramDerivedAddress, } from '@solana/kit';
|
|
3
3
|
import { AccountDecodeError, InvalidAccountOwnerError, InvalidDiscriminatorError, } from '../../client/errors.js';
|
|
4
4
|
const PROFILE_FACTION_ACCOUNT_LENGTH = 43;
|
|
5
|
+
const PROFILE_OFFSET = 9;
|
|
6
|
+
const FACTION_OFFSET = 41;
|
|
5
7
|
const DISCRIMINATOR = Object.freeze(Array.from(PROFILE_FACTION_ACCOUNT_DISCRIMINATOR));
|
|
6
8
|
function validate(account) {
|
|
7
9
|
if (account.owner !== PROFILE_FACTION_PROGRAM_ADDRESS) {
|
|
8
10
|
throw new InvalidAccountOwnerError('profileFaction', account.address, PROFILE_FACTION_PROGRAM_ADDRESS, account.owner);
|
|
9
11
|
}
|
|
12
|
+
if (account.executable)
|
|
13
|
+
throw new AccountDecodeError('profileFaction', account.address, new RangeError('Faction enrollment must not be executable.'));
|
|
10
14
|
if (account.data.length < DISCRIMINATOR.length ||
|
|
11
15
|
DISCRIMINATOR.some((byte, index) => account.data[index] !== byte)) {
|
|
12
16
|
throw new InvalidDiscriminatorError('profileFaction', account.address);
|
|
@@ -30,6 +34,25 @@ function alignment(value) {
|
|
|
30
34
|
throw new RangeError(`Unsupported ProfileFaction ${String(value)}.`);
|
|
31
35
|
}
|
|
32
36
|
}
|
|
37
|
+
/** Minimal validated ProfileFaction identity read for write-side controller gates. */
|
|
38
|
+
export const profileFactionIdentityAccountDefinition = Object.freeze({
|
|
39
|
+
decode(account) {
|
|
40
|
+
validate(account);
|
|
41
|
+
const factionId = account.data[FACTION_OFFSET];
|
|
42
|
+
if (factionId > Faction.Ustur) {
|
|
43
|
+
throw new AccountDecodeError('profileFaction', account.address, new RangeError(`Unsupported ProfileFaction ${String(factionId)}.`));
|
|
44
|
+
}
|
|
45
|
+
return Object.freeze({
|
|
46
|
+
factionId,
|
|
47
|
+
profile: getAddressDecoder().decode(account.data.subarray(PROFILE_OFFSET, FACTION_OFFSET)),
|
|
48
|
+
});
|
|
49
|
+
},
|
|
50
|
+
discriminator: DISCRIMINATOR,
|
|
51
|
+
minimumDataLength: PROFILE_FACTION_ACCOUNT_LENGTH,
|
|
52
|
+
programAddress: PROFILE_FACTION_PROGRAM_ADDRESS,
|
|
53
|
+
type: 'profileFaction',
|
|
54
|
+
validate,
|
|
55
|
+
});
|
|
33
56
|
export const profileFactionAccountDefinition = Object.freeze({
|
|
34
57
|
decode(account) {
|
|
35
58
|
validate(account);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-faction.js","sourceRoot":"","sources":["../../../src/internal/c4/profile-faction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qCAAqC,EACrC,+BAA+B,EAC/B,OAAO,EACP,+BAA+B,GAChC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAGhC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAC1C,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CACjC,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAClD,CAAC;
|
|
1
|
+
{"version":3,"file":"profile-faction.js","sourceRoot":"","sources":["../../../src/internal/c4/profile-faction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Address } from '@solana/kit';
|
|
2
|
+
export declare const PROFILE_SCOPE: Address;
|
|
3
|
+
/** Stable labels for Player Profile key permissions.
|
|
4
|
+
* @example
|
|
5
|
+
* ```ts
|
|
6
|
+
* const permission: ProfilePermission = 'authenticate';
|
|
7
|
+
* ```
|
|
8
|
+
*/
|
|
9
|
+
export type ProfilePermission = 'authenticate' | 'addKeys' | 'removeKeys' | 'changeName' | 'createRole' | 'removeRole' | 'setAuthorizer' | 'joinRole' | 'leaveRole' | 'toggleAcceptingNewMembers' | 'addMember' | 'removeMember' | 'drainSolVault';
|
|
10
|
+
export declare function translatePermissions(raw: bigint, scope: Address): readonly ProfilePermission[];
|
|
11
|
+
export declare function permissionBitsForScope(scope: Address): (readonly [bigint, "authenticate"] | readonly [bigint, "addKeys"] | readonly [bigint, "removeKeys"] | readonly [bigint, "changeName"] | readonly [bigint, "createRole"] | readonly [bigint, "removeRole"] | readonly [bigint, "setAuthorizer"] | readonly [bigint, "joinRole"] | readonly [bigint, "leaveRole"] | readonly [bigint, "toggleAcceptingNewMembers"] | readonly [bigint, "addMember"] | readonly [bigint, "removeMember"] | readonly [bigint, "drainSolVault"])[];
|
|
12
|
+
//# sourceMappingURL=profile-permissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-permissions.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/profile-permissions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,eAAO,MAAM,aAAa,EAAE,OAAwC,CAAC;AACrE;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GACzB,cAAc,GACd,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,eAAe,GACf,UAAU,GACV,WAAW,GACX,2BAA2B,GAC3B,WAAW,GACX,cAAc,GACd,eAAe,CAAC;AAkBpB,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,GACb,SAAS,iBAAiB,EAAE,CAQ9B;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,idAKpD"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { PROFILE_FLAGS, PLAYER_PROFILE_PROGRAM_ADDRESS, } from '@staratlas/dev-player-profile';
|
|
2
|
+
export const PROFILE_SCOPE = PLAYER_PROFILE_PROGRAM_ADDRESS;
|
|
3
|
+
const PROFILE_PERMISSION_BITS = [
|
|
4
|
+
[PROFILE_FLAGS.AUTH, 'authenticate'],
|
|
5
|
+
[PROFILE_FLAGS.ADD_KEYS, 'addKeys'],
|
|
6
|
+
[PROFILE_FLAGS.REMOVE_KEYS, 'removeKeys'],
|
|
7
|
+
[PROFILE_FLAGS.CHANGE_NAME, 'changeName'],
|
|
8
|
+
[PROFILE_FLAGS.CREATE_ROLE, 'createRole'],
|
|
9
|
+
[PROFILE_FLAGS.REMOVE_ROLE, 'removeRole'],
|
|
10
|
+
[PROFILE_FLAGS.SET_AUTHORIZER, 'setAuthorizer'],
|
|
11
|
+
[PROFILE_FLAGS.JOIN_ROLE, 'joinRole'],
|
|
12
|
+
[PROFILE_FLAGS.LEAVE_ROLE, 'leaveRole'],
|
|
13
|
+
[PROFILE_FLAGS.TOGGLE_ACCEPTING_NEW_MEMBERS, 'toggleAcceptingNewMembers'],
|
|
14
|
+
[PROFILE_FLAGS.ADD_MEMBER, 'addMember'],
|
|
15
|
+
[PROFILE_FLAGS.REMOVE_MEMBER, 'removeMember'],
|
|
16
|
+
[PROFILE_FLAGS.DRAIN_SOL_VAULT, 'drainSolVault'],
|
|
17
|
+
];
|
|
18
|
+
export function translatePermissions(raw, scope) {
|
|
19
|
+
const isPlayerProfileScope = scope === PLAYER_PROFILE_PROGRAM_ADDRESS;
|
|
20
|
+
return PROFILE_PERMISSION_BITS.flatMap(([flag, permission]) => (raw & flag) !== 0n &&
|
|
21
|
+
(isPlayerProfileScope || permission === 'drainSolVault')
|
|
22
|
+
? [permission]
|
|
23
|
+
: []);
|
|
24
|
+
}
|
|
25
|
+
export function permissionBitsForScope(scope) {
|
|
26
|
+
return PROFILE_PERMISSION_BITS.filter(([, permission]) => scope === PROFILE_SCOPE || permission === 'drainSolVault');
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=profile-permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-permissions.js","sourceRoot":"","sources":["../../../src/internal/c4/profile-permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,8BAA8B,GAC/B,MAAM,+BAA+B,CAAC;AAEvC,MAAM,CAAC,MAAM,aAAa,GAAY,8BAA8B,CAAC;AAsBrE,MAAM,uBAAuB,GAAG;IAC9B,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC;IACpC,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC;IACnC,CAAC,aAAa,CAAC,WAAW,EAAE,YAAY,CAAC;IACzC,CAAC,aAAa,CAAC,WAAW,EAAE,YAAY,CAAC;IACzC,CAAC,aAAa,CAAC,WAAW,EAAE,YAAY,CAAC;IACzC,CAAC,aAAa,CAAC,WAAW,EAAE,YAAY,CAAC;IACzC,CAAC,aAAa,CAAC,cAAc,EAAE,eAAe,CAAC;IAC/C,CAAC,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC;IACrC,CAAC,aAAa,CAAC,UAAU,EAAE,WAAW,CAAC;IACvC,CAAC,aAAa,CAAC,4BAA4B,EAAE,2BAA2B,CAAC;IACzE,CAAC,aAAa,CAAC,UAAU,EAAE,WAAW,CAAC;IACvC,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC;IAC7C,CAAC,aAAa,CAAC,eAAe,EAAE,eAAe,CAAC;CACoB,CAAC;AAEvE,MAAM,UAAU,oBAAoB,CAClC,GAAW,EACX,KAAc;IAEd,MAAM,oBAAoB,GAAG,KAAK,KAAK,8BAA8B,CAAC;IACtE,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,CAC5D,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE;QACnB,CAAC,oBAAoB,IAAI,UAAU,KAAK,eAAe,CAAC;QACtD,CAAC,CAAC,CAAC,UAAU,CAAC;QACd,CAAC,CAAC,EAAE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,OAAO,uBAAuB,CAAC,MAAM,CACnC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,CACjB,KAAK,KAAK,aAAa,IAAI,UAAU,KAAK,eAAe,CAC5D,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ShipStats } from '@staratlas/dev-sage';
|
|
2
|
+
import type { FleetStatsData } from './fleet.js';
|
|
3
|
+
/** Translates configuration and aggregate Fleet statistics using the same gameplay units. */
|
|
4
|
+
export declare function translateShipStats(stats: ShipStats): FleetStatsData;
|
|
5
|
+
//# sourceMappingURL=ship-stats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ship-stats.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/ship-stats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EAMV,cAAc,EACf,MAAM,YAAY,CAAC;AAiHpB,6FAA6F;AAC7F,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,cAAc,CAOnE"}
|