@aephia/atlas-kit 0.6.0-next.111 → 0.6.0-next.113
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/internal/c4/account-decoding.d.ts +32 -5
- package/dist/internal/c4/account-decoding.d.ts.map +1 -1
- package/dist/internal/c4/account-decoding.js +54 -24
- package/dist/internal/c4/account-decoding.js.map +1 -1
- package/dist/internal/c4/character.d.ts.map +1 -1
- package/dist/internal/c4/character.js +6 -15
- package/dist/internal/c4/character.js.map +1 -1
- package/dist/internal/c4/claim-stake-configuration.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake-configuration.js +4 -37
- package/dist/internal/c4/claim-stake-configuration.js.map +1 -1
- package/dist/internal/c4/claim-stake.d.ts.map +1 -1
- package/dist/internal/c4/claim-stake.js +7 -40
- package/dist/internal/c4/claim-stake.js.map +1 -1
- package/dist/internal/c4/combat.d.ts.map +1 -1
- package/dist/internal/c4/combat.js +8 -38
- package/dist/internal/c4/combat.js.map +1 -1
- package/dist/internal/c4/crafting.d.ts.map +1 -1
- package/dist/internal/c4/crafting.js +23 -73
- package/dist/internal/c4/crafting.js.map +1 -1
- package/dist/internal/c4/faction-treasury.d.ts.map +1 -1
- package/dist/internal/c4/faction-treasury.js +6 -7
- package/dist/internal/c4/faction-treasury.js.map +1 -1
- package/dist/internal/c4/factions.d.ts.map +1 -1
- package/dist/internal/c4/factions.js +43 -49
- package/dist/internal/c4/factions.js.map +1 -1
- package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
- package/dist/internal/c4/fleet-crew-binding.js +16 -37
- package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
- package/dist/internal/c4/fleet.d.ts.map +1 -1
- package/dist/internal/c4/fleet.js +7 -42
- package/dist/internal/c4/fleet.js.map +1 -1
- package/dist/internal/c4/game.d.ts +3 -0
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +12 -27
- package/dist/internal/c4/game.js.map +1 -1
- package/dist/internal/c4/identity.d.ts +2 -1
- package/dist/internal/c4/identity.d.ts.map +1 -1
- package/dist/internal/c4/identity.js +15 -20
- package/dist/internal/c4/identity.js.map +1 -1
- package/dist/internal/c4/loot.d.ts.map +1 -1
- package/dist/internal/c4/loot.js +11 -40
- package/dist/internal/c4/loot.js.map +1 -1
- package/dist/internal/c4/loyalty.d.ts.map +1 -1
- package/dist/internal/c4/loyalty.js +20 -88
- package/dist/internal/c4/loyalty.js.map +1 -1
- package/dist/internal/c4/market.d.ts.map +1 -1
- package/dist/internal/c4/market.js +14 -52
- package/dist/internal/c4/market.js.map +1 -1
- package/dist/internal/c4/profile-faction.d.ts +2 -1
- package/dist/internal/c4/profile-faction.d.ts.map +1 -1
- package/dist/internal/c4/profile-faction.js +32 -60
- package/dist/internal/c4/profile-faction.js.map +1 -1
- package/dist/internal/c4/rewards.d.ts.map +1 -1
- package/dist/internal/c4/rewards.js +18 -83
- package/dist/internal/c4/rewards.js.map +1 -1
- package/dist/internal/c4/scan-lifecycle.d.ts +3 -3
- package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -1
- package/dist/internal/c4/scan-lifecycle.js +15 -36
- package/dist/internal/c4/scan-lifecycle.js.map +1 -1
- package/dist/internal/c4/scanning.d.ts.map +1 -1
- package/dist/internal/c4/scanning.js +8 -41
- package/dist/internal/c4/scanning.js.map +1 -1
- package/dist/internal/c4/starbase.d.ts.map +1 -1
- package/dist/internal/c4/starbase.js +12 -55
- package/dist/internal/c4/starbase.js.map +1 -1
- package/dist/internal/c4/world.d.ts.map +1 -1
- package/dist/internal/c4/world.js +12 -56
- package/dist/internal/c4/world.js.map +1 -1
- package/dist/internal/planning/fleet-docking.d.ts.map +1 -1
- package/dist/internal/planning/fleet-docking.js +9 -11
- package/dist/internal/planning/fleet-docking.js.map +1 -1
- package/package.json +1 -1
- package/dist/internal/c4/faction-adapter.d.ts +0 -12
- package/dist/internal/c4/faction-adapter.d.ts.map +0 -1
- package/dist/internal/c4/faction-adapter.js +0 -52
- package/dist/internal/c4/faction-adapter.js.map +0 -1
|
@@ -1,12 +1,39 @@
|
|
|
1
1
|
import type { Address, EntityType, RawAccount } from '../../client/contracts.js';
|
|
2
|
+
import type { C4AccountAdapter } from './adapter.js';
|
|
2
3
|
/** Copies a generated discriminator into a frozen byte array. */
|
|
3
4
|
export declare function immutableBytes(bytes: Uint8Array): readonly number[];
|
|
4
5
|
/** Reads unsigned little-endian bytes as one bigint. */
|
|
5
6
|
export declare function littleEndianBytesToBigInt(bytes: readonly number[]): bigint;
|
|
6
|
-
|
|
7
|
-
export declare function validateAccount(account: RawAccount, type: EntityType, owner: Address, discriminator: readonly number[], minimumDataLength: number): void;
|
|
8
|
-
/** Decodes the whole account and rejects trailing bytes. */
|
|
9
|
-
export declare function decodeExactly<T>(account: RawAccount, type: EntityType, decoder: {
|
|
7
|
+
interface AccountReader<T> {
|
|
10
8
|
read(bytes: Uint8Array, offset: number): readonly [T, number];
|
|
11
|
-
}
|
|
9
|
+
}
|
|
10
|
+
/** The raw-account rule every C4 account adapter enforces before decoding. */
|
|
11
|
+
export interface AccountRule {
|
|
12
|
+
readonly type: EntityType;
|
|
13
|
+
/** The account name used in messages when `type` is shared, for example
|
|
14
|
+
* Local and Faction Markets; defaults to `type`. */
|
|
15
|
+
readonly label?: string;
|
|
16
|
+
/** The program that must own the account. */
|
|
17
|
+
readonly programAddress: Address;
|
|
18
|
+
/** The generated discriminator bytes. */
|
|
19
|
+
readonly discriminator: Uint8Array;
|
|
20
|
+
/** The minimum data length, or the exact length when `exact` is set. */
|
|
21
|
+
readonly length: number;
|
|
22
|
+
readonly exact?: boolean;
|
|
23
|
+
/** Further raw-layout checks run after the owner, discriminator and length
|
|
24
|
+
* checks, for example a length implied by a stored count. */
|
|
25
|
+
readonly validateShape?: (account: RawAccount) => void;
|
|
26
|
+
}
|
|
27
|
+
/** Builds the validator for an {@link AccountRule}: the owner, then the
|
|
28
|
+
* discriminator, then the length rule and any shape check. It holds no
|
|
29
|
+
* decoder, so validation-only callers stay small. */
|
|
30
|
+
export declare function accountValidator(rule: AccountRule): (account: RawAccount) => void;
|
|
31
|
+
/** Defines a validating C4 account adapter whose `validate` is
|
|
32
|
+
* {@link accountValidator} for `rule`, sharing one discriminator snapshot with
|
|
33
|
+
* the adapter's `discriminator` property. `decode` validates, decodes every byte
|
|
34
|
+
* with the generated `decoder`, and translates the result. A thrown
|
|
35
|
+
* {@link AccountDecodeError} passes through `translate`; any other failure is
|
|
36
|
+
* wrapped in one. */
|
|
37
|
+
export declare function defineAccount<TDecoded, TData>(rule: AccountRule, decoder: () => AccountReader<TDecoded>, translate: (value: TDecoded, account: RawAccount) => TData): C4AccountAdapter<TData>;
|
|
38
|
+
export {};
|
|
12
39
|
//# sourceMappingURL=account-decoding.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-decoding.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/account-decoding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,UAAU,EACX,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"account-decoding.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/account-decoding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,UAAU,EACX,MAAM,2BAA2B,CAAC;AAMnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,iEAAiE;AACjE,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,MAAM,EAAE,CAEnE;AAED,wDAAwD;AACxD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAE1E;AAED,UAAU,aAAa,CAAC,CAAC;IACvB,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;CAC/D;AAED,8EAA8E;AAC9E,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B;wDACoD;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,6CAA6C;IAC7C,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,yCAAyC;IACzC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC;IACnC,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB;iEAC6D;IAC7D,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,CAAC;CACxD;AAED;;qDAEqD;AACrD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,WAAW,GAChB,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,CAE/B;AAoCD;;;;;qBAKqB;AACrB,wBAAgB,aAAa,CAAC,QAAQ,EAAE,KAAK,EAC3C,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,MAAM,aAAa,CAAC,QAAQ,CAAC,EACtC,SAAS,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,KAAK,KAAK,GACzD,gBAAgB,CAAC,KAAK,CAAC,CA0BzB"}
|
|
@@ -7,30 +7,60 @@ export function immutableBytes(bytes) {
|
|
|
7
7
|
export function littleEndianBytesToBigInt(bytes) {
|
|
8
8
|
return bytes.reduceRight((value, byte) => (value << 8n) | BigInt(byte), 0n);
|
|
9
9
|
}
|
|
10
|
-
/**
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
if (account.data.length < discriminator.length ||
|
|
16
|
-
discriminator.some((byte, index) => account.data[index] !== byte)) {
|
|
17
|
-
throw new InvalidDiscriminatorError(type, account.address);
|
|
18
|
-
}
|
|
19
|
-
if (account.data.length < minimumDataLength) {
|
|
20
|
-
throw new AccountDecodeError(type, account.address, new RangeError(`Expected at least ${minimumDataLength} account bytes, received ${account.data.length}.`));
|
|
21
|
-
}
|
|
10
|
+
/** Builds the validator for an {@link AccountRule}: the owner, then the
|
|
11
|
+
* discriminator, then the length rule and any shape check. It holds no
|
|
12
|
+
* decoder, so validation-only callers stay small. */
|
|
13
|
+
export function accountValidator(rule) {
|
|
14
|
+
return ruleValidator(rule, immutableBytes(rule.discriminator));
|
|
22
15
|
}
|
|
23
|
-
/**
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
16
|
+
/** Snapshots the rule when built, so later changes to the caller's rule or
|
|
17
|
+
* discriminator bytes cannot change what the validator accepts. */
|
|
18
|
+
function ruleValidator(rule, discriminator) {
|
|
19
|
+
const { type, programAddress, length, exact, validateShape } = rule;
|
|
20
|
+
const label = rule.label ?? type;
|
|
21
|
+
return (account) => {
|
|
22
|
+
const { address, data } = account;
|
|
23
|
+
if (account.owner !== programAddress)
|
|
24
|
+
throw new InvalidAccountOwnerError(type, address, programAddress, account.owner);
|
|
25
|
+
if (data.length < discriminator.length ||
|
|
26
|
+
discriminator.some((byte, index) => data[index] !== byte))
|
|
27
|
+
throw new InvalidDiscriminatorError(type, address);
|
|
28
|
+
if (exact ? data.length !== length : data.length < length)
|
|
29
|
+
throw new AccountDecodeError(type, address, new RangeError(`Expected ${exact ? 'exactly' : 'at least'} ${length} ${label} account bytes, received ${data.length}.`));
|
|
30
|
+
validateShape?.(account);
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/** Defines a validating C4 account adapter whose `validate` is
|
|
34
|
+
* {@link accountValidator} for `rule`, sharing one discriminator snapshot with
|
|
35
|
+
* the adapter's `discriminator` property. `decode` validates, decodes every byte
|
|
36
|
+
* with the generated `decoder`, and translates the result. A thrown
|
|
37
|
+
* {@link AccountDecodeError} passes through `translate`; any other failure is
|
|
38
|
+
* wrapped in one. */
|
|
39
|
+
export function defineAccount(rule, decoder, translate) {
|
|
40
|
+
const { type, programAddress, length } = rule;
|
|
41
|
+
const label = rule.label ?? type;
|
|
42
|
+
const discriminator = immutableBytes(rule.discriminator);
|
|
43
|
+
const validate = ruleValidator(rule, discriminator);
|
|
44
|
+
return Object.freeze({
|
|
45
|
+
decode(account) {
|
|
46
|
+
validate(account);
|
|
47
|
+
try {
|
|
48
|
+
const [decoded, offset] = decoder().read(account.data, 0);
|
|
49
|
+
if (offset !== account.data.length)
|
|
50
|
+
throw new RangeError(`Decoded ${offset} of ${account.data.length} ${label} account bytes; trailing bytes are not accepted.`);
|
|
51
|
+
return translate(decoded, account);
|
|
52
|
+
}
|
|
53
|
+
catch (cause) {
|
|
54
|
+
if (cause instanceof AccountDecodeError)
|
|
55
|
+
throw cause;
|
|
56
|
+
throw new AccountDecodeError(type, account.address, cause);
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
discriminator,
|
|
60
|
+
minimumDataLength: length,
|
|
61
|
+
programAddress,
|
|
62
|
+
type,
|
|
63
|
+
validate,
|
|
64
|
+
});
|
|
35
65
|
}
|
|
36
66
|
//# sourceMappingURL=account-decoding.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-decoding.js","sourceRoot":"","sources":["../../../src/internal/c4/account-decoding.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"account-decoding.js","sourceRoot":"","sources":["../../../src/internal/c4/account-decoding.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"character.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/character.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"character.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/character.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { CHARACTER_DISCRIMINATOR, SAGE_PROGRAM_ADDRESS, getCharacterDecoder, } from '@staratlas/dev-sage';
|
|
2
2
|
import { getAddressEncoder, getBytesEncoder, getProgramDerivedAddress, } from '@solana/kit';
|
|
3
|
-
import {
|
|
3
|
+
import { defineAccount, littleEndianBytesToBigInt, } from './account-decoding.js';
|
|
4
4
|
import { translateCharacterModifier } from './character-modifier.js';
|
|
5
5
|
const FLOYDS_PER_ATLAS = 100_000_000;
|
|
6
6
|
const CHARACTER_MINIMUM_DATA_LENGTH = 415;
|
|
7
|
-
const CHARACTER_ACCOUNT_DISCRIMINATOR = /* @__PURE__ */ immutableBytes(CHARACTER_DISCRIMINATOR);
|
|
8
7
|
function translateCharacter(character) {
|
|
9
8
|
const carryRaw = littleEndianBytesToBigInt(character.pilotXpBudget.fractionalCarry);
|
|
10
9
|
return {
|
|
@@ -45,22 +44,14 @@ function translateCharacter(character) {
|
|
|
45
44
|
},
|
|
46
45
|
};
|
|
47
46
|
}
|
|
48
|
-
function validateCharacterAccount(account) {
|
|
49
|
-
validateAccount(account, 'character', SAGE_PROGRAM_ADDRESS, CHARACTER_ACCOUNT_DISCRIMINATOR, CHARACTER_MINIMUM_DATA_LENGTH);
|
|
50
|
-
}
|
|
51
47
|
/** Stable Character account definition for the pinned C4 bindings. */
|
|
52
48
|
export const characterAccountDefinition =
|
|
53
|
-
/* @__PURE__ */
|
|
54
|
-
decode(account) {
|
|
55
|
-
validateCharacterAccount(account);
|
|
56
|
-
return translateCharacter(decodeExactly(account, 'character', getCharacterDecoder()));
|
|
57
|
-
},
|
|
58
|
-
discriminator: CHARACTER_ACCOUNT_DISCRIMINATOR,
|
|
59
|
-
minimumDataLength: CHARACTER_MINIMUM_DATA_LENGTH,
|
|
60
|
-
programAddress: SAGE_PROGRAM_ADDRESS,
|
|
49
|
+
/* @__PURE__ */ defineAccount({
|
|
61
50
|
type: 'character',
|
|
62
|
-
|
|
63
|
-
|
|
51
|
+
programAddress: SAGE_PROGRAM_ADDRESS,
|
|
52
|
+
discriminator: CHARACTER_DISCRIMINATOR,
|
|
53
|
+
length: CHARACTER_MINIMUM_DATA_LENGTH,
|
|
54
|
+
}, getCharacterDecoder, translateCharacter);
|
|
64
55
|
/** Derives the C4 Character address for a Player Profile and Game. */
|
|
65
56
|
export async function findCharacterPda(playerProfile, game) {
|
|
66
57
|
// Mirrors the pinned generated `findCharacterPda` seed recipe. Calling the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"character.js","sourceRoot":"","sources":["../../../src/internal/c4/character.ts"],"names":[],"mappings":"AAAA,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,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"character.js","sourceRoot":"","sources":["../../../src/internal/c4/character.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claim-stake-configuration.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/claim-stake-configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oCAAoC,EAC1C,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"claim-stake-configuration.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/claim-stake-configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oCAAoC,EAC1C,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAKjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGrD,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,WAAW,EAAE;QACpB,QAAQ,CAAC,WAAW,EAAE,SAAS,4BAA4B,EAAE,CAAC;QAC9D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,QAAQ,CAAC,SAAS,EAAE;QAClB,QAAQ,CAAC,WAAW,EAAE,SAAS,oCAAoC,EAAE,CAAC;QACtE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH;AAaD,sFAAsF;AACtF,eAAO,MAAM,qCAAqC,EAAE,gBAAgB,CAAC,+BAA+B,CAKjG,CAAC"}
|
|
@@ -1,31 +1,8 @@
|
|
|
1
1
|
import { translateClaimStakeBuildingDefinitionsSection, } from './claim-stake-building-definitions.js';
|
|
2
2
|
import { translateClaimStakeDefinitionsSection, } from './claim-stake-definitions.js';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
const GAME_ACCOUNT_DISCRIMINATOR = /* @__PURE__ */ Object.freeze(
|
|
7
|
-
/* @__PURE__ */ Array.from(GAME_DISCRIMINATOR));
|
|
8
|
-
function validateGameAccount(account) {
|
|
9
|
-
if (account.owner !== SAGE_PROGRAM_ADDRESS) {
|
|
10
|
-
throw new InvalidAccountOwnerError('game', account.address, SAGE_PROGRAM_ADDRESS, account.owner);
|
|
11
|
-
}
|
|
12
|
-
if (account.data.length < GAME_MINIMUM_DATA_LENGTH ||
|
|
13
|
-
!GAME_ACCOUNT_DISCRIMINATOR.every((byte, index) => account.data[index] === byte)) {
|
|
14
|
-
throw new InvalidDiscriminatorError('game', account.address);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
function decodeExactly(account) {
|
|
18
|
-
try {
|
|
19
|
-
const [decoded, offset] = getGameDecoder().read(account.data, 0);
|
|
20
|
-
if (offset !== account.data.length) {
|
|
21
|
-
throw new RangeError(`Decoded ${offset} of ${account.data.length} Game account bytes; trailing bytes are not accepted.`);
|
|
22
|
-
}
|
|
23
|
-
return decoded;
|
|
24
|
-
}
|
|
25
|
-
catch (cause) {
|
|
26
|
-
throw new AccountDecodeError('game', account.address, cause);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
3
|
+
import { getGameDecoder } from '@staratlas/dev-sage';
|
|
4
|
+
import { defineAccount } from './account-decoding.js';
|
|
5
|
+
import { GAME_RULE } from './game.js';
|
|
29
6
|
function translateConfiguration(account, game) {
|
|
30
7
|
const claimStakes = translateClaimStakeDefinitionsSection(account, game);
|
|
31
8
|
return {
|
|
@@ -35,15 +12,5 @@ function translateConfiguration(account, game) {
|
|
|
35
12
|
}
|
|
36
13
|
/** Typed Game definition translating Claim Stake placement/building configuration. */
|
|
37
14
|
export const gameClaimStakeConfigurationDefinition =
|
|
38
|
-
/* @__PURE__ */
|
|
39
|
-
decode(account) {
|
|
40
|
-
validateGameAccount(account);
|
|
41
|
-
return translateConfiguration(account, decodeExactly(account));
|
|
42
|
-
},
|
|
43
|
-
discriminator: GAME_ACCOUNT_DISCRIMINATOR,
|
|
44
|
-
minimumDataLength: GAME_MINIMUM_DATA_LENGTH,
|
|
45
|
-
programAddress: SAGE_PROGRAM_ADDRESS,
|
|
46
|
-
type: 'game',
|
|
47
|
-
validate: validateGameAccount,
|
|
48
|
-
});
|
|
15
|
+
/* @__PURE__ */ defineAccount(GAME_RULE, () => getGameDecoder(), (game, account) => translateConfiguration(account, game));
|
|
49
16
|
//# sourceMappingURL=claim-stake-configuration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claim-stake-configuration.js","sourceRoot":"","sources":["../../../src/internal/c4/claim-stake-configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6CAA6C,GAE9C,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,qCAAqC,GAEtC,MAAM,8BAA8B,CAAC;AAEtC,OAAO,
|
|
1
|
+
{"version":3,"file":"claim-stake-configuration.js","sourceRoot":"","sources":["../../../src/internal/c4/claim-stake-configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6CAA6C,GAE9C,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,qCAAqC,GAEtC,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAa,MAAM,qBAAqB,CAAC;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAatC,SAAS,sBAAsB,CAC7B,OAAmB,EACnB,IAAU;IAEV,MAAM,WAAW,GAAG,qCAAqC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzE,OAAO;QACL,WAAW;QACX,SAAS,EAAE,6CAA6C,CAAC,OAAO,EAAE,IAAI,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,sFAAsF;AACtF,MAAM,CAAC,MAAM,qCAAqC;AAChD,eAAe,CAAC,aAAa,CAC3B,SAAS,EACT,GAAG,EAAE,CAAC,cAAc,EAAE,EACtB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CACzD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claim-stake.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/claim-stake.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,OAAO,EACP,gBAAgB,EAChB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"claim-stake.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/claim-stake.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { CLAIM_STAKE_INSTANCE_DISCRIMINATOR, SAGE_PROGRAM_ADDRESS, getClaimStakeInstanceDecoder, } from '@staratlas/dev-sage';
|
|
2
2
|
import { getAddressEncoder } from '@solana/kit';
|
|
3
|
-
import { AccountDecodeError,
|
|
3
|
+
import { AccountDecodeError, MissingGameContextError, } from '../../client/errors.js';
|
|
4
|
+
import { defineAccount } from './account-decoding.js';
|
|
4
5
|
const CLAIM_STAKE_MINIMUM_DATA_LENGTH = 196;
|
|
5
|
-
const CLAIM_STAKE_ACCOUNT_DISCRIMINATOR = /* @__PURE__ */ Object.freeze(
|
|
6
|
-
/* @__PURE__ */ Array.from(CLAIM_STAKE_INSTANCE_DISCRIMINATOR));
|
|
7
6
|
/** Stable ClaimStakeInstance filter offsets verified against the pinned codec. */
|
|
8
7
|
export const CLAIM_STAKE_FILTER_OFFSETS = /* @__PURE__ */ Object.freeze({
|
|
9
8
|
body: 73,
|
|
@@ -11,33 +10,6 @@ export const CLAIM_STAKE_FILTER_OFFSETS = /* @__PURE__ */ Object.freeze({
|
|
|
11
10
|
game: 41,
|
|
12
11
|
owner: 9,
|
|
13
12
|
});
|
|
14
|
-
function hasDiscriminator(data) {
|
|
15
|
-
return CLAIM_STAKE_ACCOUNT_DISCRIMINATOR.every((byte, index) => data[index] === byte);
|
|
16
|
-
}
|
|
17
|
-
function validateClaimStakeAccount(account) {
|
|
18
|
-
if (account.owner !== SAGE_PROGRAM_ADDRESS) {
|
|
19
|
-
throw new InvalidAccountOwnerError('claimStakeInstance', account.address, SAGE_PROGRAM_ADDRESS, account.owner);
|
|
20
|
-
}
|
|
21
|
-
if (account.data.length < CLAIM_STAKE_ACCOUNT_DISCRIMINATOR.length ||
|
|
22
|
-
!hasDiscriminator(account.data)) {
|
|
23
|
-
throw new InvalidDiscriminatorError('claimStakeInstance', account.address);
|
|
24
|
-
}
|
|
25
|
-
if (account.data.length < CLAIM_STAKE_MINIMUM_DATA_LENGTH) {
|
|
26
|
-
throw new AccountDecodeError('claimStakeInstance', account.address, new RangeError(`Expected at least ${CLAIM_STAKE_MINIMUM_DATA_LENGTH} ClaimStakeInstance account bytes, received ${account.data.length}.`));
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
function decodeExactly(account) {
|
|
30
|
-
try {
|
|
31
|
-
const [decoded, offset] = getClaimStakeInstanceDecoder().read(account.data, 0);
|
|
32
|
-
if (offset !== account.data.length) {
|
|
33
|
-
throw new RangeError(`Decoded ${offset} of ${account.data.length} ClaimStakeInstance account bytes; trailing bytes are not accepted.`);
|
|
34
|
-
}
|
|
35
|
-
return decoded;
|
|
36
|
-
}
|
|
37
|
-
catch (cause) {
|
|
38
|
-
throw new AccountDecodeError('claimStakeInstance', account.address, cause);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
13
|
function buildings(values) {
|
|
42
14
|
return [...values].map(([buildingId, quantity]) => ({
|
|
43
15
|
buildingId,
|
|
@@ -107,17 +79,12 @@ function translateClaimStake(value) {
|
|
|
107
79
|
}
|
|
108
80
|
/** Stable ClaimStakeInstance account definition for the pinned C4 bindings. */
|
|
109
81
|
export const claimStakeAccountDefinition =
|
|
110
|
-
/* @__PURE__ */
|
|
111
|
-
decode(account) {
|
|
112
|
-
validateClaimStakeAccount(account);
|
|
113
|
-
return translateClaimStake(decodeExactly(account));
|
|
114
|
-
},
|
|
115
|
-
discriminator: CLAIM_STAKE_ACCOUNT_DISCRIMINATOR,
|
|
116
|
-
minimumDataLength: CLAIM_STAKE_MINIMUM_DATA_LENGTH,
|
|
117
|
-
programAddress: SAGE_PROGRAM_ADDRESS,
|
|
82
|
+
/* @__PURE__ */ defineAccount({
|
|
118
83
|
type: 'claimStakeInstance',
|
|
119
|
-
|
|
120
|
-
|
|
84
|
+
programAddress: SAGE_PROGRAM_ADDRESS,
|
|
85
|
+
discriminator: CLAIM_STAKE_INSTANCE_DISCRIMINATOR,
|
|
86
|
+
length: CLAIM_STAKE_MINIMUM_DATA_LENGTH,
|
|
87
|
+
}, getClaimStakeInstanceDecoder, translateClaimStake);
|
|
121
88
|
/** Builds stable filters for every Claim Stake in one Game. */
|
|
122
89
|
export function buildClaimStakeGameDiscoveryFilters(game) {
|
|
123
90
|
return Object.freeze([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claim-stake.js","sourceRoot":"","sources":["../../../src/internal/c4/claim-stake.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAClC,oBAAoB,EACpB,4BAA4B,GAI7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"claim-stake.js","sourceRoot":"","sources":["../../../src/internal/c4/claim-stake.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combat.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/combat.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"combat.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/combat.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAKrD,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC;AAElE,gDAAgD;AAChD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAmBD,eAAO,MAAM,2BAA2B,EAAE,gBAAgB,CAAC,qBAAqB,CAY7E,CAAC;AAEJ,4EAA4E;AAC5E,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,aAAa,GAC5B,OAAO,CAAC,OAAO,CAAC,CAYlB"}
|
|
@@ -1,28 +1,8 @@
|
|
|
1
1
|
import { OUTLAW_FLAG_DISCRIMINATOR, SAGE_PROGRAM_ADDRESS, getOutlawFlagDecoder, } from '@staratlas/dev-sage';
|
|
2
2
|
import { getAddressEncoder, getBytesEncoder, getProgramDerivedAddress, getU8Encoder, } from '@solana/kit';
|
|
3
|
-
import {
|
|
3
|
+
import { defineAccount } from './account-decoding.js';
|
|
4
4
|
import { factionValue, translateFaction } from './faction.js';
|
|
5
5
|
const OUTLAW_FLAG_DATA_LENGTH = 60;
|
|
6
|
-
const OUTLAW_FLAG_ACCOUNT_DISCRIMINATOR = /* @__PURE__ */ Object.freeze(
|
|
7
|
-
/* @__PURE__ */ Array.from(OUTLAW_FLAG_DISCRIMINATOR));
|
|
8
|
-
function hasDiscriminator(data, discriminator) {
|
|
9
|
-
return discriminator.every((byte, index) => data[index] === byte);
|
|
10
|
-
}
|
|
11
|
-
function validateOwnerAndDiscriminator(account, type, discriminator) {
|
|
12
|
-
if (account.owner !== SAGE_PROGRAM_ADDRESS) {
|
|
13
|
-
throw new InvalidAccountOwnerError(type, account.address, SAGE_PROGRAM_ADDRESS, account.owner);
|
|
14
|
-
}
|
|
15
|
-
if (account.data.length < discriminator.length ||
|
|
16
|
-
!hasDiscriminator(account.data, discriminator)) {
|
|
17
|
-
throw new InvalidDiscriminatorError(type, account.address);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
function validateOutlawFlagAccount(account) {
|
|
21
|
-
validateOwnerAndDiscriminator(account, 'outlawFlag', OUTLAW_FLAG_ACCOUNT_DISCRIMINATOR);
|
|
22
|
-
if (account.data.length !== OUTLAW_FLAG_DATA_LENGTH) {
|
|
23
|
-
throw new AccountDecodeError('outlawFlag', account.address, new RangeError(`Expected exactly ${OUTLAW_FLAG_DATA_LENGTH} OutlawFlag account bytes, received ${account.data.length}.`));
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
6
|
function translateOutlawFlag(value) {
|
|
27
7
|
if (value.outlaw !== 0 && value.outlaw !== 1) {
|
|
28
8
|
throw new RangeError(`Unsupported OutlawFlag status ${String(value.outlaw)}.`);
|
|
@@ -38,24 +18,14 @@ function translateOutlawFlag(value) {
|
|
|
38
18
|
};
|
|
39
19
|
}
|
|
40
20
|
export const outlawFlagAccountDefinition =
|
|
41
|
-
/* @__PURE__ */
|
|
42
|
-
decode(account) {
|
|
43
|
-
validateOutlawFlagAccount(account);
|
|
44
|
-
// The exact fixed length is validated, so the fixed-size codec consumes it all.
|
|
45
|
-
const decoded = getOutlawFlagDecoder().decode(account.data);
|
|
46
|
-
try {
|
|
47
|
-
return translateOutlawFlag(decoded);
|
|
48
|
-
}
|
|
49
|
-
catch (cause) {
|
|
50
|
-
throw new AccountDecodeError('outlawFlag', account.address, cause);
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
discriminator: OUTLAW_FLAG_ACCOUNT_DISCRIMINATOR,
|
|
54
|
-
minimumDataLength: OUTLAW_FLAG_DATA_LENGTH,
|
|
55
|
-
programAddress: SAGE_PROGRAM_ADDRESS,
|
|
21
|
+
/* @__PURE__ */ defineAccount({
|
|
56
22
|
type: 'outlawFlag',
|
|
57
|
-
|
|
58
|
-
|
|
23
|
+
label: 'OutlawFlag',
|
|
24
|
+
programAddress: SAGE_PROGRAM_ADDRESS,
|
|
25
|
+
discriminator: OUTLAW_FLAG_DISCRIMINATOR,
|
|
26
|
+
length: OUTLAW_FLAG_DATA_LENGTH,
|
|
27
|
+
exact: true,
|
|
28
|
+
}, getOutlawFlagDecoder, translateOutlawFlag);
|
|
59
29
|
/** Derives the optional OutlawFlag address for one Profile/faction pair. */
|
|
60
30
|
export async function deriveOutlawFlagAddress(profile, againstFaction) {
|
|
61
31
|
const [address] = await getProgramDerivedAddress({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combat.js","sourceRoot":"","sources":["../../../src/internal/c4/combat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,GAErB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,YAAY,GACb,MAAM,aAAa,CAAC;AAGrB,OAAO,
|
|
1
|
+
{"version":3,"file":"combat.js","sourceRoot":"","sources":["../../../src/internal/c4/combat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,GAErB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,YAAY,GACb,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE9D,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAenC,SAAS,mBAAmB,CAAC,KAAiB;IAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,UAAU,CAClB,iCAAiC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CACzD,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,qBAAqB,EAAE,KAAK,CAAC,UAAU;QACvC,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,oBAAoB,CAAC;QAC9D,QAAQ,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC;QAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,mBAAmB,EAAE,KAAK,CAAC,QAAQ;QACnC,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B;AACtC,eAAe,CAAC,aAAa,CAC3B;IACE,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,YAAY;IACnB,cAAc,EAAE,oBAAoB;IACpC,aAAa,EAAE,yBAAyB;IACxC,MAAM,EAAE,uBAAuB;IAC/B,KAAK,EAAE,IAAI;CACZ,EACD,oBAAoB,EACpB,mBAAmB,CACpB,CAAC;AAEJ,4EAA4E;AAC5E,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAgB,EAChB,cAA6B;IAE7B,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,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CACrE;YACD,iBAAiB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;YACnC,YAAY,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;SACpD;KACF,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crafting.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/crafting.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EACV,OAAO,EACP,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"crafting.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/crafting.ts"],"names":[],"mappings":"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"}
|