@aephia/atlas-kit 0.6.0-next.143 → 0.6.0-next.145
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/claim-stakes/actions/index.d.ts +24 -0
- package/dist/claim-stakes/actions/index.d.ts.map +1 -1
- package/dist/claim-stakes/actions/index.js +108 -53
- package/dist/claim-stakes/actions/index.js.map +1 -1
- package/dist/internal/c4/claim-stake-storage.d.ts +45 -0
- package/dist/internal/c4/claim-stake-storage.d.ts.map +1 -0
- package/dist/internal/c4/claim-stake-storage.js +207 -0
- package/dist/internal/c4/claim-stake-storage.js.map +1 -0
- package/dist/internal/c4/scan-storage.d.ts +7 -0
- package/dist/internal/c4/scan-storage.d.ts.map +1 -0
- package/dist/internal/c4/scan-storage.js +10 -0
- package/dist/internal/c4/scan-storage.js.map +1 -0
- package/dist/internal/planning/claim-stake-storage-actions.d.ts +12 -0
- package/dist/internal/planning/claim-stake-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/claim-stake-storage-actions.js +63 -0
- package/dist/internal/planning/claim-stake-storage-actions.js.map +1 -0
- package/dist/internal/planning/profile-storage-funding-guard.d.ts +3 -2
- package/dist/internal/planning/profile-storage-funding-guard.d.ts.map +1 -1
- package/dist/internal/planning/profile-storage-funding-guard.js +61 -22
- package/dist/internal/planning/profile-storage-funding-guard.js.map +1 -1
- package/dist/internal/planning/scan-storage-actions.d.ts +9 -0
- package/dist/internal/planning/scan-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/scan-storage-actions.js +27 -0
- package/dist/internal/planning/scan-storage-actions.js.map +1 -0
- package/dist/internal/planning/storage-action-readers.d.ts.map +1 -1
- package/dist/internal/planning/storage-action-readers.js +15 -0
- package/dist/internal/planning/storage-action-readers.js.map +1 -1
- package/dist/internal/planning/storage-actions.d.ts +4 -0
- package/dist/internal/planning/storage-actions.d.ts.map +1 -1
- package/dist/internal/planning/storage-actions.js +2 -2
- package/dist/internal/planning/storage-actions.js.map +1 -1
- package/dist/planning/execution.js +1 -1
- package/dist/planning/execution.js.map +1 -1
- package/dist/planning/index.d.ts +1 -1
- package/dist/planning/index.js +2 -2
- package/dist/planning/plan-construction.js +1 -1
- package/dist/scanning/actions/index.d.ts.map +1 -1
- package/dist/scanning/actions/index.js +26 -2
- package/dist/scanning/actions/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scan-storage.js","sourceRoot":"","sources":["../../../src/internal/c4/scan-storage.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sCAAsC,EACtC,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAI7B,qCAAqC;AACrC,MAAM,UAAU,uBAAuB,CAAC,IAAwB;IAC9D,OAAO,sCAAsC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;AACxE,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,iBAAiB,CAAC,GAAe;IAC/C,OAAO,oBAAoB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AACzD,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Address, Instruction } from '@solana/kit';
|
|
2
|
+
import type { RawAccount } from '../../client/contracts.js';
|
|
3
|
+
import { type StorageAction } from './storage-actions.js';
|
|
4
|
+
/** Reads a Claim Stake placement's, building change's or Fleet transfer
|
|
5
|
+
* start's storage effect from its bytes and the fresh accounts. The program
|
|
6
|
+
* funds a stake to its rent floor, which reserves the growth it can reach once
|
|
7
|
+
* Deactivated. A placement creates the stake and claims a Planet plot, each
|
|
8
|
+
* funded on its own; a building change grows only the stake, since the Planet
|
|
9
|
+
* can only shrink. A transfer start settles the stake and the Fleet entering
|
|
10
|
+
* the transfer together, so the stake's surplus funds the Fleet first. */
|
|
11
|
+
export declare function readClaimStakeStorageAction(instruction: Instruction, accounts: ReadonlyMap<Address, RawAccount | undefined>): StorageAction;
|
|
12
|
+
//# sourceMappingURL=claim-stake-storage-actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claim-stake-storage-actions.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/claim-stake-storage-actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAa5D,OAAO,EAAW,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEnE;;;;;;0EAM0E;AAC1E,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,GACrD,aAAa,CA2Df"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { buildingChangeStake, claimedPlotGrowth, decodeBuildingChangesData, decodePlaceClaimStakeData, decodeStartTransferData, placedStakeBytes, stakeReservedBytes, starbaseLevel, startTransferState, } from '../c4/claim-stake-storage.js';
|
|
2
|
+
import { storageInstruction } from './profile-storage-funding-guard.js';
|
|
3
|
+
import { present } from './storage-actions.js';
|
|
4
|
+
/** Reads a Claim Stake placement's, building change's or Fleet transfer
|
|
5
|
+
* start's storage effect from its bytes and the fresh accounts. The program
|
|
6
|
+
* funds a stake to its rent floor, which reserves the growth it can reach once
|
|
7
|
+
* Deactivated. A placement creates the stake and claims a Planet plot, each
|
|
8
|
+
* funded on its own; a building change grows only the stake, since the Planet
|
|
9
|
+
* can only shrink. A transfer start settles the stake and the Fleet entering
|
|
10
|
+
* the transfer together, so the stake's surplus funds the Fleet first. */
|
|
11
|
+
export function readClaimStakeStorageAction(instruction, accounts) {
|
|
12
|
+
const { kind } = storageInstruction(instruction);
|
|
13
|
+
const metas = instruction.accounts;
|
|
14
|
+
const data = instruction.data;
|
|
15
|
+
if (kind === 'start-claim-stake-transfer') {
|
|
16
|
+
const fleet = present(accounts, metas[4].address);
|
|
17
|
+
const stake = present(accounts, metas[5].address);
|
|
18
|
+
return {
|
|
19
|
+
profile: metas[1].address,
|
|
20
|
+
authority: metas[0].address,
|
|
21
|
+
keyIndex: decodeStartTransferData(data).keyIndex,
|
|
22
|
+
settlement: 'net',
|
|
23
|
+
accounts: [
|
|
24
|
+
{ address: fleet.address, state: startTransferState(fleet, data) },
|
|
25
|
+
{ address: stake.address, reservedBytes: stakeReservedBytes(stake) },
|
|
26
|
+
],
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const signer = {
|
|
30
|
+
profile: metas[2].address,
|
|
31
|
+
authority: metas[1].address,
|
|
32
|
+
settlement: 'each',
|
|
33
|
+
};
|
|
34
|
+
const stake = metas[6].address;
|
|
35
|
+
if (kind === 'claim-stake-building-changes') {
|
|
36
|
+
const { keyIndex, buildingIds } = decodeBuildingChangesData(data);
|
|
37
|
+
return {
|
|
38
|
+
...signer,
|
|
39
|
+
keyIndex,
|
|
40
|
+
accounts: [
|
|
41
|
+
{
|
|
42
|
+
address: stake,
|
|
43
|
+
...buildingChangeStake(present(accounts, stake), buildingIds),
|
|
44
|
+
},
|
|
45
|
+
],
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
const { keyIndex, hubBuildingId } = decodePlaceClaimStakeData(data);
|
|
49
|
+
const body = present(accounts, metas[9].address);
|
|
50
|
+
const { bytes, reservedBytes } = placedStakeBytes(present(accounts, metas[0].address), body, hubBuildingId);
|
|
51
|
+
return {
|
|
52
|
+
...signer,
|
|
53
|
+
keyIndex,
|
|
54
|
+
accounts: [
|
|
55
|
+
{ address: stake, created: true, growthBytes: bytes, reservedBytes },
|
|
56
|
+
{
|
|
57
|
+
address: body.address,
|
|
58
|
+
growthBytes: claimedPlotGrowth(body, stake, starbaseLevel(present(accounts, metas[7].address))),
|
|
59
|
+
},
|
|
60
|
+
],
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=claim-stake-storage-actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claim-stake-storage-actions.js","sourceRoot":"","sources":["../../../src/internal/planning/claim-stake-storage-actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,13 +5,14 @@ import { type GuardSchema } from './plan-fields.js';
|
|
|
5
5
|
export declare const CARGO_LINE_BYTES = 10;
|
|
6
6
|
/** Instructions whose account storage the Profile funds. Each is evaluated in
|
|
7
7
|
* Plan order; all but a subwarp stop also carry a funding guard. */
|
|
8
|
-
export type StorageInstruction = 'deposit' | 'starbase-transfer' | 'within-fleet-transfer' | 'start-mining' | 'stop-mining' | 'stop-subwarp' | 'cancel-market-orders' | 'faction-trade' | 'start-subwarp' | 'warp-to-coordinate' | 'warp-lane' | 'start-crafting' | 'cancel-crafting' | 'apply-stimulant' | 'retrieve-loot';
|
|
8
|
+
export type StorageInstruction = 'deposit' | 'starbase-transfer' | 'within-fleet-transfer' | 'start-mining' | 'stop-mining' | 'stop-subwarp' | 'cancel-market-orders' | 'faction-trade' | 'start-subwarp' | 'warp-to-coordinate' | 'warp-lane' | 'start-crafting' | 'cancel-crafting' | 'apply-stimulant' | 'retrieve-loot' | 'recover-signal' | 'place-claim-stake' | 'claim-stake-building-changes' | 'start-claim-stake-transfer';
|
|
9
9
|
/** Which Profile-funded instruction this is, if any, the index of the account
|
|
10
|
-
* its guard names,
|
|
10
|
+
* its guard names, whether it carries a guard, and its signing key's index. */
|
|
11
11
|
export declare function storageInstruction(instruction: Instruction): {
|
|
12
12
|
readonly kind: StorageInstruction;
|
|
13
13
|
readonly primary: number;
|
|
14
14
|
readonly guarded: boolean;
|
|
15
|
+
readonly signer: number;
|
|
15
16
|
} | undefined;
|
|
16
17
|
/** Persisted Profile storage funding of one action: the Profile, signer and
|
|
17
18
|
* first resized account that bind it to its instruction, and the planned
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-storage-funding-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/profile-storage-funding-guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"profile-storage-funding-guard.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/profile-storage-funding-guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAuB1E,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAE1B,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC;oEACoE;AACpE,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,mBAAmB,GACnB,uBAAuB,GACvB,cAAc,GACd,aAAa,GACb,cAAc,GACd,sBAAsB,GACtB,eAAe,GACf,eAAe,GACf,oBAAoB,GACpB,WAAW,GACX,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,8BAA8B,GAC9B,4BAA4B,CAAC;AA4DjC;+EAC+E;AAC/E,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,WAAW,GACvD;IACE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,GACD,SAAS,CAaZ;AAED;;uEAEuE;AACvE,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAC9C,gBAAgB,EAChB;IAAE,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAA;CAAE,CAC7C,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,WAe5C,CAAC;AAEF;;;kBAGkB;AAClB,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CA2BN"}
|
|
@@ -1,39 +1,78 @@
|
|
|
1
1
|
import { SageSdkError } from '../../client/errors.js';
|
|
2
|
-
import { APPLY_COMBAT_STIMULANT_DISCRIMINATOR, CANCEL_CRAFTING_PROCESS_DISCRIMINATOR, CANCEL_LOCAL_MARKET_ORDERS_DISCRIMINATOR, DEPOSIT_CARGO_TO_GAME_DISCRIMINATOR, RETRIEVE_LOOT_DISCRIMINATOR, START_CRAFTING_PROCESS_DISCRIMINATOR, START_MINING_ASTEROID_DISCRIMINATOR, START_SUBWARP_DISCRIMINATOR, STOP_MINING_ASTEROID_DISCRIMINATOR, STOP_SUBWARP_DISCRIMINATOR, TRADE_FACTION_MARKET_DISCRIMINATOR, TRANSFER_CARGO_TO_FLEET_DISCRIMINATOR, TRANSFER_CARGO_WITHIN_FLEET_DISCRIMINATOR, WARP_LANE_DISCRIMINATOR, WARP_TO_COORDINATE_DISCRIMINATOR, } from '../c4/discriminators.js';
|
|
2
|
+
import { APPLY_COMBAT_STIMULANT_DISCRIMINATOR, CANCEL_CRAFTING_PROCESS_DISCRIMINATOR, CANCEL_LOCAL_MARKET_ORDERS_DISCRIMINATOR, DEPOSIT_CARGO_TO_GAME_DISCRIMINATOR, PLACE_CLAIM_STAKE_BUILDINGS_DISCRIMINATOR, PLACE_CLAIM_STAKE_INSTANCE_WITH_HUB_DISCRIMINATOR, RECOVER_SIGNAL_DISCRIMINATOR, RETRIEVE_LOOT_DISCRIMINATOR, START_CLAIM_STAKES_FLEET_TRANSFER_DISCRIMINATOR, START_CRAFTING_PROCESS_DISCRIMINATOR, START_MINING_ASTEROID_DISCRIMINATOR, START_SUBWARP_DISCRIMINATOR, STOP_MINING_ASTEROID_DISCRIMINATOR, STOP_SUBWARP_DISCRIMINATOR, TRADE_FACTION_MARKET_DISCRIMINATOR, TRANSFER_CARGO_TO_FLEET_DISCRIMINATOR, TRANSFER_CARGO_WITHIN_FLEET_DISCRIMINATOR, WARP_LANE_DISCRIMINATOR, WARP_TO_COORDINATE_DISCRIMINATOR, } from '../c4/discriminators.js';
|
|
3
3
|
import { SAGE_PROGRAM_ADDRESS } from '../c4/runtime-bindings.js';
|
|
4
4
|
import { MAX_U64, } from './plan-fields.js';
|
|
5
5
|
/** Bytes one new cargo line (u16 cargo id, u64 amount) adds to a cargo pod. */
|
|
6
6
|
export const CARGO_LINE_BYTES = 10;
|
|
7
7
|
/** Each kind's discriminator, the instruction account index of the first
|
|
8
|
-
* account it resizes, which names the guard,
|
|
9
|
-
*
|
|
8
|
+
* account it resizes, which names the guard, whether it carries one, and the
|
|
9
|
+
* index of its signing key, with the Profile at the next account. A subwarp
|
|
10
10
|
* stop only returns the Fleet to Idle, which releases storage and refunds the
|
|
11
11
|
* Profile, so it has no guard; it is evaluated so later actions see the
|
|
12
12
|
* settled Fleet. */
|
|
13
13
|
const STORAGE_INSTRUCTIONS = [
|
|
14
|
-
['deposit', DEPOSIT_CARGO_TO_GAME_DISCRIMINATOR, 5, true],
|
|
15
|
-
['starbase-transfer', TRANSFER_CARGO_TO_FLEET_DISCRIMINATOR, 4, true],
|
|
16
|
-
[
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
['
|
|
24
|
-
['
|
|
25
|
-
['
|
|
26
|
-
[
|
|
27
|
-
|
|
28
|
-
|
|
14
|
+
['deposit', DEPOSIT_CARGO_TO_GAME_DISCRIMINATOR, 5, true, 0],
|
|
15
|
+
['starbase-transfer', TRANSFER_CARGO_TO_FLEET_DISCRIMINATOR, 4, true, 0],
|
|
16
|
+
[
|
|
17
|
+
'within-fleet-transfer',
|
|
18
|
+
TRANSFER_CARGO_WITHIN_FLEET_DISCRIMINATOR,
|
|
19
|
+
4,
|
|
20
|
+
true,
|
|
21
|
+
0,
|
|
22
|
+
],
|
|
23
|
+
['start-mining', START_MINING_ASTEROID_DISCRIMINATOR, 4, true, 0],
|
|
24
|
+
['stop-mining', STOP_MINING_ASTEROID_DISCRIMINATOR, 5, true, 0],
|
|
25
|
+
['stop-subwarp', STOP_SUBWARP_DISCRIMINATOR, 5, false, 0],
|
|
26
|
+
[
|
|
27
|
+
'cancel-market-orders',
|
|
28
|
+
CANCEL_LOCAL_MARKET_ORDERS_DISCRIMINATOR,
|
|
29
|
+
8,
|
|
30
|
+
true,
|
|
31
|
+
0,
|
|
32
|
+
],
|
|
33
|
+
['faction-trade', TRADE_FACTION_MARKET_DISCRIMINATOR, 8, true, 0],
|
|
34
|
+
['start-subwarp', START_SUBWARP_DISCRIMINATOR, 5, true, 0],
|
|
35
|
+
['warp-to-coordinate', WARP_TO_COORDINATE_DISCRIMINATOR, 5, true, 0],
|
|
36
|
+
['warp-lane', WARP_LANE_DISCRIMINATOR, 5, true, 0],
|
|
37
|
+
['start-crafting', START_CRAFTING_PROCESS_DISCRIMINATOR, 9, true, 0],
|
|
38
|
+
['cancel-crafting', CANCEL_CRAFTING_PROCESS_DISCRIMINATOR, 7, true, 0],
|
|
39
|
+
['apply-stimulant', APPLY_COMBAT_STIMULANT_DISCRIMINATOR, 4, true, 0],
|
|
40
|
+
['retrieve-loot', RETRIEVE_LOOT_DISCRIMINATOR, 4, true, 0],
|
|
41
|
+
['recover-signal', RECOVER_SIGNAL_DISCRIMINATOR, 5, true, 0],
|
|
42
|
+
[
|
|
43
|
+
'place-claim-stake',
|
|
44
|
+
PLACE_CLAIM_STAKE_INSTANCE_WITH_HUB_DISCRIMINATOR,
|
|
45
|
+
6,
|
|
46
|
+
true,
|
|
47
|
+
1,
|
|
48
|
+
],
|
|
49
|
+
[
|
|
50
|
+
'claim-stake-building-changes',
|
|
51
|
+
PLACE_CLAIM_STAKE_BUILDINGS_DISCRIMINATOR,
|
|
52
|
+
6,
|
|
53
|
+
true,
|
|
54
|
+
1,
|
|
55
|
+
],
|
|
56
|
+
[
|
|
57
|
+
'start-claim-stake-transfer',
|
|
58
|
+
START_CLAIM_STAKES_FLEET_TRANSFER_DISCRIMINATOR,
|
|
59
|
+
4,
|
|
60
|
+
true,
|
|
61
|
+
0,
|
|
62
|
+
],
|
|
29
63
|
];
|
|
30
64
|
/** Which Profile-funded instruction this is, if any, the index of the account
|
|
31
|
-
* its guard names,
|
|
65
|
+
* its guard names, whether it carries a guard, and its signing key's index. */
|
|
32
66
|
export function storageInstruction(instruction) {
|
|
33
67
|
if (instruction.programAddress !== SAGE_PROGRAM_ADDRESS)
|
|
34
68
|
return undefined;
|
|
35
69
|
const entry = STORAGE_INSTRUCTIONS.find(([, discriminator]) => discriminator.every((byte, index) => instruction.data?.[index] === byte));
|
|
36
|
-
return entry && {
|
|
70
|
+
return (entry && {
|
|
71
|
+
kind: entry[0],
|
|
72
|
+
primary: entry[2],
|
|
73
|
+
guarded: entry[3],
|
|
74
|
+
signer: entry[4],
|
|
75
|
+
});
|
|
37
76
|
}
|
|
38
77
|
export const PROFILE_STORAGE_FUNDING_SCHEMA = {
|
|
39
78
|
fields: [
|
|
@@ -62,8 +101,8 @@ export function validateProfileStorageFundingGuards(steps, guards) {
|
|
|
62
101
|
if (!known?.guarded)
|
|
63
102
|
continue;
|
|
64
103
|
const metas = instruction.accounts;
|
|
65
|
-
const index = remaining.findIndex((guard) => guard.authority === metas?.[
|
|
66
|
-
guard.profile === metas[1]?.address &&
|
|
104
|
+
const index = remaining.findIndex((guard) => guard.authority === metas?.[known.signer]?.address &&
|
|
105
|
+
guard.profile === metas[known.signer + 1]?.address &&
|
|
67
106
|
guard.address === metas[known.primary]?.address);
|
|
68
107
|
if (index < 0)
|
|
69
108
|
throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'An instruction that resizes Profile-funded storage has no matching Profile storage funding guard for its Profile, signer and account. Recreate the Plan with its planner.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-storage-funding-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/profile-storage-funding-guard.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EACL,oCAAoC,EACpC,qCAAqC,EACrC,wCAAwC,EACxC,mCAAmC,EACnC,2BAA2B,EAC3B,oCAAoC,EACpC,mCAAmC,EACnC,2BAA2B,EAC3B,kCAAkC,EAClC,0BAA0B,EAC1B,kCAAkC,EAClC,qCAAqC,EACrC,yCAAyC,EACzC,uBAAuB,EACvB,gCAAgC,GACjC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,OAAO,GAGR,MAAM,kBAAkB,CAAC;AAE1B,+EAA+E;AAC/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"profile-storage-funding-guard.js","sourceRoot":"","sources":["../../../src/internal/planning/profile-storage-funding-guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Address, Instruction } from '@solana/kit';
|
|
2
|
+
import type { RawAccount } from '../../client/contracts.js';
|
|
3
|
+
import { type StorageAction } from './storage-actions.js';
|
|
4
|
+
/** Reads a signal recovery's storage effect from its bytes and fresh accounts.
|
|
5
|
+
* The recovered cargo can open a hold line when the Fleet holds none of it; a
|
|
6
|
+
* full hold accepts nothing, so this bounds the debit from above. Only the
|
|
7
|
+
* Fleet is normalized. */
|
|
8
|
+
export declare function readScanStorageAction(instruction: Instruction, accounts: ReadonlyMap<Address, RawAccount | undefined>): StorageAction;
|
|
9
|
+
//# sourceMappingURL=scan-storage-actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scan-storage-actions.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/scan-storage-actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAM5D,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE3E;;;0BAG0B;AAC1B,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,GACrD,aAAa,CAkBf"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { fleetHoldLines } from '../c4/fleet-storage.js';
|
|
2
|
+
import { decodeRecoverSignalData, scanSignalCargoId, } from '../c4/scan-storage.js';
|
|
3
|
+
import { present, totals } from './storage-actions.js';
|
|
4
|
+
/** Reads a signal recovery's storage effect from its bytes and fresh accounts.
|
|
5
|
+
* The recovered cargo can open a hold line when the Fleet holds none of it; a
|
|
6
|
+
* full hold accepts nothing, so this bounds the debit from above. Only the
|
|
7
|
+
* Fleet is normalized. */
|
|
8
|
+
export function readScanStorageAction(instruction, accounts) {
|
|
9
|
+
const metas = instruction.accounts;
|
|
10
|
+
const fleet = present(accounts, metas[5].address);
|
|
11
|
+
return {
|
|
12
|
+
profile: metas[1].address,
|
|
13
|
+
authority: metas[0].address,
|
|
14
|
+
keyIndex: decodeRecoverSignalData(instruction.data),
|
|
15
|
+
settlement: 'each',
|
|
16
|
+
accounts: [
|
|
17
|
+
{
|
|
18
|
+
address: fleet.address,
|
|
19
|
+
held: fleetHoldLines(fleet),
|
|
20
|
+
added: totals([
|
|
21
|
+
[scanSignalCargoId(present(accounts, metas[9].address)), 1n],
|
|
22
|
+
]),
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=scan-storage-actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scan-storage-actions.js","sourceRoot":"","sources":["../../../src/internal/planning/scan-storage-actions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAsB,MAAM,sBAAsB,CAAC;AAE3E;;;0BAG0B;AAC1B,MAAM,UAAU,qBAAqB,CACnC,WAAwB,EACxB,QAAsD;IAEtD,MAAM,KAAK,GAAG,WAAW,CAAC,QAAS,CAAC;IACpC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO;QAC1B,SAAS,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO;QAC5B,QAAQ,EAAE,uBAAuB,CAAC,WAAW,CAAC,IAAK,CAAC;QACpD,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE;YACR;gBACE,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;gBAC3B,KAAK,EAAE,MAAM,CAAC;oBACZ,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC;iBAC9D,CAAC;aACH;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-action-readers.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/storage-action-readers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"storage-action-readers.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/storage-action-readers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAS5D,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAqD1D;sBACsB;AACtB,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,kBAAkB,EACxB,WAAW,EAAE,WAAW,GACvB,SAAS,OAAO,EAAE,CAIpB;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,EACtD,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,GAAG,SAAS,GACpD,aAAa,CAMf"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { readCargoStorageAction } from './cargo-storage-actions.js';
|
|
2
|
+
import { readClaimStakeStorageAction } from './claim-stake-storage-actions.js';
|
|
2
3
|
import { readCombatStorageAction } from './combat-storage-actions.js';
|
|
3
4
|
import { readCraftingStorageAction } from './crafting-storage-actions.js';
|
|
4
5
|
import { readMarketStorageAction } from './market-storage-actions.js';
|
|
5
6
|
import { readMiningStorageAction } from './mining-storage-actions.js';
|
|
6
7
|
import { readMovementStorageAction } from './movement-storage-actions.js';
|
|
8
|
+
import { readScanStorageAction } from './scan-storage-actions.js';
|
|
7
9
|
import { storageInstruction, } from './profile-storage-funding-guard.js';
|
|
8
10
|
// Execution reads stimulant stats from the Game, never from the caller.
|
|
9
11
|
const readCombat = (instruction, accounts) => readCombatStorageAction(instruction, accounts);
|
|
@@ -28,6 +30,19 @@ const READERS = {
|
|
|
28
30
|
'cancel-crafting': { accounts: [7, 8], read: readCraftingStorageAction },
|
|
29
31
|
'apply-stimulant': { accounts: [4, 5], read: readCombat },
|
|
30
32
|
'retrieve-loot': { accounts: [4], read: readCombat },
|
|
33
|
+
'recover-signal': { accounts: [5, 9], read: readScanStorageAction },
|
|
34
|
+
'place-claim-stake': {
|
|
35
|
+
accounts: [0, 9, 7],
|
|
36
|
+
read: readClaimStakeStorageAction,
|
|
37
|
+
},
|
|
38
|
+
'claim-stake-building-changes': {
|
|
39
|
+
accounts: [6],
|
|
40
|
+
read: readClaimStakeStorageAction,
|
|
41
|
+
},
|
|
42
|
+
'start-claim-stake-transfer': {
|
|
43
|
+
accounts: [4, 5],
|
|
44
|
+
read: readClaimStakeStorageAction,
|
|
45
|
+
},
|
|
31
46
|
};
|
|
32
47
|
/** Fresh accounts an instruction's storage reads, besides the Profile, Rent
|
|
33
48
|
* sysvar and Game. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-action-readers.js","sourceRoot":"","sources":["../../../src/internal/planning/storage-action-readers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EACL,kBAAkB,GAEnB,MAAM,oCAAoC,CAAC;AAS5C,wEAAwE;AACxE,MAAM,UAAU,GAAW,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,CACnD,uBAAuB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAEjD;oCACoC;AACpC,MAAM,OAAO,GAKT;IACF,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE;IAC5D,mBAAmB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE;IACvE,uBAAuB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE;IACxE,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE;IAChE,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE;IAC/D,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE;IAClE,eAAe,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACnE,oBAAoB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACxE,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE;IAC/D,sBAAsB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE;IAC3E,eAAe,EAAE;QACf,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvB,IAAI,EAAE,uBAAuB;KAC9B;IACD,gBAAgB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACvE,iBAAiB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACxE,iBAAiB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;IACzD,eAAe,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE;
|
|
1
|
+
{"version":3,"file":"storage-action-readers.js","sourceRoot":"","sources":["../../../src/internal/planning/storage-action-readers.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,9 @@ export type StorageAccount = {
|
|
|
20
20
|
/** The action creates the account, so it starts empty and unfunded. */
|
|
21
21
|
readonly created?: true;
|
|
22
22
|
readonly growthBytes?: number;
|
|
23
|
+
/** Bytes the program funds beyond the account's size, such as the growth a
|
|
24
|
+
* Claim Stake's rent floor reserves. */
|
|
25
|
+
readonly reservedBytes?: number;
|
|
23
26
|
readonly state?: StateChange;
|
|
24
27
|
} & ({
|
|
25
28
|
readonly held?: undefined;
|
|
@@ -55,6 +58,7 @@ export declare function evaluateStorage(actions: readonly StorageAction[], accou
|
|
|
55
58
|
/** The Profile-funded steps of a Plan, in order. */
|
|
56
59
|
export declare function storageSteps(steps: readonly PlanStep[]): readonly (PlanStep & {
|
|
57
60
|
readonly kind: StorageInstruction;
|
|
61
|
+
readonly signer: number;
|
|
58
62
|
})[];
|
|
59
63
|
/** One guard's rechecked funding, or the failure to report for it. */
|
|
60
64
|
export type StorageResult = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-actions.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/storage-actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAGL,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EACxB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,8BAA8B,CAAC;AAGtC,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAErD;;0EAE0E;AAC1E,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;2DAG2D;AAC3D,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,uEAAuE;IACvE,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;CAC9B,GAAG,CACA;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,GAC7B;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;CAC/B,CACJ,CAAC;AAEF;kFACkF;AAClF,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,KAAK,CAAC;AAE/C,gFAAgF;AAChF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,cAAc,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC;CACnE;AAED,4CAA4C;AAC5C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,IAAI,EAAE,UAAsB,CAAC;AAM1C,wBAAgB,MAAM,CACpB,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,EAAE,GAC1D,UAAU,CAMZ;AAED,wBAAgB,OAAO,CACrB,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,EACtD,OAAO,EAAE,OAAO,GACf,UAAU,CAQZ;AAED;;;;uDAIuD;AACvD,wBAAgB,eAAe,CAC7B,OAAO,EAAE,SAAS,aAAa,EAAE,EACjC,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,GACrD,SAAS,iBAAiB,EAAE,CAkE9B;AAED,oDAAoD;AACpD,wBAAgB,YAAY,
|
|
1
|
+
{"version":3,"file":"storage-actions.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/storage-actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,7 +74,7 @@ export function evaluateStorage(actions, accounts) {
|
|
|
74
74
|
// creates it and funds its rent.
|
|
75
75
|
if (current.lamports === 0n && !account.created)
|
|
76
76
|
continue;
|
|
77
|
-
const minimum = rent(current.length);
|
|
77
|
+
const minimum = rent(current.length + (account.reservedBytes ?? 0));
|
|
78
78
|
if (current.lamports < minimum)
|
|
79
79
|
deficit += minimum - current.lamports;
|
|
80
80
|
else
|
|
@@ -93,7 +93,7 @@ export function evaluateStorage(actions, accounts) {
|
|
|
93
93
|
export function storageSteps(steps) {
|
|
94
94
|
return steps.flatMap((step) => {
|
|
95
95
|
const known = storageInstruction(step.instruction);
|
|
96
|
-
return known ? [{ ...step, kind: known.kind }] : [];
|
|
96
|
+
return known ? [{ ...step, kind: known.kind, signer: known.signer }] : [];
|
|
97
97
|
});
|
|
98
98
|
}
|
|
99
99
|
/** Rechecks every Profile-funded action's storage before signing. Each
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-actions.js","sourceRoot":"","sources":["../../../src/internal/planning/storage-actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAkC,MAAM,aAAa,CAAC;AAG7E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,GAGnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAE3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"storage-actions.js","sourceRoot":"","sources":["../../../src/internal/planning/storage-actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -528,7 +528,7 @@ async function checkPreconditions(context, allPreconditions, steps, commitment)
|
|
|
528
528
|
const storageActionSteps = storageSteps(steps);
|
|
529
529
|
for (const step of storageActionSteps) {
|
|
530
530
|
for (const address of [
|
|
531
|
-
step.instruction.accounts[1].address,
|
|
531
|
+
step.instruction.accounts[step.signer + 1].address,
|
|
532
532
|
...storageActionAccounts(step.kind, step.instruction),
|
|
533
533
|
RENT_ADDRESS,
|
|
534
534
|
])
|