@aephia/atlas-kit 0.6.0-next.145 → 0.6.0-next.147
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/combat/actions/index.d.ts +6 -0
- package/dist/combat/actions/index.d.ts.map +1 -1
- package/dist/combat/actions/index.js +30 -4
- package/dist/combat/actions/index.js.map +1 -1
- package/dist/fleets/actions/index.d.ts +6 -2
- package/dist/fleets/actions/index.d.ts.map +1 -1
- package/dist/fleets/actions/index.js +20 -4
- package/dist/fleets/actions/index.js.map +1 -1
- package/dist/internal/planning/currency-cache-guard.d.ts +3 -2
- package/dist/internal/planning/currency-cache-guard.d.ts.map +1 -1
- package/dist/internal/planning/currency-cache-guard.js +45 -11
- package/dist/internal/planning/currency-cache-guard.js.map +1 -1
- package/dist/internal/planning/plan-guards.d.ts.map +1 -1
- package/dist/internal/planning/plan-guards.js +6 -0
- package/dist/internal/planning/plan-guards.js.map +1 -1
- package/dist/internal/planning/region-access.d.ts +23 -2
- package/dist/internal/planning/region-access.d.ts.map +1 -1
- package/dist/internal/planning/region-access.js +75 -14
- package/dist/internal/planning/region-access.js.map +1 -1
- package/dist/planning/execution.d.ts.map +1 -1
- package/dist/planning/execution.js +12 -1
- package/dist/planning/execution.js.map +1 -1
- package/dist/planning/index.d.ts +17 -2
- package/dist/planning/index.d.ts.map +1 -1
- package/dist/planning/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency-cache-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/currency-cache-guard.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"currency-cache-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/currency-cache-guard.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAa1E;;uEAEuE;AACvE,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CAuGN"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { AccountRole } from '@solana/kit';
|
|
2
2
|
import { SageSdkError } from '../../client/errors.js';
|
|
3
3
|
import { SAGE_PROGRAM_ADDRESS } from '../c4/runtime-bindings.js';
|
|
4
|
-
import { CANCEL_CLAIM_STAKE_BUILDING_DESIGN_DISCRIMINATOR, DECONSTRUCT_CLAIM_STAKE_INSTANCE_DISCRIMINATOR, FINALIZE_BUILDING_CHANGES_DISCRIMINATOR, START_CLAIM_STAKES_FLEET_TRANSFER_DISCRIMINATOR, WARP_LANE_DISCRIMINATOR, } from '../c4/discriminators.js';
|
|
5
|
-
/** Bind the cache guard,
|
|
6
|
-
*
|
|
4
|
+
import { ATTACK_STARBASE_DISCRIMINATOR, CANCEL_CLAIM_STAKE_BUILDING_DESIGN_DISCRIMINATOR, DECONSTRUCT_CLAIM_STAKE_INSTANCE_DISCRIMINATOR, FINALIZE_BUILDING_CHANGES_DISCRIMINATOR, START_CLAIM_STAKES_FLEET_TRANSFER_DISCRIMINATOR, START_SUBWARP_DISCRIMINATOR, WARP_LANE_DISCRIMINATOR, WARP_TO_COORDINATE_DISCRIMINATOR, } from '../c4/discriminators.js';
|
|
5
|
+
/** Bind the cache guard, the region-access guard of a warp lane's destination
|
|
6
|
+
* or a Starbase attack's target, and a coordinate movement's region-path
|
|
7
|
+
* guard to generated instruction metas, independently of Plan kind. */
|
|
7
8
|
export function validateCurrencyInstructions(steps, guards) {
|
|
8
9
|
// Discriminator, Game index, cache index. Full layout validation stays in
|
|
9
10
|
// the existing runtime validators. Keep generated
|
|
@@ -18,6 +19,47 @@ export function validateCurrencyInstructions(steps, guards) {
|
|
|
18
19
|
for (const [index, { instruction }] of steps.entries()) {
|
|
19
20
|
if (instruction.programAddress !== SAGE_PROGRAM_ADDRESS)
|
|
20
21
|
continue;
|
|
22
|
+
// Discriminator and raw I8F56 destination offset; Fleet, Game and
|
|
23
|
+
// RegionTracker are accounts 5, 6 and 7.
|
|
24
|
+
const movement = [
|
|
25
|
+
[START_SUBWARP_DISCRIMINATOR, 8],
|
|
26
|
+
[WARP_TO_COORDINATE_DISCRIMINATOR, 10],
|
|
27
|
+
].find(([discriminator]) => discriminator.every((byte, i) => instruction.data?.[i] === byte));
|
|
28
|
+
if (movement) {
|
|
29
|
+
const [fleet, game, tracker] = [5, 6, 7].map((i) => instruction.accounts?.[i]);
|
|
30
|
+
const data = new Uint8Array(instruction.data);
|
|
31
|
+
const offset = movement[1];
|
|
32
|
+
const view = data.length >= offset + 16
|
|
33
|
+
? new DataView(data.buffer, data.byteOffset, data.length)
|
|
34
|
+
: undefined;
|
|
35
|
+
const to = [offset, offset + 8].map((at) => view?.getBigInt64(at, true));
|
|
36
|
+
if (!guards.some((g) => g.address === tracker?.address &&
|
|
37
|
+
((g.kind === 'region-path' &&
|
|
38
|
+
g.game === game?.address &&
|
|
39
|
+
g.fleet === fleet?.address &&
|
|
40
|
+
g.toX === to[0] &&
|
|
41
|
+
g.toY === to[1]) ||
|
|
42
|
+
g.kind === 'account-state')))
|
|
43
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', `Step ${index}: RegionTracker ${tracker?.address} needs a region-path guard for this coordinate movement's Fleet and destination. Recreate via its planner.`);
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
// Discriminator, then the Game, Star System and RegionTracker indexes of
|
|
47
|
+
// a region-access guard.
|
|
48
|
+
const access = [
|
|
49
|
+
[WARP_LANE_DISCRIMINATOR, 6, 8, 11],
|
|
50
|
+
[ATTACK_STARBASE_DISCRIMINATOR, 9, 6, 8],
|
|
51
|
+
].find(([discriminator]) => discriminator.every((byte, i) => instruction.data?.[i] === byte));
|
|
52
|
+
if (access) {
|
|
53
|
+
const [game, system, tracker] = access
|
|
54
|
+
.slice(1)
|
|
55
|
+
.map((i) => instruction.accounts?.[i]);
|
|
56
|
+
if (!guards.some((g) => g.address === tracker?.address &&
|
|
57
|
+
((g.kind === 'region-access' &&
|
|
58
|
+
g.game === game?.address &&
|
|
59
|
+
g.system === system?.address) ||
|
|
60
|
+
g.kind === 'account-state')))
|
|
61
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', `Step ${index}: RegionTracker ${tracker?.address} needs a region-access guard for Star System ${system?.address}. Recreate via its planner.`);
|
|
62
|
+
}
|
|
21
63
|
const layout = layouts.find(([discriminator]) => discriminator.every((byte, index) => instruction.data?.[index] === byte));
|
|
22
64
|
if (!layout)
|
|
23
65
|
continue;
|
|
@@ -30,14 +72,6 @@ export function validateCurrencyInstructions(steps, guards) {
|
|
|
30
72
|
((g.kind === 'currency-cache' && g.game === game.address) ||
|
|
31
73
|
g.kind === 'account-state')))
|
|
32
74
|
throw new SageSdkError('ACTION_PRECONDITION_FAILED', `Step ${index}: CurrencyCache ${cache?.address} needs a matching guard and roles. Recreate via its planner.`);
|
|
33
|
-
const [system, tracker] = [8, 11].map((i) => instruction.accounts?.[i]);
|
|
34
|
-
if (layout[0] === WARP_LANE_DISCRIMINATOR &&
|
|
35
|
-
!guards.some((g) => g.address === tracker?.address &&
|
|
36
|
-
((g.kind === 'region-access' &&
|
|
37
|
-
g.game === game.address &&
|
|
38
|
-
g.system === system?.address) ||
|
|
39
|
-
g.kind === 'account-state')))
|
|
40
|
-
throw new SageSdkError('ACTION_PRECONDITION_FAILED', `Step ${index}: RegionTracker ${tracker?.address} needs a region-access guard for destination ${system?.address}. Recreate via its planner.`);
|
|
41
75
|
}
|
|
42
76
|
}
|
|
43
77
|
//# sourceMappingURL=currency-cache-guard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency-cache-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/currency-cache-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,gDAAgD,EAChD,8CAA8C,EAC9C,uCAAuC,EACvC,+CAA+C,EAC/C,uBAAuB,
|
|
1
|
+
{"version":3,"file":"currency-cache-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/currency-cache-guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-guards.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/plan-guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"plan-guards.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/plan-guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AA4WhE,mEAAmE;AACnE,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,UAAQ,GACX,gBAAgB,CAkBlB"}
|
|
@@ -31,6 +31,11 @@ const U64 = {
|
|
|
31
31
|
max: MAX_U64,
|
|
32
32
|
accepted: 'an unsigned u64 bigint',
|
|
33
33
|
};
|
|
34
|
+
const I64_COORDINATE = {
|
|
35
|
+
min: -(2n ** 63n),
|
|
36
|
+
max: 2n ** 63n - 1n,
|
|
37
|
+
accepted: 'a signed raw I8F56 coordinate',
|
|
38
|
+
};
|
|
34
39
|
const SEQUENCE = { ...U64, accepted: 'an unsigned u64 sequence' };
|
|
35
40
|
const STARBASE_SEQUENCE = {
|
|
36
41
|
...U64,
|
|
@@ -82,6 +87,7 @@ const GUARD_SCHEMAS = {
|
|
|
82
87
|
'fleet-attack': schema(address('address'), address('defender'), address('game'), address('profile'), address('defenderProfile'), ['instructionKey', 'string'], DESCRIBES),
|
|
83
88
|
'currency-cache': schema(address('address'), address('game'), DESCRIBES),
|
|
84
89
|
'region-access': schema(address('address'), address('game'), address('system'), ['accessHash', 'hash'], DESCRIBES),
|
|
90
|
+
'region-path': schema(address('address'), address('game'), address('fleet'), ['fromX', I64_COORDINATE], ['fromY', I64_COORDINATE], ['toX', I64_COORDINATE], ['toY', I64_COORDINATE], ['pathHash', 'hash'], DESCRIBES),
|
|
85
91
|
'movement-character': schema(address('address'), address('game'), address('profile'), ['stateHash', 'hash'], DESCRIBES),
|
|
86
92
|
'fleet-docking-policy': schema(address('address'), address('game'), address('system'), address('ownership'), address('starbasePlayer'), DESCRIBES),
|
|
87
93
|
'starbase-system': schema(address('address'), address('game'), ['starbaseSequenceId', STARBASE_SEQUENCE], [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-guards.js","sourceRoot":"","sources":["../../../src/internal/planning/plan-guards.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,EACL,OAAO,EACP,OAAO,EACP,oBAAoB,EACpB,UAAU,GAKX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAE1E,MAAM,EAAE,GAAgB;IACtB,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,GAAG;IACR,QAAQ,EAAE,wBAAwB;CACnC,CAAC;AACF,MAAM,GAAG,GAAgB;IACvB,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,yBAAyB;CACpC,CAAC;AACF,MAAM,GAAG,GAAgB;IACvB,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,UAAU;IACf,QAAQ,EAAE,yBAAyB;CACpC,CAAC;AACF,MAAM,SAAS,GAAgB,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,yBAAyB,EAAE,CAAC;AAC/E,MAAM,OAAO,GAAgB;IAC3B,GAAG,GAAG;IACN,QAAQ,EAAE,6BAA6B;CACxC,CAAC;AACF,MAAM,QAAQ,GAAgB,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;AACrE,MAAM,GAAG,GAAgB;IACvB,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,OAAO;IACZ,QAAQ,EAAE,wBAAwB;CACnC,CAAC;AACF,MAAM,QAAQ,GAAgB,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,0BAA0B,EAAE,CAAC;AAC/E,MAAM,iBAAiB,GAAgB;IACrC,GAAG,GAAG;IACN,QAAQ,EAAE,mCAAmC;CAC9C,CAAC;AACF,MAAM,iBAAiB,GAAgB;IACrC,GAAG,GAAG;IACN,QAAQ,EAAE,mCAAmC;CAC9C,CAAC;AACF,MAAM,OAAO,GAAgB;IAC3B,GAAG,GAAG;IACN,QAAQ,EAAE,mCAAmC;CAC9C,CAAC;AACF,MAAM,QAAQ,GAAgB;IAC5B,GAAG,GAAG;IACN,QAAQ,EAAE,kCAAkC;CAC7C,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,GAAW,EAAmB,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AACnE,MAAM,SAAS,GAAoB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAC3D,MAAM,UAAU,GAAG;IACjB,OAAO,CAAC,SAAS,CAAC;IAClB,OAAO,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,SAAS,CAAC;IAClB,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,QAAQ,CAAC;IACjB,CAAC,UAAU,EAAE,SAAS,CAAC;CACsB,CAAC;AAChD,MAAM,aAAa,GAAG;IACpB,OAAO,CAAC,SAAS,CAAC;IAClB,OAAO,CAAC,MAAM,CAAC;IACf,CAAC,WAAW,EAAE,GAAG,CAAC;IAClB,CAAC,eAAe,EAAE,EAAE,CAAC;IACrB,SAAS;CACoC,CAAC;AAEhD,MAAM,MAAM,GAAG,CAAC,GAAG,MAAkC,EAAe,EAAE,CAAC,CAAC;IACtE,MAAM;CACP,CAAC,CAAC;AAEH,4FAA4F;AAC5F,MAAM,aAAa,GAA0C;IAC3D,wBAAwB,EAAE,MAAM,CAC9B,OAAO,CAAC,SAAS,CAAC,EAClB,OAAO,CAAC,MAAM,CAAC,EACf,OAAO,CAAC,SAAS,CAAC,EAClB,CAAC,iBAAiB,EAAE,MAAM,CAAC,EAC3B,OAAO,CAAC,QAAQ,CAAC,EACjB,OAAO,CAAC,UAAU,CAAC,EACnB,OAAO,CAAC,gBAAgB,CAAC,EACzB,CAAC,oBAAoB,EAAE,OAAO,CAAC,EAC/B,CAAC,mBAAmB,EAAE,QAAQ,CAAC,EAC/B,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAC5B;QACE,eAAe;QACf;YACE,GAAG,EAAE,GAAG;YACR,GAAG,EAAE,MAAM,CAAC,gBAAgB;YAC5B,QAAQ,EAAE,wDAAwD;SACnE;KACF,EACD,CAAC,oBAAoB,EAAE,MAAM,CAAC,EAC9B,SAAS,CACV;IACD,qBAAqB,EAAE,MAAM,CAC3B,OAAO,CAAC,SAAS,CAAC,EAClB,OAAO,CAAC,MAAM,CAAC,EACf,OAAO,CAAC,SAAS,CAAC,EAClB,OAAO,CAAC,QAAQ,CAAC,EACjB,CAAC,QAAQ,EAAE,OAAO,CAAC,EACnB,CAAC,qBAAqB,EAAE,OAAO,CAAC,EAChC,SAAS,CACV;IACD,cAAc,EAAE,MAAM,CACpB,OAAO,CAAC,SAAS,CAAC,EAClB,OAAO,CAAC,UAAU,CAAC,EACnB,OAAO,CAAC,MAAM,CAAC,EACf,OAAO,CAAC,SAAS,CAAC,EAClB,OAAO,CAAC,iBAAiB,CAAC,EAC1B,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EAC5B,SAAS,CACV;IACD,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IACxE,eAAe,EAAE,MAAM,CACrB,OAAO,CAAC,SAAS,CAAC,EAClB,OAAO,CAAC,MAAM,CAAC,EACf,OAAO,CAAC,QAAQ,CAAC,EACjB,CAAC,YAAY,EAAE,MAAM,CAAC,EACtB,SAAS,CACV;IACD,oBAAoB,EAAE,MAAM,CAC1B,OAAO,CAAC,SAAS,CAAC,EAClB,OAAO,CAAC,MAAM,CAAC,EACf,OAAO,CAAC,SAAS,CAAC,EAClB,CAAC,WAAW,EAAE,MAAM,CAAC,EACrB,SAAS,CACV;IACD,sBAAsB,EAAE,MAAM,CAC5B,OAAO,CAAC,SAAS,CAAC,EAClB,OAAO,CAAC,MAAM,CAAC,EACf,OAAO,CAAC,QAAQ,CAAC,EACjB,OAAO,CAAC,WAAW,CAAC,EACpB,OAAO,CAAC,gBAAgB,CAAC,EACzB,SAAS,CACV;IACD,iBAAiB,EAAE,MAAM,CACvB,OAAO,CAAC,SAAS,CAAC,EAClB,OAAO,CAAC,MAAM,CAAC,EACf,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,EACzC;QACE,YAAY;QACZ;YACE,MAAM,EAAE,CAAC,IAAI,CAAC;YACd,QAAQ,EAAE,qDAAqD;SAChE;QACD,IAAI;KACL,EACD,SAAS,CACV;IACD,cAAc,EAAE,MAAM,CACpB,OAAO,CAAC,SAAS,CAAC,EAClB,OAAO,CAAC,MAAM,CAAC,EACf,OAAO,CAAC,SAAS,CAAC,EAClB,OAAO,CAAC,UAAU,CAAC,EACnB,SAAS,CACV;IACD,gCAAgC,EAAE,MAAM,CACtC,GAAG,aAAa,EAChB,CAAC,SAAS,EAAE,QAAQ,CAAC,EACrB,CAAC,UAAU,EAAE,GAAG,CAAC,CAClB;IACD,iCAAiC,EAAE,MAAM,CACvC,GAAG,aAAa,EAChB,CAAC,wBAAwB,EAAE,GAAG,CAAC,EAC/B;QACE,oBAAoB;QACpB,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE;KACxE,CACF;IACD,+BAA+B,EAAE,MAAM,CAAC,GAAG,aAAa,CAAC;IACzD,gBAAgB,EAAE,MAAM,CACtB,GAAG,UAAU,EACb,CAAC,QAAQ,EAAE,OAAO,CAAC,EACnB;QACE,QAAQ;QACR;YACE,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,IAAI;YACT,QAAQ,EAAE,4CAA4C;SACvD;KACF,EACD,CAAC,qBAAqB,EAAE,OAAO,CAAC,EAChC,CAAC,YAAY,EAAE,MAAM,CAAC,EACtB,SAAS,CACV;IACD,iBAAiB,EAAE,MAAM,CACvB,GAAG,UAAU,EACb,OAAO,CAAC,gBAAgB,CAAC,EACzB,OAAO,CAAC,eAAe,CAAC,EACxB,CAAC,QAAQ,EAAE,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,wBAAwB,EAAE,CAAC,EAC1D;QACE,OAAO;QACP,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,yCAAyC,EAAE;KACxE,EACD;QACE,oBAAoB;QACpB,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,oCAAoC,EAAE;KAC3D,EACD,CAAC,cAAc,EAAE,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,8BAA8B,EAAE,CAAC,EACtE,CAAC,mBAAmB,EAAE,OAAO,CAAC,EAC9B,CAAC,qBAAqB,EAAE,OAAO,CAAC,EAChC,SAAS,CACV;IACD,iBAAiB,EAAE,MAAM,CACvB;QACE,WAAW;QACX;YACE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC;YACjD,QAAQ,EAAE,sCAAsC;SACjD;KACF,EACD,GAAG;QACD,SAAS;QACT,MAAM;QACN,QAAQ;QACR,SAAS;QACT,WAAW;QACX,WAAW;QACX,QAAQ;QACR,MAAM;QACN,UAAU;QACV,UAAU;KACX,CAAC,GAAG,CAAC,OAAO,CAAC,EACd,CAAC,UAAU,EAAE,SAAS,CAAC,EACvB,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,iCAAiC,EAAE,CAAC,EAC3E,CAAC,kBAAkB,EAAE,QAAQ,CAAC,EAC9B,CAAC,YAAY,EAAE,MAAM,CAAC,EACtB,SAAS,CACV;IACD,aAAa,EAAE,MAAM,CACnB,GAAG;QACD,SAAS;QACT,MAAM;QACN,SAAS;QACT,WAAW;QACX,WAAW;QACX,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,MAAM;QACN,SAAS;KACV,CAAC,GAAG,CAAC,OAAO,CAAC,EACd,CAAC,UAAU,EAAE,SAAS,CAAC,EACvB,CAAC,WAAW,EAAE,GAAG,CAAC,EAClB,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,+BAA+B,EAAE,CAAC,EACxE,CAAC,gBAAgB,EAAE,GAAG,CAAC,EACvB,CAAC,iBAAiB,EAAE,GAAG,CAAC,EACxB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,EAC9B,CAAC,YAAY,EAAE,MAAM,CAAC,EACtB,SAAS,CACV;IACD,qBAAqB,EAAE,MAAM,CAC3B,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,EACzE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EACzB,OAAO,CAAC,gBAAgB,CAAC,EACzB,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,2BAA2B,EAAE,CAAC,EACxE,CAAC,UAAU,EAAE,SAAS,CAAC,EACvB,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,EACvC,SAAS,CACV;IACD,eAAe,EAAE,MAAM,CACrB,GAAG,UAAU,EACb,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC,EAC3E,CAAC,WAAW,EAAE,MAAM,CAAC,EACrB,CAAC,oBAAoB,EAAE,OAAO,CAAC,EAC/B,CAAC,qBAAqB,EAAE,OAAO,CAAC,EAChC,SAAS,CACV;IACD,kBAAkB,EAAE,MAAM,CACxB,CAAC,eAAe,EAAE,MAAM,CAAC,EACzB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,GAAG,CACtE,OAAO,CACR,EACD,CAAC,UAAU,EAAE,SAAS,CAAC,EACvB,CAAC,qBAAqB,EAAE,OAAO,CAAC,EAChC,SAAS,CACV;IACD,cAAc,EAAE,MAAM,CACpB,GAAG,UAAU,EACb,CAAC,OAAO,EAAE,OAAO,CAAC,EAClB,CAAC,qBAAqB,EAAE,OAAO,CAAC,EAChC,SAAS,CACV;IACD,0BAA0B,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IACjE,cAAc,EAAE,MAAM,CACpB,OAAO,CAAC,SAAS,CAAC,EAClB,CAAC,YAAY,EAAE,MAAM,CAAC,EACtB,CAAC,cAAc,EAAE,GAAG,CAAC,EACrB,SAAS,CACV;IACD,YAAY,EAAE,MAAM,CAClB,OAAO,CAAC,SAAS,CAAC,EAClB,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,oCAAoC,EAAE,CAAC,EACvE,SAAS,CACV;IACD,kBAAkB,EAAE,MAAM,CACxB,OAAO,CAAC,SAAS,CAAC,EAClB,CAAC,QAAQ,EAAE,OAAO,CAAC,EACnB,CAAC,YAAY,EAAE,MAAM,CAAC,EACtB,SAAS,CACV;IACD,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IACrD,eAAe,EAAE,MAAM,CACrB,OAAO,CAAC,SAAS,CAAC,EAClB,OAAO,CAAC,MAAM,CAAC,EACf,OAAO,CAAC,OAAO,CAAC,EAChB,CAAC,gBAAgB,EAAE,GAAG,CAAC,EACvB,SAAS,CACV;IACD,yBAAyB,EAAE,MAAM,CAC/B,OAAO,CAAC,SAAS,CAAC,EAClB,CAAC,SAAS,EAAE,QAAQ,CAAC,EACrB,CAAC,YAAY,EAAE,MAAM,CAAC,EACtB,SAAS,CACV;IACD,aAAa,EAAE,MAAM,CACnB,OAAO,CAAC,SAAS,CAAC,EAClB,OAAO,CAAC,MAAM,CAAC,EACf,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,EAC9C,SAAS,CACV;IACD,yBAAyB,EAAE,MAAM,CAC/B,OAAO,CAAC,SAAS,CAAC,EAClB,OAAO,CAAC,MAAM,CAAC,EACf,OAAO,CAAC,OAAO,CAAC,EAChB,SAAS,CACV;IACD,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IACvD,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5E,oBAAoB,EAAE,yBAAyB;IAC/C,oBAAoB,EAAE,yBAAyB;IAC/C,yBAAyB,EAAE,8BAA8B;CAC1D,CAAC;AAEF,mEAAmE;AACnE,MAAM,UAAU,qBAAqB,CACnC,KAAc,EACd,KAAa,EACb,IAAI,GAAG,KAAK;IAEZ,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe;QAChC,OAAO,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACnD,IAAI,cAAc,CAAC,KAAK,CAAC;QAAE,OAAO,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC;QACjE,OAAO,OAAO,CACZ,GAAG,KAAK,OAAO,EACf,IAAI,EACJ,wFAAwF,CACzF,CAAC;IACJ,OAAO,oBAAoB,CACzB,KAAK,EACL,KAAK,EACL,aAAa,CAAC,IAAI,CAAE,EACpB,IAAI,CAC0B,CAAC;AACnC,CAAC"}
|
|
1
|
+
{"version":3,"file":"plan-guards.js","sourceRoot":"","sources":["../../../src/internal/planning/plan-guards.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,30 @@
|
|
|
1
1
|
import type { Address } from '@solana/kit';
|
|
2
2
|
import type { RawAccount } from '../../client/contracts.js';
|
|
3
|
+
import { type RegionTracker } from '../c4/runtime-bindings.js';
|
|
4
|
+
type ExactCoordinate = {
|
|
5
|
+
readonly x: bigint;
|
|
6
|
+
readonly y: bigint;
|
|
7
|
+
};
|
|
8
|
+
/** The Regions containing a Star System's coordinate, in tracker order; an
|
|
9
|
+
* empty list is deep space. The tracker must be the canonical version 0
|
|
10
|
+
* account. */
|
|
11
|
+
export declare function regionsContainingSystem(tracker: RawAccount, system: RawAccount | undefined, game: Address): Promise<RegionTracker['regions']['unsizedList']>;
|
|
3
12
|
/** Digest of the access data of every Region containing a Star System's
|
|
4
13
|
* coordinate: id, owner, safety status and risk zone, in tracker order. An
|
|
5
|
-
* empty list is deep space.
|
|
6
|
-
* account; other Regions and their systems may change.
|
|
14
|
+
* empty list is deep space. Other Regions and their systems may change.
|
|
7
15
|
*/
|
|
8
16
|
export declare function hashRegionAccess(tracker: RawAccount, system: RawAccount | undefined, game: Address): Promise<string>;
|
|
17
|
+
/** A Fleet's exact action coordinate in `game`: its Idle location, or the end
|
|
18
|
+
* of the warp or subwarp a movement start settles first; `undefined` for any
|
|
19
|
+
* other state, another Game or a missing Fleet.
|
|
20
|
+
*/
|
|
21
|
+
export declare function fleetActionCoordinate(fleet: RawAccount | undefined, game: Address): ExactCoordinate | undefined;
|
|
22
|
+
/** Digest of the Regions a straight path can touch: the Region count, then the
|
|
23
|
+
* id, border, bounding box, owner, safety status and risk zone of every Region
|
|
24
|
+
* whose bounding box overlaps the path's, in tracker order. The tracker must
|
|
25
|
+
* be the canonical version 0 account; Regions away from the path, and every
|
|
26
|
+
* Region's systems, may change.
|
|
27
|
+
*/
|
|
28
|
+
export declare function hashRegionPath(tracker: RawAccount, game: Address, from: ExactCoordinate, to: ExactCoordinate): Promise<string>;
|
|
29
|
+
export {};
|
|
9
30
|
//# sourceMappingURL=region-access.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"region-access.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/region-access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"region-access.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/region-access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAQ5D,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AAInC,KAAK,eAAe,GAAG;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAgClE;;cAEc;AACd,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,UAAU,GAAG,SAAS,EAC9B,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,CAalD;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,UAAU,GAAG,SAAS,EAC9B,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,IAAI,EAAE,OAAO,GACZ,eAAe,GAAG,SAAS,CAa7B;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,eAAe,EACrB,EAAE,EAAE,eAAe,GAClB,OAAO,CAAC,MAAM,CAAC,CA+BjB"}
|
|
@@ -1,33 +1,94 @@
|
|
|
1
1
|
import { SageSdkError } from '../../client/errors.js';
|
|
2
2
|
import { deriveRegionTrackerAddress, regionTrackerAccountDefinition, } from '../c4/factions.js';
|
|
3
|
+
import { fleetAccountDefinition } from '../c4/fleet.js';
|
|
3
4
|
import { regionContainsCoordinate } from '../c4/region-geometry.js';
|
|
4
|
-
import { getRegionTrackerDecoder, getStarSystemDecoder, } from '../c4/runtime-bindings.js';
|
|
5
|
+
import { getFleetDecoder, getRegionTrackerDecoder, getStarSystemDecoder, } from '../c4/runtime-bindings.js';
|
|
5
6
|
import { starSystemAccountDefinition } from '../c4/world.js';
|
|
6
7
|
import { hashAccountState } from './account-state.js';
|
|
7
|
-
/**
|
|
8
|
-
|
|
9
|
-
* empty list is deep space. The tracker must be the canonical version 0
|
|
10
|
-
* account; other Regions and their systems may change.
|
|
11
|
-
*/
|
|
12
|
-
export async function hashRegionAccess(tracker, system, game) {
|
|
8
|
+
/** Decodes the canonical version 0 RegionTracker, or refuses with `message`. */
|
|
9
|
+
async function decodeTracker(tracker, game, valid, message) {
|
|
13
10
|
const decoded = !tracker.executable &&
|
|
14
11
|
tracker.address === (await deriveRegionTrackerAddress(game))
|
|
15
12
|
? regionTrackerAccountDefinition.decode(tracker)
|
|
16
13
|
: undefined;
|
|
17
|
-
if (!
|
|
18
|
-
throw new SageSdkError('ACTION_PRECONDITION_FAILED',
|
|
14
|
+
if (!valid || decoded?.game !== game || decoded.version !== 0)
|
|
15
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', message, {
|
|
16
|
+
address: tracker.address,
|
|
17
|
+
});
|
|
18
|
+
return getRegionTrackerDecoder().decode(tracker.data);
|
|
19
|
+
}
|
|
20
|
+
function hashRegions(tracker, value) {
|
|
21
|
+
return hashAccountState(tracker.owner, new TextEncoder().encode(JSON.stringify(value, (_key, item) => typeof item === 'bigint' ? String(item) : item)));
|
|
22
|
+
}
|
|
23
|
+
/** The Regions containing a Star System's coordinate, in tracker order; an
|
|
24
|
+
* empty list is deep space. The tracker must be the canonical version 0
|
|
25
|
+
* account. */
|
|
26
|
+
export async function regionsContainingSystem(tracker, system, game) {
|
|
27
|
+
const data = await decodeTracker(tracker, game, system !== undefined, 'The Star System is missing, or the RegionTracker is not the canonical version 0 account for this Game. Refresh world region data and recreate the Plan.');
|
|
19
28
|
starSystemAccountDefinition.validate(system);
|
|
20
29
|
const [x, y] = getStarSystemDecoder().decode(system.data).coordinates;
|
|
21
30
|
const coordinate = { x: x.raw, y: y.raw };
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
31
|
+
return data.regions.unsizedList.filter((region) => regionContainsCoordinate(region, coordinate));
|
|
32
|
+
}
|
|
33
|
+
/** Digest of the access data of every Region containing a Star System's
|
|
34
|
+
* coordinate: id, owner, safety status and risk zone, in tracker order. An
|
|
35
|
+
* empty list is deep space. Other Regions and their systems may change.
|
|
36
|
+
*/
|
|
37
|
+
export async function hashRegionAccess(tracker, system, game) {
|
|
38
|
+
const regions = await regionsContainingSystem(tracker, system, game);
|
|
39
|
+
return hashRegions(tracker, regions.map(({ id, owner, safetyStatus, riskZone }) => [
|
|
40
|
+
id,
|
|
41
|
+
owner,
|
|
42
|
+
safetyStatus,
|
|
43
|
+
riskZone,
|
|
44
|
+
]));
|
|
45
|
+
}
|
|
46
|
+
/** A Fleet's exact action coordinate in `game`: its Idle location, or the end
|
|
47
|
+
* of the warp or subwarp a movement start settles first; `undefined` for any
|
|
48
|
+
* other state, another Game or a missing Fleet.
|
|
49
|
+
*/
|
|
50
|
+
export function fleetActionCoordinate(fleet, game) {
|
|
51
|
+
if (!fleet)
|
|
52
|
+
return undefined;
|
|
53
|
+
fleetAccountDefinition.validate(fleet);
|
|
54
|
+
const { gameId, location, state } = getFleetDecoder().decode(fleet.data);
|
|
55
|
+
const at = state.__kind === 'Idle'
|
|
56
|
+
? location
|
|
57
|
+
: state.__kind === 'MoveWarp'
|
|
58
|
+
? state.fields[0].to
|
|
59
|
+
: state.__kind === 'MoveSubwarp'
|
|
60
|
+
? state.fields[0].journey.to
|
|
61
|
+
: undefined;
|
|
62
|
+
return gameId === game && at ? { x: at[0].raw, y: at[1].raw } : undefined;
|
|
63
|
+
}
|
|
64
|
+
/** Digest of the Regions a straight path can touch: the Region count, then the
|
|
65
|
+
* id, border, bounding box, owner, safety status and risk zone of every Region
|
|
66
|
+
* whose bounding box overlaps the path's, in tracker order. The tracker must
|
|
67
|
+
* be the canonical version 0 account; Regions away from the path, and every
|
|
68
|
+
* Region's systems, may change.
|
|
69
|
+
*/
|
|
70
|
+
export async function hashRegionPath(tracker, game, from, to) {
|
|
71
|
+
const data = await decodeTracker(tracker, game, true, 'The RegionTracker is not the canonical version 0 account for this Game. Refresh world region data and recreate the coordinate movement Plan.');
|
|
72
|
+
const [minX, maxX] = from.x < to.x ? [from.x, to.x] : [to.x, from.x];
|
|
73
|
+
const [minY, maxY] = from.y < to.y ? [from.y, to.y] : [to.y, from.y];
|
|
74
|
+
const regions = data.regions.unsizedList
|
|
75
|
+
.filter(({ boundingBox: box }) => box.minX.raw <= maxX &&
|
|
76
|
+
box.maxX.raw >= minX &&
|
|
77
|
+
box.minY.raw <= maxY &&
|
|
78
|
+
box.maxY.raw >= minY)
|
|
79
|
+
.map(({ id, border, boundingBox, owner, safetyStatus, riskZone }) => [
|
|
26
80
|
id,
|
|
81
|
+
border.map((point) => point.map(({ raw }) => raw)),
|
|
82
|
+
[
|
|
83
|
+
boundingBox.minX,
|
|
84
|
+
boundingBox.maxX,
|
|
85
|
+
boundingBox.minY,
|
|
86
|
+
boundingBox.maxY,
|
|
87
|
+
].map(({ raw }) => raw),
|
|
27
88
|
owner,
|
|
28
89
|
safetyStatus,
|
|
29
90
|
riskZone,
|
|
30
91
|
]);
|
|
31
|
-
return
|
|
92
|
+
return hashRegions(tracker, [data.regions.unsizedList.length, regions]);
|
|
32
93
|
}
|
|
33
94
|
//# sourceMappingURL=region-access.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"region-access.js","sourceRoot":"","sources":["../../../src/internal/planning/region-access.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EACL,uBAAuB,EACvB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"region-access.js","sourceRoot":"","sources":["../../../src/internal/planning/region-access.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":"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"}
|
|
@@ -13,7 +13,7 @@ import { getBase64Decoder, } from '@solana/kit';
|
|
|
13
13
|
import { hashMovementCharacter } from '../internal/planning/movement-character.js';
|
|
14
14
|
import { validateFleetDockingPolicy } from '../internal/planning/fleet-docking.js';
|
|
15
15
|
import { validateStarbaseSystem } from '../internal/planning/starbase-system.js';
|
|
16
|
-
import { hashRegionAccess } from '../internal/planning/region-access.js';
|
|
16
|
+
import { fleetActionCoordinate, hashRegionAccess, hashRegionPath, } from '../internal/planning/region-access.js';
|
|
17
17
|
import { revalidateCharacterRegistration, isEmptySystemAccount, } from '../internal/planning/character-registration.js';
|
|
18
18
|
import { validateFleetArrivalIntent } from '../internal/planning/fleet-arrival.js';
|
|
19
19
|
import { isRuntimeGuard, revalidateRuntimeGuards, } from '../internal/planning/runtime-guards.js';
|
|
@@ -452,6 +452,8 @@ async function checkPreconditions(context, allPreconditions, steps, commitment)
|
|
|
452
452
|
}
|
|
453
453
|
if (guard.kind === 'region-access')
|
|
454
454
|
requiredAddresses.add(guard.system);
|
|
455
|
+
if (guard.kind === 'region-path')
|
|
456
|
+
requiredAddresses.add(guard.fleet);
|
|
455
457
|
if (guard.kind === 'fleet-docking-policy')
|
|
456
458
|
for (const address of [
|
|
457
459
|
guard.ownership,
|
|
@@ -780,6 +782,7 @@ async function checkPreconditions(context, allPreconditions, steps, commitment)
|
|
|
780
782
|
account !== undefined && matchesTokenAccount(account, precondition);
|
|
781
783
|
if (precondition.kind === 'currency-cache' ||
|
|
782
784
|
precondition.kind === 'region-access' ||
|
|
785
|
+
precondition.kind === 'region-path' ||
|
|
783
786
|
precondition.kind === 'movement-character' ||
|
|
784
787
|
precondition.kind === 'starbase-system' ||
|
|
785
788
|
precondition.kind === 'fleet-mining' ||
|
|
@@ -803,6 +806,14 @@ async function checkPreconditions(context, allPreconditions, steps, commitment)
|
|
|
803
806
|
precondition.game === requireGameAddress(context) &&
|
|
804
807
|
(await hashRegionAccess(account, byAddress.get(precondition.system), precondition.game)) === precondition.accessHash;
|
|
805
808
|
}
|
|
809
|
+
else if (precondition.kind === 'region-path') {
|
|
810
|
+
const origin = fleetActionCoordinate(byAddress.get(precondition.fleet), precondition.game);
|
|
811
|
+
narrowed =
|
|
812
|
+
precondition.game === requireGameAddress(context) &&
|
|
813
|
+
origin?.x === precondition.fromX &&
|
|
814
|
+
origin.y === precondition.fromY &&
|
|
815
|
+
(await hashRegionPath(account, precondition.game, { x: precondition.fromX, y: precondition.fromY }, { x: precondition.toX, y: precondition.toY })) === precondition.pathHash;
|
|
816
|
+
}
|
|
806
817
|
else if (precondition.kind === 'movement-character') {
|
|
807
818
|
narrowed =
|
|
808
819
|
precondition.game === requireGameAddress(context) &&
|