@aephia/atlas-kit 0.6.0-next.61 → 0.6.0-next.63
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/fleets/actions/crew-transfer.d.ts +41 -0
- package/dist/fleets/actions/crew-transfer.d.ts.map +1 -0
- package/dist/fleets/actions/crew-transfer.js +114 -0
- package/dist/fleets/actions/crew-transfer.js.map +1 -0
- package/dist/fleets/actions/index.d.ts +1 -0
- package/dist/fleets/actions/index.d.ts.map +1 -1
- package/dist/fleets/actions/index.js +1 -0
- package/dist/fleets/actions/index.js.map +1 -1
- package/dist/internal/c4/game.d.ts +2 -0
- package/dist/internal/c4/game.d.ts.map +1 -1
- package/dist/internal/c4/game.js +5 -0
- package/dist/internal/c4/game.js.map +1 -1
- package/dist/internal/c4/runtime-bindings.d.ts +1 -1
- package/dist/internal/c4/runtime-bindings.d.ts.map +1 -1
- package/dist/internal/c4/runtime-bindings.js +1 -1
- package/dist/internal/c4/runtime-bindings.js.map +1 -1
- package/dist/internal/c4/scan-lifecycle.d.ts +28 -0
- package/dist/internal/c4/scan-lifecycle.d.ts.map +1 -1
- package/dist/internal/c4/scan-lifecycle.js +22 -0
- package/dist/internal/c4/scan-lifecycle.js.map +1 -1
- package/dist/internal/planning/fleet-crew-guard.d.ts +28 -0
- package/dist/internal/planning/fleet-crew-guard.d.ts.map +1 -0
- package/dist/internal/planning/fleet-crew-guard.js +47 -0
- package/dist/internal/planning/fleet-crew-guard.js.map +1 -0
- package/dist/internal/planning/fleet-crew-transfer.d.ts +7 -0
- package/dist/internal/planning/fleet-crew-transfer.d.ts.map +1 -0
- package/dist/internal/planning/fleet-crew-transfer.js +131 -0
- package/dist/internal/planning/fleet-crew-transfer.js.map +1 -0
- package/dist/planning/execution.d.ts.map +1 -1
- package/dist/planning/execution.js +13 -1
- package/dist/planning/execution.js.map +1 -1
- package/dist/planning/index.d.ts +3 -2
- package/dist/planning/index.d.ts.map +1 -1
- package/dist/planning/index.js +59 -3
- package/dist/planning/index.js.map +1 -1
- package/dist/registry/ships.d.ts +2 -0
- package/dist/registry/ships.d.ts.map +1 -1
- package/dist/registry/ships.js +10 -2
- package/dist/registry/ships.js.map +1 -1
- package/dist/scanning/index.d.ts +1 -0
- package/dist/scanning/index.d.ts.map +1 -1
- package/dist/scanning/index.js +1 -0
- package/dist/scanning/index.js.map +1 -1
- package/dist/scanning/odds.d.ts +111 -0
- package/dist/scanning/odds.d.ts.map +1 -0
- package/dist/scanning/odds.js +294 -0
- package/dist/scanning/odds.js.map +1 -0
- package/dist/scanning/signals.d.ts +2 -2
- package/package.json +1 -1
|
@@ -30,11 +30,19 @@ declare function signalData(raw: RawAccount, v: ScanSignal): {
|
|
|
30
30
|
sequence: bigint;
|
|
31
31
|
status: "expired" | "empty" | "pending-entropy" | "contact" | "no-contact" | "recovered" | "abandoned";
|
|
32
32
|
cooldownEndsAtUnixSeconds: bigint;
|
|
33
|
+
recoveryHistory: {
|
|
34
|
+
lastRegionId: number;
|
|
35
|
+
consecutiveRecoveries: number;
|
|
36
|
+
lastRecoveryAtUnixSeconds: bigint;
|
|
37
|
+
};
|
|
33
38
|
attempt: {
|
|
34
39
|
focus: "any" | "industrial" | "technology" | "tactical" | "exotic";
|
|
35
40
|
regionId: number;
|
|
36
41
|
patternId: number;
|
|
37
42
|
policyRevision: number;
|
|
43
|
+
policyContentFingerprint: string;
|
|
44
|
+
lootProfileContentFingerprint: string;
|
|
45
|
+
eligibleLootRowIndexes: number[];
|
|
38
46
|
lootProfileRevision: number;
|
|
39
47
|
commitSlot: bigint;
|
|
40
48
|
revealSlots: bigint[];
|
|
@@ -100,9 +108,12 @@ declare function policyData(raw: RawAccount, v: ScanPatternPolicy): {
|
|
|
100
108
|
bump: number;
|
|
101
109
|
game: import("@solana/kit").Address;
|
|
102
110
|
patternId: number;
|
|
111
|
+
valueBudgetRaw: bigint;
|
|
112
|
+
allowedFocusCategories: ("any" | "industrial" | "technology" | "tactical" | "exotic")[];
|
|
103
113
|
status: "active" | "draft" | "removed";
|
|
104
114
|
strategy: "broad" | "focused" | "enhanced" | "deep" | "spatial";
|
|
105
115
|
revision: number;
|
|
116
|
+
contentFingerprint: string;
|
|
106
117
|
contactChanceBasisPoints: number;
|
|
107
118
|
maximumRarity: "common" | "uncommon" | "rare" | "epic" | "legendary" | "anomalous";
|
|
108
119
|
requiredResearchTagIds: number[];
|
|
@@ -124,6 +135,7 @@ declare function lootData(raw: RawAccount, v: ScanLootProfile): {
|
|
|
124
135
|
regionId: number;
|
|
125
136
|
status: "active" | "draft" | "removed";
|
|
126
137
|
revision: number;
|
|
138
|
+
contentFingerprint: string;
|
|
127
139
|
riskValueMultiplierBasisPoints: number;
|
|
128
140
|
anchors: {
|
|
129
141
|
x: {
|
|
@@ -137,6 +149,8 @@ declare function lootData(raw: RawAccount, v: ScanLootProfile): {
|
|
|
137
149
|
}[];
|
|
138
150
|
loot: {
|
|
139
151
|
cargoId: number;
|
|
152
|
+
supportedPatternIds: number[];
|
|
153
|
+
valueUnits: number;
|
|
140
154
|
baseQuantityRaw: bigint;
|
|
141
155
|
rollWeight: number;
|
|
142
156
|
rarity: "common" | "uncommon" | "rare" | "epic" | "legendary" | "anomalous";
|
|
@@ -154,11 +168,19 @@ export declare const scanSignalAccountDefinition: C4AccountAdapter<{
|
|
|
154
168
|
sequence: bigint;
|
|
155
169
|
status: "expired" | "empty" | "pending-entropy" | "contact" | "no-contact" | "recovered" | "abandoned";
|
|
156
170
|
cooldownEndsAtUnixSeconds: bigint;
|
|
171
|
+
recoveryHistory: {
|
|
172
|
+
lastRegionId: number;
|
|
173
|
+
consecutiveRecoveries: number;
|
|
174
|
+
lastRecoveryAtUnixSeconds: bigint;
|
|
175
|
+
};
|
|
157
176
|
attempt: {
|
|
158
177
|
focus: "any" | "industrial" | "technology" | "tactical" | "exotic";
|
|
159
178
|
regionId: number;
|
|
160
179
|
patternId: number;
|
|
161
180
|
policyRevision: number;
|
|
181
|
+
policyContentFingerprint: string;
|
|
182
|
+
lootProfileContentFingerprint: string;
|
|
183
|
+
eligibleLootRowIndexes: number[];
|
|
162
184
|
lootProfileRevision: number;
|
|
163
185
|
commitSlot: bigint;
|
|
164
186
|
revealSlots: bigint[];
|
|
@@ -224,9 +246,12 @@ export declare const scanPatternPolicyAccountDefinition: C4AccountAdapter<{
|
|
|
224
246
|
bump: number;
|
|
225
247
|
game: import("@solana/kit").Address;
|
|
226
248
|
patternId: number;
|
|
249
|
+
valueBudgetRaw: bigint;
|
|
250
|
+
allowedFocusCategories: ("any" | "industrial" | "technology" | "tactical" | "exotic")[];
|
|
227
251
|
status: "active" | "draft" | "removed";
|
|
228
252
|
strategy: "broad" | "focused" | "enhanced" | "deep" | "spatial";
|
|
229
253
|
revision: number;
|
|
254
|
+
contentFingerprint: string;
|
|
230
255
|
contactChanceBasisPoints: number;
|
|
231
256
|
maximumRarity: "common" | "uncommon" | "rare" | "epic" | "legendary" | "anomalous";
|
|
232
257
|
requiredResearchTagIds: number[];
|
|
@@ -248,6 +273,7 @@ export declare const scanLootProfileAccountDefinition: C4AccountAdapter<{
|
|
|
248
273
|
regionId: number;
|
|
249
274
|
status: "active" | "draft" | "removed";
|
|
250
275
|
revision: number;
|
|
276
|
+
contentFingerprint: string;
|
|
251
277
|
riskValueMultiplierBasisPoints: number;
|
|
252
278
|
anchors: {
|
|
253
279
|
x: {
|
|
@@ -261,6 +287,8 @@ export declare const scanLootProfileAccountDefinition: C4AccountAdapter<{
|
|
|
261
287
|
}[];
|
|
262
288
|
loot: {
|
|
263
289
|
cargoId: number;
|
|
290
|
+
supportedPatternIds: number[];
|
|
291
|
+
valueUnits: number;
|
|
264
292
|
baseQuantityRaw: bigint;
|
|
265
293
|
rollWeight: number;
|
|
266
294
|
rarity: "common" | "uncommon" | "rare" | "epic" | "legendary" | "anomalous";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/scan-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAYL,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AAS7B,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAOrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,MAAM,eAAe,GACzB,YAAY,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;AACzD,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AA+BX,wBAAgB,eAAe,CAC7B,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,GACb,KAAK,CAOP;AA6BD,iBAAS,KAAK,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE;;;;;;;;;EAEvC;
|
|
1
|
+
{"version":3,"file":"scan-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/scan-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAYL,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AAS7B,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAOrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,MAAM,eAAe,GACzB,YAAY,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;AACzD,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AA+BX,wBAAgB,eAAe,CAC7B,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,GACb,KAAK,CAOP;AA6BD,iBAAS,KAAK,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE;;;;;;;;;EAEvC;AASD,iBAAS,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgFjD;AACD,iBAAS,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;EA+BxD;AACD,iBAAS,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BpD;AA6CD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKvC,CAAC;AACF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;EAK9C,CAAC;AACF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK5C,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAC3D,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAClE,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AACrD,2GAA2G;AAC3G,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,OAAO,GAAG,MAAM,8GAsCtB"}
|
|
@@ -58,6 +58,12 @@ function fixed(raw) {
|
|
|
58
58
|
function point(values) {
|
|
59
59
|
return { x: fixed(values[0]), y: fixed(values[1]) };
|
|
60
60
|
}
|
|
61
|
+
function fingerprint(bytes) {
|
|
62
|
+
return bytes.map((byte) => byte.toString(16).padStart(2, '0')).join('');
|
|
63
|
+
}
|
|
64
|
+
function bitIndexes(mask, width) {
|
|
65
|
+
return Array.from({ length: width }, (_, index) => index).filter((index) => (mask & (1n << BigInt(index))) !== 0n);
|
|
66
|
+
}
|
|
61
67
|
function signalData(raw, v) {
|
|
62
68
|
const kind = 'scanSignal';
|
|
63
69
|
const status = enumValue(kind, raw, signalStatuses, v.status);
|
|
@@ -71,6 +77,11 @@ function signalData(raw, v) {
|
|
|
71
77
|
sequence: v.sequence,
|
|
72
78
|
status,
|
|
73
79
|
cooldownEndsAtUnixSeconds: v.cooldownUntil,
|
|
80
|
+
recoveryHistory: {
|
|
81
|
+
lastRegionId: v.lastRegion,
|
|
82
|
+
consecutiveRecoveries: v.consecutiveRecoveries,
|
|
83
|
+
lastRecoveryAtUnixSeconds: v.lastRecoveryAt,
|
|
84
|
+
},
|
|
74
85
|
attempt: status === 'empty'
|
|
75
86
|
? null
|
|
76
87
|
: {
|
|
@@ -78,6 +89,9 @@ function signalData(raw, v) {
|
|
|
78
89
|
regionId: v.regionId,
|
|
79
90
|
patternId: v.scanPatternId,
|
|
80
91
|
policyRevision: v.policyRevision,
|
|
92
|
+
policyContentFingerprint: fingerprint(v.policyHash),
|
|
93
|
+
lootProfileContentFingerprint: fingerprint(v.profileHash),
|
|
94
|
+
eligibleLootRowIndexes: bitIndexes(v.eligibilityBitmap, 64),
|
|
81
95
|
lootProfileRevision: v.profileRevision,
|
|
82
96
|
commitSlot: v.commitSlot,
|
|
83
97
|
revealSlots: [...v.revealSlots],
|
|
@@ -133,9 +147,14 @@ function policyData(raw, v) {
|
|
|
133
147
|
bump: v.bump,
|
|
134
148
|
game: v.gameId,
|
|
135
149
|
patternId: v.scanPatternId,
|
|
150
|
+
valueBudgetRaw: v.valueBudget,
|
|
151
|
+
allowedFocusCategories: bitIndexes(BigInt(v.allowedFocusCategoryMask), 8)
|
|
152
|
+
.filter((index) => index !== 0)
|
|
153
|
+
.map((index) => enumValue(kind, raw, scanCategories, index)),
|
|
136
154
|
status: enumValue(kind, raw, catalogStatuses, v.status),
|
|
137
155
|
strategy: enumValue(kind, raw, strategies, v.strategy),
|
|
138
156
|
revision: v.revision,
|
|
157
|
+
contentFingerprint: fingerprint(v.contentHash),
|
|
139
158
|
contactChanceBasisPoints: v.contactChanceBps,
|
|
140
159
|
maximumRarity: enumValue(kind, raw, rarities, v.maxRarity),
|
|
141
160
|
requiredResearchTagIds: tags(kind, raw, v.requiredResearchTags, v.requiredResearchTagCount),
|
|
@@ -157,10 +176,13 @@ function lootData(raw, v) {
|
|
|
157
176
|
regionId: v.regionId,
|
|
158
177
|
status: enumValue(kind, raw, catalogStatuses, v.status),
|
|
159
178
|
revision: v.revision,
|
|
179
|
+
contentFingerprint: fingerprint(v.contentHash),
|
|
160
180
|
riskValueMultiplierBasisPoints: v.riskValueMultiplierBps,
|
|
161
181
|
anchors: v.anchors.map(point),
|
|
162
182
|
loot: v.lootRows.map((row) => ({
|
|
163
183
|
cargoId: row.cargoId,
|
|
184
|
+
supportedPatternIds: bitIndexes(BigInt(row.patternMask), 8),
|
|
185
|
+
valueUnits: row.valueUnits,
|
|
164
186
|
baseQuantityRaw: row.baseQuantity,
|
|
165
187
|
rollWeight: row.rollWeight,
|
|
166
188
|
rarity: enumValue(kind, raw, rarities, row.rarity),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan-lifecycle.js","sourceRoot":"","sources":["../../../src/internal/c4/scan-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scan-lifecycle.js","sourceRoot":"","sources":["../../../src/internal/c4/scan-lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AccountRole, type Address } from '@solana/kit';
|
|
2
|
+
import type { PlanPrecondition, PlanStep } from '../../planning/index.js';
|
|
3
|
+
export interface FleetCrewGuard {
|
|
4
|
+
readonly kind: 'fleet-crew-transfer';
|
|
5
|
+
readonly direction: 'load' | 'unload';
|
|
6
|
+
readonly address: Address;
|
|
7
|
+
readonly game: Address;
|
|
8
|
+
readonly profile: Address;
|
|
9
|
+
readonly authority: Address;
|
|
10
|
+
readonly system: Address;
|
|
11
|
+
readonly starbasePlayer: Address;
|
|
12
|
+
readonly keyIndex: number;
|
|
13
|
+
readonly count: number;
|
|
14
|
+
readonly systemSequenceId: bigint;
|
|
15
|
+
readonly describes: string;
|
|
16
|
+
readonly dataHash?: never;
|
|
17
|
+
}
|
|
18
|
+
export declare function crewTransferInstruction(g: Omit<FleetCrewGuard, 'kind' | 'systemSequenceId' | 'describes'>): {
|
|
19
|
+
programAddress: Address<"C4SAgeKLgb3pTLWhVr6NRwWyYFuTR7ZeSXFrzoLwfMzF">;
|
|
20
|
+
accounts: {
|
|
21
|
+
address: Address;
|
|
22
|
+
role: AccountRole;
|
|
23
|
+
}[];
|
|
24
|
+
data: Uint8Array<ArrayBuffer>;
|
|
25
|
+
};
|
|
26
|
+
/** Ordinary crew transfers stand alone: later instructions cannot bypass fresh balance checks. */
|
|
27
|
+
export declare function validateCrewTransferInstructions(steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
|
|
28
|
+
//# sourceMappingURL=fleet-crew-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fleet-crew-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-crew-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAQxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC1E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;CAC3B;AACD,wBAAgB,uBAAuB,CACrC,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,kBAAkB,GAAG,WAAW,CAAC;;;;;;;EAyBnE;AACD,kGAAkG;AAClG,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CAqCN"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { AccountRole } from '@solana/kit';
|
|
2
|
+
import { SAGE_PROGRAM_ADDRESS, PLAYER_PROFILE_PROGRAM_ADDRESS, LOAD_FLEET_CREW_DISCRIMINATOR, UNLOAD_FLEET_CREW_DISCRIMINATOR, } from '../c4/runtime-bindings.js';
|
|
3
|
+
import { InvalidActionInputError } from '../../client/errors.js';
|
|
4
|
+
export function crewTransferInstruction(g) {
|
|
5
|
+
return {
|
|
6
|
+
programAddress: SAGE_PROGRAM_ADDRESS,
|
|
7
|
+
accounts: [
|
|
8
|
+
{ address: g.authority, role: AccountRole.READONLY_SIGNER },
|
|
9
|
+
{ address: g.profile, role: AccountRole.WRITABLE },
|
|
10
|
+
{ address: SAGE_PROGRAM_ADDRESS, role: AccountRole.READONLY },
|
|
11
|
+
{ address: PLAYER_PROFILE_PROGRAM_ADDRESS, role: AccountRole.READONLY },
|
|
12
|
+
{ address: g.address, role: AccountRole.WRITABLE },
|
|
13
|
+
{ address: g.game, role: AccountRole.READONLY },
|
|
14
|
+
{ address: g.system, role: AccountRole.READONLY },
|
|
15
|
+
{ address: g.starbasePlayer, role: AccountRole.WRITABLE },
|
|
16
|
+
],
|
|
17
|
+
// Pinned ordinary crew payload: discriminator, u16 count, u16 key index.
|
|
18
|
+
data: Uint8Array.of(...(g.direction === 'load'
|
|
19
|
+
? LOAD_FLEET_CREW_DISCRIMINATOR
|
|
20
|
+
: UNLOAD_FLEET_CREW_DISCRIMINATOR), g.count & 255, g.count >>> 8, g.keyIndex & 255, g.keyIndex >>> 8),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/** Ordinary crew transfers stand alone: later instructions cannot bypass fresh balance checks. */
|
|
24
|
+
export function validateCrewTransferInstructions(steps, guards) {
|
|
25
|
+
const selected = guards.filter((g) => g.kind === 'fleet-crew-transfer');
|
|
26
|
+
const transfers = steps.filter(({ instruction: i }) => i.programAddress === SAGE_PROGRAM_ADDRESS &&
|
|
27
|
+
[LOAD_FLEET_CREW_DISCRIMINATOR, UNLOAD_FLEET_CREW_DISCRIMINATOR].some((d) => d.every((v, n) => i.data?.[n] === v)));
|
|
28
|
+
if (!selected.length && !transfers.length)
|
|
29
|
+
return;
|
|
30
|
+
const bad = () => {
|
|
31
|
+
throw new InvalidActionInputError('crewTransfer', undefined, 'one standalone ordinary crew transfer and its exact matching safeguard', 'Recreate the crew transfer Plan; execute each transfer separately and refresh crew balances before preparing another action.');
|
|
32
|
+
};
|
|
33
|
+
if (steps.length !== 1 || selected.length !== 1 || transfers.length !== 1)
|
|
34
|
+
bad();
|
|
35
|
+
const g = selected[0];
|
|
36
|
+
const step = transfers[0];
|
|
37
|
+
const expected = crewTransferInstruction(g), actual = step.instruction;
|
|
38
|
+
if (step.signers.length !== 1 ||
|
|
39
|
+
step.signers[0] !== g.authority ||
|
|
40
|
+
actual.accounts?.length !== expected.accounts.length ||
|
|
41
|
+
expected.accounts.some((a, n) => actual.accounts?.[n]?.address !== a.address ||
|
|
42
|
+
actual.accounts[n]?.role !== a.role) ||
|
|
43
|
+
actual.data?.length !== expected.data.length ||
|
|
44
|
+
expected.data.some((v, n) => actual.data?.[n] !== v))
|
|
45
|
+
bad();
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=fleet-crew-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fleet-crew-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-crew-guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type Commitment } from '@solana/kit';
|
|
2
|
+
import type { SageContext } from '../../client/contracts.js';
|
|
3
|
+
import type { FleetCrewGuard } from './fleet-crew-guard.js';
|
|
4
|
+
export type FleetCrewIntent = Pick<FleetCrewGuard, 'address' | 'game' | 'profile' | 'authority' | 'keyIndex' | 'direction' | 'count'>;
|
|
5
|
+
/** Fresh count predicates and canonical relationships, shared by planning and execution. */
|
|
6
|
+
export declare function resolveFleetCrewTransfer(ctx: SageContext, intent: FleetCrewIntent, expected?: FleetCrewGuard, commitment?: Commitment): Promise<Pick<FleetCrewGuard, 'system' | 'starbasePlayer' | 'systemSequenceId'>>;
|
|
7
|
+
//# sourceMappingURL=fleet-crew-transfer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fleet-crew-transfer.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-crew-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAGV,WAAW,EACZ,MAAM,2BAA2B,CAAC;AAyBnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,cAAc,EACZ,SAAS,GACT,MAAM,GACN,SAAS,GACT,WAAW,GACX,UAAU,GACV,WAAW,GACX,OAAO,CACV,CAAC;AAOF,4FAA4F;AAC5F,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,eAAe,EACvB,QAAQ,CAAC,EAAE,cAAc,EACzB,UAAU,GAAE,UAAwB,GACnC,OAAO,CACR,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,gBAAgB,GAAG,kBAAkB,CAAC,CACvE,CAqKA"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { isOffCurveAddress, getProgramDerivedAddress, getAddressEncoder, getU16Encoder, } from '@solana/kit';
|
|
2
|
+
import { SAGE_PROGRAM_ADDRESS } from '../c4/runtime-bindings.js';
|
|
3
|
+
import { SageSdkError } from '../../client/errors.js';
|
|
4
|
+
import { readContextRawAccounts } from '../../client/reconciliation.js';
|
|
5
|
+
import { requireGameAddress } from '../game-context.js';
|
|
6
|
+
import { readFreshGameShipDefinitionSequence } from '../../registry/ships.js';
|
|
7
|
+
import { fleetAccountDefinition, deriveFleetAddress } from '../c4/fleet.js';
|
|
8
|
+
import { findCharacterPda, characterAccountDefinition, profileAccountDefinition, } from '../c4/identity.js';
|
|
9
|
+
import { deriveStarbasePlayerAddress, starbasePlayerAccountDefinition, } from '../c4/starbase.js';
|
|
10
|
+
import { deriveStarSystemAddress, starSystemAccountDefinition, } from '../c4/world.js';
|
|
11
|
+
import { deriveFleetCrewBindingAddress, fleetCrewBindingAccountDefinition, } from '../c4/fleet-crew-binding.js';
|
|
12
|
+
import { PROFILE_SCOPE } from '../c4/profile-permissions.js';
|
|
13
|
+
import { CLOCK_ADDRESS, readClock } from './faction-enrollment.js';
|
|
14
|
+
function fail(message) {
|
|
15
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', `${message} Refresh the owned Docked Fleet and Starbase crew, then recreate the crew transfer Plan.`);
|
|
16
|
+
}
|
|
17
|
+
/** Fresh count predicates and canonical relationships, shared by planning and execution. */
|
|
18
|
+
export async function resolveFleetCrewTransfer(ctx, intent, expected, commitment = 'confirmed') {
|
|
19
|
+
if (requireGameAddress(ctx) !== intent.game ||
|
|
20
|
+
isOffCurveAddress(intent.authority))
|
|
21
|
+
fail('Crew transfer requires this deployment and an on-curve direct Profile authority.');
|
|
22
|
+
const [fleetRaw] = await readContextRawAccounts(ctx, [intent.address], {
|
|
23
|
+
commitment,
|
|
24
|
+
});
|
|
25
|
+
if (!fleetRaw || fleetRaw.address !== intent.address || fleetRaw.executable)
|
|
26
|
+
fail('The selected Fleet is missing, executable or has a contradictory address.');
|
|
27
|
+
const fleet = fleetAccountDefinition.decode(fleetRaw);
|
|
28
|
+
if (fleet.game !== intent.game ||
|
|
29
|
+
fleet.ownerProfile !== intent.profile ||
|
|
30
|
+
(await deriveFleetAddress(fleet)) !== intent.address ||
|
|
31
|
+
fleet.npcFactionId !== 0 ||
|
|
32
|
+
fleet.subProfile !== '11111111111111111111111111111111')
|
|
33
|
+
fail('Crew transfer supports only a canonical directly owned player Fleet without a subprofile.');
|
|
34
|
+
if (fleet.state.kind !== 'docked')
|
|
35
|
+
fail('Crew can be transferred only while the Fleet is Docked.');
|
|
36
|
+
if (fleet.rentedCrew !== 0)
|
|
37
|
+
fail('Rented crew transfers are not supported by this ordinary-crew route. Manage the rental through a supported game client first.');
|
|
38
|
+
const systemAddress = fleet.state.system;
|
|
39
|
+
const [characterAddress, bindingAddress] = await Promise.all([
|
|
40
|
+
findCharacterPda(intent.profile, intent.game),
|
|
41
|
+
deriveFleetCrewBindingAddress(intent.address),
|
|
42
|
+
]);
|
|
43
|
+
const [playerAddress, [rosterAddress]] = await Promise.all([
|
|
44
|
+
deriveStarbasePlayerAddress(systemAddress, characterAddress),
|
|
45
|
+
getProgramDerivedAddress({
|
|
46
|
+
programAddress: SAGE_PROGRAM_ADDRESS,
|
|
47
|
+
seeds: [
|
|
48
|
+
new TextEncoder().encode('CrewRoster'),
|
|
49
|
+
getAddressEncoder().encode(characterAddress),
|
|
50
|
+
getU16Encoder().encode(0),
|
|
51
|
+
],
|
|
52
|
+
}),
|
|
53
|
+
]);
|
|
54
|
+
const addresses = [
|
|
55
|
+
intent.profile,
|
|
56
|
+
characterAddress,
|
|
57
|
+
systemAddress,
|
|
58
|
+
playerAddress,
|
|
59
|
+
bindingAddress,
|
|
60
|
+
rosterAddress,
|
|
61
|
+
CLOCK_ADDRESS,
|
|
62
|
+
];
|
|
63
|
+
const [rows, shipSequence] = await Promise.all([
|
|
64
|
+
readContextRawAccounts(ctx, addresses, { commitment }),
|
|
65
|
+
readFreshGameShipDefinitionSequence(ctx, { commitment }),
|
|
66
|
+
]);
|
|
67
|
+
if (rows.length !== addresses.length ||
|
|
68
|
+
rows.some((raw, i) => raw && (raw.address !== addresses[i] || raw.executable)))
|
|
69
|
+
fail('Crew transfer reads contain missing positions, contradictory addresses or executable accounts.');
|
|
70
|
+
const accounts = new Map(addresses.map((a, i) => [a, rows[i]]));
|
|
71
|
+
const required = (a) => accounts.get(a) ?? fail(`Required crew transfer account ${a} is missing.`);
|
|
72
|
+
const profile = profileAccountDefinition.decode(required(intent.profile));
|
|
73
|
+
const character = characterAccountDefinition.decode(required(characterAddress));
|
|
74
|
+
const system = starSystemAccountDefinition.decode(required(systemAddress));
|
|
75
|
+
const player = starbasePlayerAccountDefinition.decode(required(playerAddress));
|
|
76
|
+
if (character.game !== intent.game ||
|
|
77
|
+
character.playerProfile !== intent.profile ||
|
|
78
|
+
system.game !== intent.game ||
|
|
79
|
+
(await deriveStarSystemAddress(system.game, system.systemId)) !==
|
|
80
|
+
systemAddress ||
|
|
81
|
+
!system.starbase ||
|
|
82
|
+
player.playerProfile !== intent.profile ||
|
|
83
|
+
player.character !== characterAddress ||
|
|
84
|
+
player.system !== systemAddress ||
|
|
85
|
+
player.faction !== fleet.faction)
|
|
86
|
+
fail('The Character, System or StarbasePlayer does not match the canonical Game and Profile relationships.');
|
|
87
|
+
if (fleet.state.systemSeqId !== system.sequenceId ||
|
|
88
|
+
player.sequenceId !== system.sequenceId ||
|
|
89
|
+
(expected &&
|
|
90
|
+
(expected.system !== systemAddress ||
|
|
91
|
+
expected.starbasePlayer !== playerAddress ||
|
|
92
|
+
expected.systemSequenceId !== system.sequenceId)))
|
|
93
|
+
fail('The docking System or Starbase generation changed. Reconcile docking through the game before transferring crew.');
|
|
94
|
+
if (fleet.shipDefinitionsSeqId !== shipSequence)
|
|
95
|
+
fail('Fleet stats use stale ship definitions. Refresh the Fleet through a supported game client before checking crew capacity.');
|
|
96
|
+
if (accounts.get(rosterAddress))
|
|
97
|
+
fail('This Character has an individual-crew roster. This planner supports only ordinary crew with no page-0 roster; use the supported game client for roster-aware transfers.');
|
|
98
|
+
const binding = accounts.get(bindingAddress);
|
|
99
|
+
if (binding && !fleetCrewBindingAccountDefinition.decode(binding).isNeutral)
|
|
100
|
+
fail('The Fleet has a populated or unsupported crew binding. Use roster-aware transfer through a supported game client.');
|
|
101
|
+
const now = readClock(required(CLOCK_ADDRESS));
|
|
102
|
+
const key = profile.keys[intent.keyIndex];
|
|
103
|
+
if (!key ||
|
|
104
|
+
key.address !== intent.authority ||
|
|
105
|
+
(key.expiresAtRaw >= 0n && key.expiresAtRaw < now) ||
|
|
106
|
+
key.scope !== PROFILE_SCOPE ||
|
|
107
|
+
(key.permissionsRaw & 1n) === 0n)
|
|
108
|
+
fail('Crew transfer requires a current direct Profile AUTH key. Select the correct key index; restricted or delegated crew permissions are not qualified.');
|
|
109
|
+
const capacity = fleet.stats.misc.requiredCrew + fleet.stats.misc.passengerCapacity;
|
|
110
|
+
if (player.busyCrew > player.totalCrew)
|
|
111
|
+
fail('Starbase busy crew exceeds its total crew; reconcile the Starbase state before transferring.');
|
|
112
|
+
if (intent.direction === 'load') {
|
|
113
|
+
if (player.totalCrew - player.busyCrew < intent.count)
|
|
114
|
+
fail('The Starbase has too few available crew; finish their current assignments or reduce the requested count.');
|
|
115
|
+
if (fleet.crewCount + intent.count > capacity ||
|
|
116
|
+
fleet.crewCount + intent.count > 65535)
|
|
117
|
+
fail('The requested crew exceed the Fleet required-crew plus passenger capacity; reduce the count.');
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
if (fleet.crewCount < intent.count)
|
|
121
|
+
fail('The Fleet has fewer crew aboard than requested; reduce the unload count.');
|
|
122
|
+
if (player.totalCrew + intent.count > 4294967295)
|
|
123
|
+
fail('The Starbase total crew would exceed its stored limit; select a smaller count.');
|
|
124
|
+
}
|
|
125
|
+
return {
|
|
126
|
+
system: systemAddress,
|
|
127
|
+
starbasePlayer: playerAddress,
|
|
128
|
+
systemSequenceId: system.sequenceId,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=fleet-crew-transfer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fleet-crew-transfer.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-crew-transfer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/planning/execution.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/planning/execution.ts"],"names":[],"mappings":"AA8DA,OAAO,EAcL,KAAK,UAAU,EACf,KAAK,SAAS,EAOd,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAEV,WAAW,EAEZ,MAAM,wBAAwB,CAAC;AAMhC,OAAO,KAAK,EAAE,IAAI,EAAoB,MAAM,YAAY,CAAC;AAgBzD;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACjC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,GAC5B,QAAQ,CAAC;IACP,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,SAAS,CAAC;IAClB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CAAC,GACF,QAAQ,CAAC;IACP,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,YAAY,GAAG,kBAAkB,GAAG,cAAc,CAAC;IAC9D,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CAAC,CAAC;AAEP;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,GAAG,oBAAoB,CAAC;AAYhF,2EAA2E;AAC3E,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,UAAU,EAAE,YAAY,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AA0wCD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,mBAAmB,CAAC,CAE9B;AAED,mFAAmF;AACnF,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,kBAAkB,EAC3B,SAAS,CAAC,EAAE,sBAAsB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CA2G9B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { resolveFleetCrewTransfer } from '../internal/planning/fleet-crew-transfer.js';
|
|
1
2
|
import { revalidateScanCompletion } from '../internal/planning/scan-completion.js';
|
|
2
3
|
import { openSignalAddresses, validateOpenSignal, } from '../internal/planning/open-signal.js';
|
|
3
4
|
import { revalidateDetect } from '../internal/planning/scan-detect.js';
|
|
@@ -337,6 +338,16 @@ function checkRegistrationFunding(registrations, fee) {
|
|
|
337
338
|
}
|
|
338
339
|
async function checkPreconditions(context, allPreconditions, steps, commitment) {
|
|
339
340
|
for (const guard of allPreconditions) {
|
|
341
|
+
if (guard.kind === 'fleet-crew-transfer') {
|
|
342
|
+
try {
|
|
343
|
+
await resolveFleetCrewTransfer(context, guard, guard, commitment);
|
|
344
|
+
}
|
|
345
|
+
catch (error) {
|
|
346
|
+
throw new ActionPreconditionFailedError(guard, undefined, error instanceof SageSdkError
|
|
347
|
+
? error.message
|
|
348
|
+
: 'Crew transfer prerequisites could not be verified. Refresh crew state and recreate the Plan.');
|
|
349
|
+
}
|
|
350
|
+
}
|
|
340
351
|
if (guard.kind === 'scan-completion')
|
|
341
352
|
await revalidateScanCompletion(context, guard, commitment);
|
|
342
353
|
if (guard.kind === 'scan-detect')
|
|
@@ -411,7 +422,8 @@ async function checkPreconditions(context, allPreconditions, steps, commitment)
|
|
|
411
422
|
guard.kind !== 'character-registration' &&
|
|
412
423
|
guard.kind !== 'scan-detect' &&
|
|
413
424
|
guard.kind !== 'scan-completion' &&
|
|
414
|
-
guard.kind !== 'fleet-respawn'
|
|
425
|
+
guard.kind !== 'fleet-respawn' &&
|
|
426
|
+
guard.kind !== 'fleet-crew-transfer');
|
|
415
427
|
const fleetCreationAccounts = new Map();
|
|
416
428
|
const fleetAssemblyAccounts = new Map();
|
|
417
429
|
const importFundingAccounts = new Map();
|