@aephia/atlas-kit 0.6.0-next.101 → 0.6.0-next.102
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/internal/planning/arrival-guards.d.ts +0 -1
- package/dist/internal/planning/arrival-guards.d.ts.map +1 -1
- package/dist/internal/planning/arrival-guards.js +0 -16
- package/dist/internal/planning/arrival-guards.js.map +1 -1
- package/dist/internal/planning/fleet-dock-funding-guard.d.ts +3 -3
- package/dist/internal/planning/fleet-dock-funding-guard.d.ts.map +1 -1
- package/dist/internal/planning/fleet-dock-funding-guard.js +76 -93
- package/dist/internal/planning/fleet-dock-funding-guard.js.map +1 -1
- package/dist/internal/planning/local-market-order.d.ts +4 -4
- package/dist/internal/planning/local-market-order.d.ts.map +1 -1
- package/dist/internal/planning/local-market-order.js +80 -108
- package/dist/internal/planning/local-market-order.js.map +1 -1
- package/dist/internal/planning/plan-fields.d.ts +59 -0
- package/dist/internal/planning/plan-fields.d.ts.map +1 -0
- package/dist/internal/planning/plan-fields.js +153 -0
- package/dist/internal/planning/plan-fields.js.map +1 -0
- package/dist/internal/planning/plan-guards.d.ts +4 -0
- package/dist/internal/planning/plan-guards.d.ts.map +1 -0
- package/dist/internal/planning/plan-guards.js +168 -0
- package/dist/internal/planning/plan-guards.js.map +1 -0
- package/dist/internal/planning/runtime-guards.d.ts +0 -2
- package/dist/internal/planning/runtime-guards.d.ts.map +1 -1
- package/dist/internal/planning/runtime-guards.js +0 -3
- package/dist/internal/planning/runtime-guards.js.map +1 -1
- package/dist/planning/index.d.ts.map +1 -1
- package/dist/planning/index.js +11 -961
- package/dist/planning/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -14,7 +14,6 @@ export interface FleetArrivalGuard {
|
|
|
14
14
|
}
|
|
15
15
|
export type FleetArrivalGuardJson = RuntimeWire<FleetArrivalGuard>;
|
|
16
16
|
export declare function normalizeArrivalGuard(value: unknown, field: string, wire?: boolean): FleetArrivalGuard;
|
|
17
|
-
export declare function arrivalGuardToJSON(guard: FleetArrivalGuard): FleetArrivalGuardJson;
|
|
18
17
|
/** Reject obsolete settlement and bind current arrival instructions to their safeguards. */
|
|
19
18
|
export declare function validateArrivalInstructions(steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
|
|
20
19
|
//# sourceMappingURL=arrival-guards.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrival-guards.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/arrival-guards.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AASnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,iFAAiF;AACjF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;CAC3B;AACD,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;AAqDnE,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,UAAQ,GACX,iBAAiB,CAoEnB;
|
|
1
|
+
{"version":3,"file":"arrival-guards.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/arrival-guards.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AASnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,iFAAiF;AACjF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;CAC3B;AACD,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;AAqDnE,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,UAAQ,GACX,iBAAiB,CAoEnB;AAQD,4FAA4F;AAC5F,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CA0EN"}
|
|
@@ -105,22 +105,6 @@ export function normalizeArrivalGuard(value, field, wire = false) {
|
|
|
105
105
|
regionTracker: address(row.regionTracker, field),
|
|
106
106
|
});
|
|
107
107
|
}
|
|
108
|
-
export function arrivalGuardToJSON(guard) {
|
|
109
|
-
const j = guard.intent.journey;
|
|
110
|
-
return {
|
|
111
|
-
...guard,
|
|
112
|
-
intent: {
|
|
113
|
-
...guard.intent,
|
|
114
|
-
journey: {
|
|
115
|
-
...j,
|
|
116
|
-
from: { x: String(j.from.x), y: String(j.from.y) },
|
|
117
|
-
to: { x: String(j.to.x), y: String(j.to.y) },
|
|
118
|
-
departure: String(j.departure),
|
|
119
|
-
duration: String(j.duration),
|
|
120
|
-
},
|
|
121
|
-
},
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
108
|
function fail() {
|
|
125
109
|
throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'This arrival instruction has no matching journey, authority and XP safeguards or has an unsupported layout. Refresh the Fleet and recreate the Plan with planFleetSettleArrival before signing.');
|
|
126
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrival-guards.js","sourceRoot":"","sources":["../../../src/internal/planning/arrival-guards.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"arrival-guards.js","sourceRoot":"","sources":["../../../src/internal/planning/arrival-guards.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Address } from '@solana/kit';
|
|
2
2
|
import type { PlanPrecondition, PlanStep } from '../../planning/index.js';
|
|
3
|
-
import type
|
|
3
|
+
import { type GuardSchema } from './plan-fields.js';
|
|
4
4
|
export declare const MAXIMUM_DOCK_GROWTH_BYTES = 40;
|
|
5
5
|
declare const REASONS: readonly ["unsupported-account-layout", "unsupported-fleet-state", "noncanonical-account-encoding", "stale-definition-sequences", "stale-starbase-sequence", "pending-recovery", "active-stimulants", "funding-state-unavailable", "accounts-below-rent-reserve", "profile-below-storage-ceiling"];
|
|
6
6
|
export type DockBoundsUnavailableReason = (typeof REASONS)[number];
|
|
@@ -34,8 +34,8 @@ export type FleetDockFundingGuard = DockFundingIntent & DockFundingAmounts & {
|
|
|
34
34
|
readonly dataHash?: never;
|
|
35
35
|
};
|
|
36
36
|
export declare function dockGrowthDebit(rate: bigint, threshold: number, length: number): bigint;
|
|
37
|
-
|
|
38
|
-
export declare
|
|
37
|
+
/** Plan guard schema: exact docking intent, Rent quote and gross storage ceiling. */
|
|
38
|
+
export declare const FLEET_DOCK_FUNDING_SCHEMA: GuardSchema;
|
|
39
39
|
/** Requires one exact funding assertion for each current docking instruction. */
|
|
40
40
|
export declare function validateFleetDockFundingGuards(steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
|
|
41
41
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-dock-funding-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-dock-funding-guard.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"fleet-dock-funding-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/fleet-dock-funding-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAMzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAIL,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAC;AAE1B,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,QAAA,MAAM,OAAO,oSAWH,CAAC;AACX,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AACnE,MAAM,MAAM,kBAAkB,GAC1B;IACE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC;CAC9C,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC,CAAC;AACN,MAAM,WAAW,iBAAiB;IAChC,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,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AACD,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GACnD,kBAAkB,GAAG;IACnB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;CAC3B,CAAC;AACJ,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,MAAM,CAKR;AAWD,qFAAqF;AACrF,eAAO,MAAM,yBAAyB,EAAE,WAuEvC,CAAC;AAqBF,iFAAiF;AACjF,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CAgFN"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { isSignerRole, isWritableRole } from '@solana/kit';
|
|
2
|
+
import { SageSdkError } from '../../client/errors.js';
|
|
3
3
|
import { IDLE_TO_DOCKED_DISCRIMINATOR, SAGE_PROGRAM_ADDRESS, } from '../c4/runtime-bindings.js';
|
|
4
4
|
import { rentMinimumBalance } from './rent.js';
|
|
5
|
+
import { MAX_U64, } from './plan-fields.js';
|
|
5
6
|
export const MAXIMUM_DOCK_GROWTH_BYTES = 40;
|
|
6
7
|
const REASONS = [
|
|
7
8
|
'unsupported-account-layout',
|
|
@@ -19,101 +20,83 @@ export function dockGrowthDebit(rate, threshold, length) {
|
|
|
19
20
|
return (rentMinimumBalance(rate, threshold, length + MAXIMUM_DOCK_GROWTH_BYTES) -
|
|
20
21
|
rentMinimumBalance(rate, threshold, length));
|
|
21
22
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
'
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
'cargoSequenceId',
|
|
87
|
-
])
|
|
88
|
-
if (!Number.isInteger(row[k]) ||
|
|
89
|
-
row[k] < 0 ||
|
|
90
|
-
row[k] > 0xffffffff)
|
|
91
|
-
bad();
|
|
92
|
-
if (row.fleetDataLengthBytes < 685 ||
|
|
93
|
-
typeof row.rentExemptionThreshold !== 'number' ||
|
|
94
|
-
!Number.isFinite(row.rentExemptionThreshold) ||
|
|
95
|
-
row.rentExemptionThreshold < 0)
|
|
96
|
-
bad();
|
|
23
|
+
const U64 = {
|
|
24
|
+
min: 0n,
|
|
25
|
+
max: MAX_U64,
|
|
26
|
+
accepted: 'an unsigned u64 bigint',
|
|
27
|
+
};
|
|
28
|
+
const U32 = {
|
|
29
|
+
min: 0,
|
|
30
|
+
max: 0xffffffff,
|
|
31
|
+
accepted: 'an unsigned u32 integer',
|
|
32
|
+
};
|
|
33
|
+
/** Plan guard schema: exact docking intent, Rent quote and gross storage ceiling. */
|
|
34
|
+
export const FLEET_DOCK_FUNDING_SCHEMA = {
|
|
35
|
+
fields: [
|
|
36
|
+
...[
|
|
37
|
+
'address',
|
|
38
|
+
'game',
|
|
39
|
+
'profile',
|
|
40
|
+
'authority',
|
|
41
|
+
'certificate',
|
|
42
|
+
'character',
|
|
43
|
+
'system',
|
|
44
|
+
'starbasePlayer',
|
|
45
|
+
].map((key) => [key, 'address']),
|
|
46
|
+
['keyIndex', { min: 0, max: 65535, accepted: 'a u16 Profile key index' }],
|
|
47
|
+
[
|
|
48
|
+
'status',
|
|
49
|
+
{
|
|
50
|
+
values: ['available', 'unavailable'],
|
|
51
|
+
accepted: 'available or unavailable',
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
['describes', 'text'],
|
|
55
|
+
],
|
|
56
|
+
byStatus: {
|
|
57
|
+
available: [
|
|
58
|
+
['maximumProfileDebit', U64],
|
|
59
|
+
[
|
|
60
|
+
'fleetDataLengthBytes',
|
|
61
|
+
{ min: 685, max: 0xffffffff, accepted: 'a qualified Fleet length' },
|
|
62
|
+
],
|
|
63
|
+
['rentLamportsPerByteYear', U64],
|
|
64
|
+
[
|
|
65
|
+
'rentExemptionThreshold',
|
|
66
|
+
{
|
|
67
|
+
min: 0,
|
|
68
|
+
max: Number.POSITIVE_INFINITY,
|
|
69
|
+
finite: true,
|
|
70
|
+
accepted: 'a nonnegative finite threshold',
|
|
71
|
+
},
|
|
72
|
+
],
|
|
73
|
+
['shipSequenceId', U32],
|
|
74
|
+
['cargoSequenceId', U32],
|
|
75
|
+
['starbaseSequenceId', U64],
|
|
76
|
+
],
|
|
77
|
+
unavailable: [
|
|
78
|
+
[
|
|
79
|
+
'reason',
|
|
80
|
+
{ values: REASONS, accepted: 'a supported unavailable reason' },
|
|
81
|
+
],
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
check(guard) {
|
|
85
|
+
if (guard.status !== 'available')
|
|
86
|
+
return true;
|
|
97
87
|
try {
|
|
98
|
-
|
|
99
|
-
dockGrowthDebit(
|
|
100
|
-
bad();
|
|
88
|
+
return (guard.maximumProfileDebit ===
|
|
89
|
+
dockGrowthDebit(guard.rentLamportsPerByteYear, guard.rentExemptionThreshold, guard.fleetDataLengthBytes));
|
|
101
90
|
}
|
|
102
91
|
catch {
|
|
103
|
-
|
|
92
|
+
return false;
|
|
104
93
|
}
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}
|
|
111
|
-
export function dockFundingGuardToJSON(guard) {
|
|
112
|
-
return Object.fromEntries(Object.entries(guard).map(([key, value]) => [
|
|
113
|
-
key,
|
|
114
|
-
typeof value === 'bigint' ? String(value) : value,
|
|
115
|
-
]));
|
|
116
|
-
}
|
|
94
|
+
},
|
|
95
|
+
error: {
|
|
96
|
+
accepted: 'the exact current docking intent, Rent quote and gross storage ceiling',
|
|
97
|
+
remedy: 'Recreate the docking Plan; do not alter its saved qualification or debit fields.',
|
|
98
|
+
},
|
|
99
|
+
};
|
|
117
100
|
/** Pinned IdleToDocked account order (qualification #825), for diagnostics. */
|
|
118
101
|
const DOCK_ACCOUNT_LABELS = [
|
|
119
102
|
'authority',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-dock-funding-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-dock-funding-guard.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"fleet-dock-funding-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/fleet-dock-funding-guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Address } from '@solana/kit';
|
|
2
2
|
import type { PlanPrecondition, PlanStep } from '../../planning/index.js';
|
|
3
|
-
import type
|
|
3
|
+
import { type GuardSchema } from './plan-fields.js';
|
|
4
4
|
export type MarketBoundsUnavailableReason = 'unsupported-market-layout' | 'unsupported-account-layout' | 'unsupported-fee-policy' | 'missing-cargo-row' | 'funding-state-unavailable' | 'accounts-below-rent-reserve' | 'profile-below-storage-ceiling';
|
|
5
5
|
export type MarketOrderAmounts = {
|
|
6
6
|
readonly status: 'unavailable';
|
|
@@ -35,6 +35,6 @@ export type LocalMarketOrderGuard = MarketOrderIntent & MarketOrderAmounts & {
|
|
|
35
35
|
};
|
|
36
36
|
export declare function hasQualifiedMarketFees(guards: readonly PlanPrecondition[]): boolean;
|
|
37
37
|
export declare function validateLocalMarketOrderInstructions(steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
|
|
38
|
-
|
|
39
|
-
export declare
|
|
38
|
+
/** Plan guard schema: exact current Local Market intent and debit safeguard. */
|
|
39
|
+
export declare const LOCAL_MARKET_ORDER_SCHEMA: GuardSchema;
|
|
40
40
|
//# sourceMappingURL=local-market-order.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-market-order.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/local-market-order.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"local-market-order.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/local-market-order.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAO3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAIL,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAC;AAC1B,MAAM,MAAM,6BAA6B,GACrC,2BAA2B,GAC3B,4BAA4B,GAC5B,wBAAwB,GACxB,mBAAmB,GACnB,2BAA2B,GAC3B,6BAA6B,GAC7B,+BAA+B,CAAC;AACpC,MAAM,MAAM,kBAAkB,GAC1B;IACE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,6BAA6B,CAAC;CAChD,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC,CAAC;AACN,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AACD,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GACnD,kBAAkB,GAAG;IACnB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;CAC3B,CAAC;AAEJ,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,OAAO,CAWT;AACD,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CA6DN;AAsBD,gFAAgF;AAChF,eAAO,MAAM,yBAAyB,EAAE,WA4DvC,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { isAddress } from '@solana/kit';
|
|
2
1
|
import { SAGE_PROGRAM_ADDRESS, PLACE_LOCAL_MARKET_ORDER_DISCRIMINATOR, matchesLocalMarketPlacement, } from '../c4/local-market-order.js';
|
|
3
|
-
import {
|
|
4
|
-
|
|
2
|
+
import { SageSdkError } from '../../client/errors.js';
|
|
3
|
+
import { MAX_U64, } from './plan-fields.js';
|
|
5
4
|
export function hasQualifiedMarketFees(guards) {
|
|
6
5
|
// Callers have resolved or normalized the mandatory market runtime guards.
|
|
7
6
|
const fees = guards.find((g) => g.kind === 'governance-fees');
|
|
@@ -57,110 +56,83 @@ export function validateLocalMarketOrderInstructions(steps, guards) {
|
|
|
57
56
|
if (!guards.some((g) => g.kind === 'account-state' && g.address === address))
|
|
58
57
|
bad();
|
|
59
58
|
}
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
'
|
|
64
|
-
|
|
59
|
+
const U64 = {
|
|
60
|
+
min: 0n,
|
|
61
|
+
max: MAX_U64,
|
|
62
|
+
accepted: 'an unsigned u64 bigint',
|
|
63
|
+
};
|
|
64
|
+
const U16 = {
|
|
65
|
+
min: 0,
|
|
66
|
+
max: 65535,
|
|
67
|
+
accepted: 'an unsigned u16 integer',
|
|
68
|
+
};
|
|
69
|
+
const MARKET_UNAVAILABLE_REASONS = [
|
|
70
|
+
'unsupported-market-layout',
|
|
71
|
+
'unsupported-account-layout',
|
|
72
|
+
'unsupported-fee-policy',
|
|
73
|
+
'missing-cargo-row',
|
|
74
|
+
'funding-state-unavailable',
|
|
75
|
+
'accounts-below-rent-reserve',
|
|
76
|
+
'profile-below-storage-ceiling',
|
|
65
77
|
];
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
'
|
|
79
|
-
'
|
|
80
|
-
'
|
|
81
|
-
'
|
|
82
|
-
'
|
|
83
|
-
'
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
'
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
if (
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
row[key] > 65535)
|
|
127
|
-
bad();
|
|
128
|
-
if (row.kind !== 'local-market-order' ||
|
|
129
|
-
(row.side !== 'bid' && row.side !== 'ask') ||
|
|
130
|
-
row.priceRaw === 0n ||
|
|
131
|
-
row.quantity === 0n ||
|
|
132
|
-
typeof row.describes !== 'string' ||
|
|
133
|
-
!row.describes.trim())
|
|
134
|
-
bad();
|
|
135
|
-
if (row.side === 'bid' &&
|
|
136
|
-
row.priceRaw * row.quantity > MAX_U64)
|
|
137
|
-
bad();
|
|
138
|
-
if (row.status === 'available') {
|
|
139
|
-
if (row.maximumGovernanceFeeRaw !== 0n ||
|
|
140
|
-
row.maximumCargoDebitRaw !== (row.side === 'ask' ? row.quantity : 0n) ||
|
|
141
|
-
row.maximumAtlasDebitRaw !==
|
|
142
|
-
(row.side === 'bid'
|
|
143
|
-
? row.priceRaw * row.quantity
|
|
144
|
-
: 0n))
|
|
145
|
-
bad();
|
|
146
|
-
}
|
|
147
|
-
else if (row.status !== 'unavailable' ||
|
|
148
|
-
![
|
|
149
|
-
'unsupported-market-layout',
|
|
150
|
-
'unsupported-account-layout',
|
|
151
|
-
'unsupported-fee-policy',
|
|
152
|
-
'missing-cargo-row',
|
|
153
|
-
'funding-state-unavailable',
|
|
154
|
-
'accounts-below-rent-reserve',
|
|
155
|
-
'profile-below-storage-ceiling',
|
|
156
|
-
].includes(row.reason))
|
|
157
|
-
bad();
|
|
158
|
-
return Object.freeze(row);
|
|
159
|
-
}
|
|
160
|
-
export function localMarketOrderGuardToJSON(guard) {
|
|
161
|
-
return Object.fromEntries(Object.entries(guard).map(([key, value]) => [
|
|
162
|
-
key,
|
|
163
|
-
typeof value === 'bigint' ? String(value) : value,
|
|
164
|
-
]));
|
|
165
|
-
}
|
|
78
|
+
const address = (key) => [key, 'address'];
|
|
79
|
+
/** Plan guard schema: exact current Local Market intent and debit safeguard. */
|
|
80
|
+
export const LOCAL_MARKET_ORDER_SCHEMA = {
|
|
81
|
+
fields: [
|
|
82
|
+
address('address'),
|
|
83
|
+
address('game'),
|
|
84
|
+
address('system'),
|
|
85
|
+
address('profile'),
|
|
86
|
+
address('authority'),
|
|
87
|
+
['certificate', 'address', true],
|
|
88
|
+
['keyIndex', U16],
|
|
89
|
+
address('character'),
|
|
90
|
+
address('starbasePlayer'),
|
|
91
|
+
['starbaseSequenceId', U64],
|
|
92
|
+
['cargoId', U16],
|
|
93
|
+
['side', { values: ['bid', 'ask'], accepted: 'bid or ask' }],
|
|
94
|
+
['priceRaw', U64],
|
|
95
|
+
['quantity', U64],
|
|
96
|
+
[
|
|
97
|
+
'status',
|
|
98
|
+
{
|
|
99
|
+
values: ['available', 'unavailable'],
|
|
100
|
+
accepted: 'available or unavailable',
|
|
101
|
+
},
|
|
102
|
+
],
|
|
103
|
+
['describes', 'text'],
|
|
104
|
+
],
|
|
105
|
+
byStatus: {
|
|
106
|
+
available: [
|
|
107
|
+
['maximumCargoDebitRaw', U64],
|
|
108
|
+
['maximumAtlasDebitRaw', U64],
|
|
109
|
+
['maximumGovernanceFeeRaw', U64],
|
|
110
|
+
['maximumProfileDebit', U64],
|
|
111
|
+
],
|
|
112
|
+
unavailable: [
|
|
113
|
+
[
|
|
114
|
+
'reason',
|
|
115
|
+
{
|
|
116
|
+
values: MARKET_UNAVAILABLE_REASONS,
|
|
117
|
+
accepted: 'a supported unavailable reason',
|
|
118
|
+
},
|
|
119
|
+
],
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
check(guard) {
|
|
123
|
+
const price = guard.priceRaw;
|
|
124
|
+
const quantity = guard.quantity;
|
|
125
|
+
const bid = guard.side === 'bid';
|
|
126
|
+
if (price === 0n || quantity === 0n || (bid && price * quantity > MAX_U64))
|
|
127
|
+
return false;
|
|
128
|
+
return (guard.status !== 'available' ||
|
|
129
|
+
(guard.maximumGovernanceFeeRaw === 0n &&
|
|
130
|
+
guard.maximumCargoDebitRaw === (bid ? 0n : quantity) &&
|
|
131
|
+
guard.maximumAtlasDebitRaw === (bid ? price * quantity : 0n)));
|
|
132
|
+
},
|
|
133
|
+
error: {
|
|
134
|
+
accepted: 'the exact current Local Market intent and debit safeguard',
|
|
135
|
+
remedy: 'Recreate the order Plan; do not alter its saved intent, qualification or debit fields.',
|
|
136
|
+
},
|
|
137
|
+
};
|
|
166
138
|
//# sourceMappingURL=local-market-order.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-market-order.js","sourceRoot":"","sources":["../../../src/internal/planning/local-market-order.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"local-market-order.js","sourceRoot":"","sources":["../../../src/internal/planning/local-market-order.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,sCAAsC,EACtC,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EACL,OAAO,GAKR,MAAM,kBAAkB,CAAC;AA4C1B,MAAM,UAAU,sBAAsB,CACpC,MAAmC;IAEnC,2EAA2E;IAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAE,CAAC;IAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAE,CAAC;IACpE,OAAO,CACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS;QACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,iBAAiB,KAAK,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,KAAK,QAAQ;QAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,KAAK,QAAQ;QACxC,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,CAClC,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,oCAAoC,CAClD,KAA0B,EAC1B,MAAmC;IAEnC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAC5B,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAoB,CACnE,CAAC;IACF,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAC7B,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CACrB,CAAC,CAAC,cAAc,KAAK,oBAAoB;QACzC,sCAAsC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAC5E,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM;QAAE,OAAO;IACnD,MAAM,GAAG,GAAG,GAAU,EAAE;QACtB,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,4OAA4O,CAC7O,CAAC;IACJ,CAAC,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QACxE,GAAG,EAAE,CAAC;IACR,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC;IACnE,IACE,CAAC,IAAI;QACL,IAAI,CAAC,IAAI,KAAK,iBAAiB;QAC/B,CAAC,OAAO;QACR,OAAO,CAAC,IAAI,KAAK,mBAAmB;QAEpC,OAAO,GAAG,EAAE,CAAC;IACf,IACE,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;QAClC,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QACtC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;QACrC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;QACvC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC,kBAAkB;QAE9D,GAAG,EAAE,CAAC;IACR,IACE,KAAK,CAAC,MAAM,KAAK,WAAW;QAC5B,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,KAAK,CAAC,CAAC;QAE3C,GAAG,EAAE,CAAC;IACR,IACE,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,SAAS;QACnC,CAAC,2BAA2B,CAAC,IAAI,CAAC,WAAW,EAAE;YAC7C,GAAG,KAAK;YACR,GAAG,OAAO,CAAC,QAAQ;YACnB,GAAG,IAAI,CAAC,QAAQ;YAChB,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAmB;YACrD,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAc;SAC5C,CAAC;QAEF,GAAG,EAAE,CAAC;IACR,KAAK,MAAM,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC;QAC1E,IACE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC;YAExE,GAAG,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,GAAG,GAAgB;IACvB,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,OAAO;IACZ,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,0BAA0B,GAA6C;IAC3E,2BAA2B;IAC3B,4BAA4B;IAC5B,wBAAwB;IACxB,mBAAmB;IACnB,2BAA2B;IAC3B,6BAA6B;IAC7B,+BAA+B;CAChC,CAAC;AACF,MAAM,OAAO,GAAG,CAAC,GAAW,EAAmB,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AACnE,gFAAgF;AAChF,MAAM,CAAC,MAAM,yBAAyB,GAAgB;IACpD,MAAM,EAAE;QACN,OAAO,CAAC,SAAS,CAAC;QAClB,OAAO,CAAC,MAAM,CAAC;QACf,OAAO,CAAC,QAAQ,CAAC;QACjB,OAAO,CAAC,SAAS,CAAC;QAClB,OAAO,CAAC,WAAW,CAAC;QACpB,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC;QAChC,CAAC,UAAU,EAAE,GAAG,CAAC;QACjB,OAAO,CAAC,WAAW,CAAC;QACpB,OAAO,CAAC,gBAAgB,CAAC;QACzB,CAAC,oBAAoB,EAAE,GAAG,CAAC;QAC3B,CAAC,SAAS,EAAE,GAAG,CAAC;QAChB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;QAC5D,CAAC,UAAU,EAAE,GAAG,CAAC;QACjB,CAAC,UAAU,EAAE,GAAG,CAAC;QACjB;YACE,QAAQ;YACR;gBACE,MAAM,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;gBACpC,QAAQ,EAAE,0BAA0B;aACrC;SACF;QACD,CAAC,WAAW,EAAE,MAAM,CAAC;KACtB;IACD,QAAQ,EAAE;QACR,SAAS,EAAE;YACT,CAAC,sBAAsB,EAAE,GAAG,CAAC;YAC7B,CAAC,sBAAsB,EAAE,GAAG,CAAC;YAC7B,CAAC,yBAAyB,EAAE,GAAG,CAAC;YAChC,CAAC,qBAAqB,EAAE,GAAG,CAAC;SAC7B;QACD,WAAW,EAAE;YACX;gBACE,QAAQ;gBACR;oBACE,MAAM,EAAE,0BAA0B;oBAClC,QAAQ,EAAE,gCAAgC;iBAC3C;aACF;SACF;KACF;IACD,KAAK,CAAC,KAAK;QACT,MAAM,KAAK,GAAG,KAAK,CAAC,QAAkB,CAAC;QACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAkB,CAAC;QAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC;QACjC,IAAI,KAAK,KAAK,EAAE,IAAI,QAAQ,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;YACxE,OAAO,KAAK,CAAC;QACf,OAAO,CACL,KAAK,CAAC,MAAM,KAAK,WAAW;YAC5B,CAAC,KAAK,CAAC,uBAAuB,KAAK,EAAE;gBACnC,KAAK,CAAC,oBAAoB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACpD,KAAK,CAAC,oBAAoB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAChE,CAAC;IACJ,CAAC;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,2DAA2D;QACrE,MAAM,EACJ,wFAAwF;KAC3F;CACF,CAAC"}
|