Skip to content

mining

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

One selected and registry-resolved output of an active mining Fleet.

declare const output: FleetMiningOutput;
console.log(output.cargo.name, output.unitsPerSecond);

readonly activeMinerCountRaw: bigint;

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

ResourceDepositItem.activeMinerCountRaw

readonly amountMinedUnitsRaw: bigint;

Defined in: packages/sage/src/mining/index.ts:54

ResourceDepositItem.amountMinedUnitsRaw

readonly cargo: CargoDefinitionSummary;

Defined in: packages/sage/src/mining/index.ts:52

ResourceDepositItem.cargo

readonly richness: WorldFixedValue;

Defined in: packages/sage/src/mining/index.ts:53

ResourceDepositItem.richness

readonly unitsPerSecond: number;

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


Defined in: packages/sage/src/mining/index.ts:118

Immutable current extraction relationship for one active mining Fleet.

declare const mining: FleetMiningSnapshot;
console.log(mining.outputs);

readonly asteroid: EntityRef<"celestialBody">;

Defined in: packages/sage/src/mining/index.ts:122

readonly fleet: EntityRef<"fleet">;

Defined in: packages/sage/src/mining/index.ts:120

readonly kind: "fleetMining";

Defined in: packages/sage/src/mining/index.ts:119

readonly lastUpdatedAtUnixSeconds: bigint;

Defined in: packages/sage/src/mining/index.ts:123

readonly miningRate: {
raw: bigint;
unitsPerSecond: number;
};

Defined in: packages/sage/src/mining/index.ts:125

readonly raw: bigint;
readonly unitsPerSecond: number;

readonly outputs: readonly FleetMiningOutput[];

Defined in: packages/sage/src/mining/index.ts:129

readonly ownerProfile: EntityRef<"profile">;

Defined in: packages/sage/src/mining/index.ts:121

readonly regionXpModifier: WorldFixedValue;

Defined in: packages/sage/src/mining/index.ts:124

toJSON(): unknown;

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

unknown


Defined in: packages/sage/src/mining/index.ts:95

One richness-adjusted resource output in cargo units per second.

const rate: MiningOutputRate = { cargoId: 8, unitsPerSecond: 4.5 };

readonly cargoId: number;

Defined in: packages/sage/src/mining/index.ts:96

readonly unitsPerSecond: number;

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


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

A pure rate input pairing one cargo id with Asteroid richness.

const input: MiningOutputRateInput = { cargoId: 8, richness: 1.5 };

readonly cargoId: number;

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

readonly richness: number;

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


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

One registry-resolved resource row nested in an Asteroid deposit.

declare const resource: ResourceDepositItem;
console.log(resource.cargo.name, resource.richness.value);

readonly activeMinerCountRaw: bigint;

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

readonly amountMinedUnitsRaw: bigint;

Defined in: packages/sage/src/mining/index.ts:54

readonly cargo: CargoDefinitionSummary;

Defined in: packages/sage/src/mining/index.ts:52

readonly richness: WorldFixedValue;

Defined in: packages/sage/src/mining/index.ts:53


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

Immutable, translated Asteroid resource-deposit snapshot.

declare const deposit: ResourceDepositSnapshot;
console.log(deposit.resources);

readonly address: Address;

Defined in: packages/sage/src/mining/index.ts:67

readonly bodyId: number;

Defined in: packages/sage/src/mining/index.ts:68

readonly game: Address;

Defined in: packages/sage/src/mining/index.ts:70

readonly kind: "resourceDeposit";

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

readonly lastSyncedAtUnixSeconds: bigint;

Defined in: packages/sage/src/mining/index.ts:73

readonly name: string;

Defined in: packages/sage/src/mining/index.ts:69

readonly resources: readonly ResourceDepositItem[];

Defined in: packages/sage/src/mining/index.ts:74

readonly system: EntityRef<"starSystem">;

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

readonly systemSequenceId: bigint;

Defined in: packages/sage/src/mining/index.ts:72

toJSON(): unknown;

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

unknown

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

Defined in: packages/sage/src/mining/index.ts:139

Options supported by owner-scoped active-mining discovery.

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

function deriveMiningOutputRates(fleetUnitsPerSecond, outputs): readonly MiningOutputRate[];

Defined in: packages/sage/src/mining/index.ts:317

Derives each selected output rate as Fleet units/second times deposit richness.

ParameterType
fleetUnitsPerSecondnumber
outputsreadonly MiningOutputRateInput[]

readonly MiningOutputRate[]

const rates = deriveMiningOutputRates(2, [{ cargoId: 8, richness: 1.5 }]);

function deriveMiningStateAgeSeconds(lastUpdatedAtUnixSeconds, atUnixSeconds): number;

Defined in: packages/sage/src/mining/index.ts:300

Derives mining-state age in whole seconds and clamps future timestamps.

ParameterType
lastUpdatedAtUnixSecondsbigint
atUnixSecondsbigint

number

const age = deriveMiningStateAgeSeconds(100n, 112n); // 12

function getFleetMiningState(
context,
fleet,
options?): Promise<
| FleetMiningSnapshot
| undefined>;

Defined in: packages/sage/src/mining/index.ts:481

Reads a Fleet and returns its active extraction relationship, if mining.

ParameterType
contextSageContext
fleetAddress
options?ReadOptions

Promise< | FleetMiningSnapshot | undefined>

declare const ctx: SageContext;
declare const fleet: Address;
const mining = await getFleetMiningState(ctx, fleet);

function getFleetMiningStatesByOwner(
context,
owner,
options?): Promise<readonly FleetMiningSnapshot[]>;

Defined in: packages/sage/src/mining/index.ts:505

Finds active mining Fleets for one owner through stable Fleet filters.

ParameterType
contextSageContext
ownerAddress
options?MiningDiscoveryOptions

Promise<readonly FleetMiningSnapshot[]>

declare const ctx: SageContext;
declare const owner: Address;
const mining = await getFleetMiningStatesByOwner(ctx, owner);

function getResourceDeposit(
context,
asteroid,
options?): Promise<ResourceDepositSnapshot>;

Defined in: packages/sage/src/mining/index.ts:253

Reads a required Asteroid resource deposit by CelestialBody address.

ParameterType
contextSageContext
asteroidAddress
options?ReadOptions

Promise<ResourceDepositSnapshot>

declare const ctx: SageContext;
declare const asteroid: Address;
const deposit = await getResourceDeposit(ctx, asteroid);

function maybeGetResourceDeposit(
context,
asteroid,
options?): Promise<
| ResourceDepositSnapshot
| undefined>;

Defined in: packages/sage/src/mining/index.ts:278

Reads an optional Asteroid resource deposit by CelestialBody address.

Returns undefined only when the account does not exist. A present non-Asteroid CelestialBody throws AccountDecodeError because it is not a resource deposit.

ParameterType
contextSageContext
asteroidAddress
options?ReadOptions

Promise< | ResourceDepositSnapshot | undefined>

declare const ctx: SageContext;
declare const asteroid: Address;
const deposit = await maybeGetResourceDeposit(ctx, asteroid);

function projectMiningOutputUnits(unitsPerSecond, elapsedSeconds): number;

Defined in: packages/sage/src/mining/index.ts:351

Projects nominal output units from a rate and elapsed seconds.

ParameterType
unitsPerSecondnumber
elapsedSecondsnumber

number

const units = projectMiningOutputUnits(4.5, 20); // 90