Skip to content

loyalty

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

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:98

readonly bump: number;

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

Omit.bump

readonly claimableAtlasRaw: bigint;

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

Omit.claimableAtlasRaw

readonly expiresAtUnixSeconds: bigint;

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

Omit.expiresAtUnixSeconds

readonly faction: EntityRef<"faction">;

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

readonly factionId: number;

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

readonly game: EntityRef<"game">;

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

readonly kind: "loyaltyAtlasBank";

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

readonly lastCreditedAtUnixSeconds: bigint;

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

Omit.lastCreditedAtUnixSeconds

readonly lifetimeAtlasRaw: bigint;

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

Omit.lifetimeAtlasRaw

readonly lifetimeLpRaw: bigint;

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

Omit.lifetimeLpRaw

readonly profile: EntityRef<"profile">;

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

readonly version: number;

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

Omit.version

toJSON(): unknown;

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

unknown


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

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:76

readonly atlasEntitlementRaw: bigint;

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

Omit.atlasEntitlementRaw

readonly bump: number;

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

Omit.bump

readonly epoch: EntityRef<"loyaltyEpoch">;

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

readonly epochIndex: bigint;

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

Omit.epochIndex

readonly faction: EntityRef<"faction">;

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

readonly factionId: number;

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

readonly game: EntityRef<"game">;

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

readonly kind: "loyaltyContribution";

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

readonly lpRaw: bigint;

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

Omit.lpRaw

readonly profile: EntityRef<"profile">;

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

readonly settled: boolean;

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

Omit.settled

readonly settledAtUnixSeconds: bigint | undefined;

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

readonly version: number;

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

Omit.version

toJSON(): unknown;

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

unknown


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

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:56

readonly bump: number;

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

Omit.bump

readonly configVersion: number;

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

Omit.configVersion

readonly endsAtUnixSeconds: bigint;

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

Omit.endsAtUnixSeconds

readonly epochIndex: bigint;

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

Omit.epochIndex

readonly faction: EntityRef<"faction">;

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

readonly factionId: number;

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

readonly game: EntityRef<"game">;

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

readonly kind: "loyaltyEpoch";

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

readonly kingSystems: number;

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

Omit.kingSystems

readonly poolAtlasRaw: bigint;

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

Omit.poolAtlasRaw

readonly rewardConfig: EntityRef<"atlasRewardConfig">;

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

readonly settledAtlasRaw: bigint;

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

Omit.settledAtlasRaw

readonly settlementDeadlineUnixSeconds: bigint;

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

Omit.settlementDeadlineUnixSeconds

readonly startsAtUnixSeconds: bigint;

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

Omit.startsAtUnixSeconds

readonly status: LoyaltyEpochStatus;

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

Omit.status

readonly totalLpRaw: bigint;

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

Omit.totalLpRaw

readonly unsettledAtlasRaw: bigint;

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

Omit.unsettledAtlasRaw

readonly version: number;

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

Omit.version

toJSON(): unknown;

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

unknown

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

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

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:125

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:39

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:112

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:641

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:588

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:548

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:437

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:523

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:343

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:497

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:318

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:471

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:412

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);