Skip to content
Next — unreleased

Defined in: packages/sage/src/loyalty/index.ts:98

Immutable accumulated ATLAS bank for one Profile and faction.

declare const bank: LoyaltyAtlasBankSnapshot;
console.log(bank.claimableAtlasRaw, bank.expiresAtUnixSeconds);
  • Omit<LoyaltyAtlasBankAccountData, "game" | "profile" | "factionId">

readonly address: Address;

Defined in: packages/sage/src/loyalty/index.ts:103

readonly bump: number;

Defined in: packages/sage/src/internal/c4/loyalty.ts:100

Omit.bump

readonly claimableAtlasRaw: bigint;

Defined in: packages/sage/src/internal/c4/loyalty.ts:104

Omit.claimableAtlasRaw

readonly expiresAtUnixSeconds: bigint;

Defined in: packages/sage/src/internal/c4/loyalty.ts:108

Omit.expiresAtUnixSeconds

readonly faction: EntityRef<"faction">;

Defined in: packages/sage/src/loyalty/index.ts:107

readonly factionId: number;

Defined in: packages/sage/src/loyalty/index.ts:106

readonly game: EntityRef<"game">;

Defined in: packages/sage/src/loyalty/index.ts:104

readonly kind: "loyaltyAtlasBank";

Defined in: packages/sage/src/loyalty/index.ts:102

readonly lastCreditedAtUnixSeconds: bigint;

Defined in: packages/sage/src/internal/c4/loyalty.ts:107

Omit.lastCreditedAtUnixSeconds

readonly lifetimeAtlasRaw: bigint;

Defined in: packages/sage/src/internal/c4/loyalty.ts:106

Omit.lifetimeAtlasRaw

readonly lifetimeLpRaw: bigint;

Defined in: packages/sage/src/internal/c4/loyalty.ts:105

Omit.lifetimeLpRaw

readonly profile: EntityRef<"profile">;

Defined in: packages/sage/src/loyalty/index.ts:105

readonly version: number;

Defined in: packages/sage/src/internal/c4/loyalty.ts:99

Omit.version

toJSON(): unknown;

Defined in: packages/sage/src/loyalty/index.ts:108

unknown


Defined in: packages/sage/src/loyalty/index.ts:76

Immutable Profile contribution for one faction epoch.

declare const contribution: LoyaltyContributionSnapshot;
console.log(contribution.profile.address, contribution.lpRaw);
  • Omit<LoyaltyContributionAccountData, "game" | "profile" | "factionId" | "settledAtUnixSeconds">

readonly address: Address;

Defined in: packages/sage/src/loyalty/index.ts:81

readonly atlasEntitlementRaw: bigint;

Defined in: packages/sage/src/internal/c4/loyalty.ts:94

Omit.atlasEntitlementRaw

readonly bump: number;

Defined in: packages/sage/src/internal/c4/loyalty.ts:87

Omit.bump

readonly epoch: EntityRef<"loyaltyEpoch">;

Defined in: packages/sage/src/loyalty/index.ts:86

readonly epochIndex: bigint;

Defined in: packages/sage/src/internal/c4/loyalty.ts:92

Omit.epochIndex

readonly faction: EntityRef<"faction">;

Defined in: packages/sage/src/loyalty/index.ts:85

readonly factionId: number;

Defined in: packages/sage/src/loyalty/index.ts:84

readonly game: EntityRef<"game">;

Defined in: packages/sage/src/loyalty/index.ts:82

readonly kind: "loyaltyContribution";

Defined in: packages/sage/src/loyalty/index.ts:80

readonly lpRaw: bigint;

Defined in: packages/sage/src/internal/c4/loyalty.ts:93

Omit.lpRaw

readonly profile: EntityRef<"profile">;

Defined in: packages/sage/src/loyalty/index.ts:83

readonly settled: boolean;

Defined in: packages/sage/src/internal/c4/loyalty.ts:88

Omit.settled

readonly settledAtUnixSeconds: bigint | undefined;

Defined in: packages/sage/src/loyalty/index.ts:87

readonly version: number;

Defined in: packages/sage/src/internal/c4/loyalty.ts:86

Omit.version

toJSON(): unknown;

Defined in: packages/sage/src/loyalty/index.ts:88

unknown


Defined in: packages/sage/src/loyalty/index.ts:56

Immutable faction loyalty epoch with exact LP/ATLAS values.

declare const epoch: LoyaltyEpochSnapshot;
console.log(epoch.faction.address, epoch.totalLpRaw);
  • Omit<LoyaltyEpochAccountData, "game" | "factionId">

readonly address: Address;

Defined in: packages/sage/src/loyalty/index.ts:61

readonly bump: number;

Defined in: packages/sage/src/internal/c4/loyalty.ts:69

Omit.bump

readonly configVersion: number;

Defined in: packages/sage/src/internal/c4/loyalty.ts:74

Omit.configVersion

readonly endsAtUnixSeconds: bigint;

Defined in: packages/sage/src/internal/c4/loyalty.ts:77

Omit.endsAtUnixSeconds

readonly epochIndex: bigint;

Defined in: packages/sage/src/internal/c4/loyalty.ts:75

Omit.epochIndex

readonly faction: EntityRef<"faction">;

Defined in: packages/sage/src/loyalty/index.ts:64

readonly factionId: number;

Defined in: packages/sage/src/loyalty/index.ts:63

readonly game: EntityRef<"game">;

Defined in: packages/sage/src/loyalty/index.ts:62

readonly kind: "loyaltyEpoch";

Defined in: packages/sage/src/loyalty/index.ts:60

readonly kingSystems: number;

Defined in: packages/sage/src/internal/c4/loyalty.ts:71

Omit.kingSystems

readonly poolAtlasRaw: bigint;

Defined in: packages/sage/src/internal/c4/loyalty.ts:80

Omit.poolAtlasRaw

readonly rewardConfig: EntityRef<"atlasRewardConfig">;

Defined in: packages/sage/src/loyalty/index.ts:65

readonly settledAtlasRaw: bigint;

Defined in: packages/sage/src/internal/c4/loyalty.ts:82

Omit.settledAtlasRaw

readonly settlementDeadlineUnixSeconds: bigint;

Defined in: packages/sage/src/internal/c4/loyalty.ts:78

Omit.settlementDeadlineUnixSeconds

readonly startsAtUnixSeconds: bigint;

Defined in: packages/sage/src/internal/c4/loyalty.ts:76

Omit.startsAtUnixSeconds

readonly status: LoyaltyEpochStatus;

Defined in: packages/sage/src/internal/c4/loyalty.ts:70

Omit.status

readonly totalLpRaw: bigint;

Defined in: packages/sage/src/internal/c4/loyalty.ts:79

Omit.totalLpRaw

readonly unsettledAtlasRaw: bigint;

Defined in: packages/sage/src/internal/c4/loyalty.ts:81

Omit.unsettledAtlasRaw

readonly version: number;

Defined in: packages/sage/src/internal/c4/loyalty.ts:68

Omit.version

toJSON(): unknown;

Defined in: packages/sage/src/loyalty/index.ts:66

unknown

type LoyaltyAtlasBankState =
| {
kind: "empty";
}
| {
claimableAtlasRaw: bigint;
kind: "claimable";
}
| {
claimableAtlasRaw: bigint;
kind: "expired";
};

Defined in: packages/sage/src/loyalty/index.ts:141

Claimability state of one loyalty ATLAS bank.

const state: LoyaltyAtlasBankState = { kind: 'empty' };

type LoyaltyContributionState =
| {
kind: "unsettled";
}
| {
kind: "settled";
settledAtUnixSeconds: bigint;
}
| {
kind: "expired";
};

Defined in: packages/sage/src/loyalty/index.ts:130

Settlement state of one loyalty contribution.

const state: LoyaltyContributionState = { kind: 'unsettled' };

type LoyaltyDiscoveryOptions = Omit<DiscoveryRequest, "filters" | "strategy">;

Defined in: packages/sage/src/loyalty/index.ts:44

Options accepted by targeted loyalty reverse discovery.

const options: LoyaltyDiscoveryOptions = { commitment: 'confirmed' };

type LoyaltyEpochState =
| {
kind: "scheduled";
}
| {
kind: "open";
remainingSeconds: bigint;
}
| {
kind: "settling";
remainingSeconds: bigint;
}
| {
kind: "expired";
}
| {
kind: "swept";
};

Defined in: packages/sage/src/loyalty/index.ts:117

Time-projected lifecycle of one loyalty epoch.

const state: LoyaltyEpochState = { kind: 'scheduled' };

function deriveLoyaltyAtlasBankState(bank, atUnixSeconds): LoyaltyAtlasBankState;

Defined in: packages/sage/src/loyalty/index.ts:634

Projects whether an accumulated ATLAS bank is empty, claimable, or expired.

ParameterType
bankPick<LoyaltyAtlasBankSnapshot, "claimableAtlasRaw" | "expiresAtUnixSeconds">
atUnixSecondsbigint

LoyaltyAtlasBankState

declare const bank: LoyaltyAtlasBankSnapshot;
const state = deriveLoyaltyAtlasBankState(bank, 1_700_000_000n);

function deriveLoyaltyContributionState(
contribution,
epoch,
atUnixSeconds): LoyaltyContributionState;

Defined in: packages/sage/src/loyalty/index.ts:581

Projects settlement or expiry for one contribution and matching epoch. Unsettled contributions are expired as soon as their epoch is swept.

ParameterType
contributionPick<LoyaltyContributionSnapshot, "settled" | "settledAtUnixSeconds" | "epoch" | "factionId" | "game">
epochPick<LoyaltyEpochSnapshot, | "address" | "factionId" | "game" | "status" | "endsAtUnixSeconds" | "settlementDeadlineUnixSeconds">
atUnixSecondsbigint

LoyaltyContributionState

declare const contribution: LoyaltyContributionSnapshot;
declare const epoch: LoyaltyEpochSnapshot;
const state = deriveLoyaltyContributionState(contribution, epoch, 1_700_000_000n);

function deriveLoyaltyEpochState(epoch, atUnixSeconds): LoyaltyEpochState;

Defined in: packages/sage/src/loyalty/index.ts:541

Projects a loyalty epoch at an explicit Unix timestamp.

ParameterType
epochPick<LoyaltyEpochSnapshot, | "status" | "startsAtUnixSeconds" | "endsAtUnixSeconds" | "settlementDeadlineUnixSeconds">
atUnixSecondsbigint

LoyaltyEpochState

declare const epoch: LoyaltyEpochSnapshot;
const state = deriveLoyaltyEpochState(epoch, epoch.startsAtUnixSeconds);

function getLoyaltyAtlasBank(
context,
profile,
factionId,
options?): Promise<LoyaltyAtlasBankSnapshot>;

Defined in: packages/sage/src/loyalty/index.ts:430

Derives and reads a required Profile loyalty ATLAS bank.

ParameterType
contextSageContext
profileAddress
factionIdnumber
options?ReadOptions

Promise<LoyaltyAtlasBankSnapshot>

declare const ctx: SageContext;
declare const profile: Address;
const bank = await getLoyaltyAtlasBank(ctx, profile, 3);

function getLoyaltyAtlasBanksByProfile(
context,
profile,
options?): Promise<readonly LoyaltyAtlasBankSnapshot[]>;

Defined in: packages/sage/src/loyalty/index.ts:516

Discovers validated loyalty ATLAS banks for one Profile.

ParameterType
contextSageContext
profileAddress
options?LoyaltyDiscoveryOptions

Promise<readonly LoyaltyAtlasBankSnapshot[]>

declare const ctx: SageContext;
declare const profile: Address;
const banks = await getLoyaltyAtlasBanksByProfile(ctx, profile);

function getLoyaltyContribution(
context,
profile,
factionId,
epochIndex,
options?): Promise<LoyaltyContributionSnapshot>;

Defined in: packages/sage/src/loyalty/index.ts:336

Derives and reads one required Profile contribution.

ParameterType
contextSageContext
profileAddress
factionIdnumber
epochIndexbigint
options?ReadOptions

Promise<LoyaltyContributionSnapshot>

declare const ctx: SageContext;
declare const profile: Address;
const contribution = await getLoyaltyContribution(ctx, profile, 1, 20_668n);

function getLoyaltyContributionsByProfile(
context,
profile,
options?): Promise<readonly LoyaltyContributionSnapshot[]>;

Defined in: packages/sage/src/loyalty/index.ts:490

Discovers validated loyalty contributions for one Profile.

ParameterType
contextSageContext
profileAddress
options?LoyaltyDiscoveryOptions

Promise<readonly LoyaltyContributionSnapshot[]>

declare const ctx: SageContext;
declare const profile: Address;
const contributions = await getLoyaltyContributionsByProfile(ctx, profile);

function getLoyaltyEpoch(
context,
factionId,
epochIndex,
options?): Promise<LoyaltyEpochSnapshot>;

Defined in: packages/sage/src/loyalty/index.ts:311

Derives and reads one required faction loyalty epoch.

ParameterType
contextSageContext
factionIdnumber
epochIndexbigint
options?ReadOptions

Promise<LoyaltyEpochSnapshot>

declare const ctx: SageContext;
const epoch = await getLoyaltyEpoch(ctx, 1, 20_665n);

function getLoyaltyEpochsByFaction(
context,
factionId,
options?): Promise<readonly LoyaltyEpochSnapshot[]>;

Defined in: packages/sage/src/loyalty/index.ts:464

Discovers validated loyalty epochs for one faction.

ParameterType
contextSageContext
factionIdnumber
options?LoyaltyDiscoveryOptions

Promise<readonly LoyaltyEpochSnapshot[]>

declare const ctx: SageContext;
const epochs = await getLoyaltyEpochsByFaction(ctx, 1);

function maybeGetLoyaltyAtlasBank(
context,
profile,
factionId,
options?): Promise<
| LoyaltyAtlasBankSnapshot
| undefined>;

Defined in: packages/sage/src/loyalty/index.ts:405

Derives and reads an optional Profile loyalty ATLAS bank.

ParameterType
contextSageContext
profileAddress
factionIdnumber
options?ReadOptions

Promise< | LoyaltyAtlasBankSnapshot | undefined>

declare const ctx: SageContext;
declare const profile: Address;
const bank = await maybeGetLoyaltyAtlasBank(ctx, profile, 3);