@aephia/atlas-kit 0.6.0-next.133 → 0.6.0-next.135
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/cargo/actions/deposit.d.ts +3 -0
- package/dist/cargo/actions/deposit.d.ts.map +1 -1
- package/dist/cargo/actions/deposit.js +39 -14
- package/dist/cargo/actions/deposit.js.map +1 -1
- package/dist/cargo/actions/index.d.ts +11 -5
- package/dist/cargo/actions/index.d.ts.map +1 -1
- package/dist/cargo/actions/index.js +73 -14
- package/dist/cargo/actions/index.js.map +1 -1
- package/dist/fleets/actions/add-ship.d.ts +12 -4
- package/dist/fleets/actions/add-ship.d.ts.map +1 -1
- package/dist/fleets/actions/add-ship.js +15 -7
- package/dist/fleets/actions/add-ship.js.map +1 -1
- package/dist/internal/c4/cargo-instructions.d.ts +24 -0
- package/dist/internal/c4/cargo-instructions.d.ts.map +1 -0
- package/dist/internal/c4/cargo-instructions.js +30 -0
- package/dist/internal/c4/cargo-instructions.js.map +1 -0
- package/dist/internal/c4/discriminators.d.ts +3 -0
- package/dist/internal/c4/discriminators.d.ts.map +1 -1
- package/dist/internal/c4/discriminators.js +7 -1
- package/dist/internal/c4/discriminators.js.map +1 -1
- package/dist/internal/c4/fleet-ship-assembly.d.ts +19 -3
- package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -1
- package/dist/internal/c4/fleet-ship-assembly.js +57 -7
- package/dist/internal/c4/fleet-ship-assembly.js.map +1 -1
- package/dist/internal/c4/fleet-storage.d.ts +36 -0
- package/dist/internal/c4/fleet-storage.d.ts.map +1 -0
- package/dist/internal/c4/fleet-storage.js +72 -0
- package/dist/internal/c4/fleet-storage.js.map +1 -0
- package/dist/internal/planning/cargo-storage-actions.d.ts +8 -0
- package/dist/internal/planning/cargo-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/cargo-storage-actions.js +97 -0
- package/dist/internal/planning/cargo-storage-actions.js.map +1 -0
- package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -1
- package/dist/internal/planning/fleet-ship-assembly.js +58 -29
- package/dist/internal/planning/fleet-ship-assembly.js.map +1 -1
- package/dist/internal/planning/mining-storage-actions.d.ts +11 -0
- package/dist/internal/planning/mining-storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/mining-storage-actions.js +66 -0
- package/dist/internal/planning/mining-storage-actions.js.map +1 -0
- package/dist/internal/planning/own-starbase-facts.d.ts +7 -3
- package/dist/internal/planning/own-starbase-facts.d.ts.map +1 -1
- package/dist/internal/planning/own-starbase-facts.js +8 -5
- package/dist/internal/planning/own-starbase-facts.js.map +1 -1
- package/dist/internal/planning/plan-guards.d.ts.map +1 -1
- package/dist/internal/planning/plan-guards.js +2 -0
- package/dist/internal/planning/plan-guards.js.map +1 -1
- package/dist/internal/planning/profile-storage-funding-guard.d.ts +28 -0
- package/dist/internal/planning/profile-storage-funding-guard.d.ts.map +1 -0
- package/dist/internal/planning/profile-storage-funding-guard.js +66 -0
- package/dist/internal/planning/profile-storage-funding-guard.js.map +1 -0
- package/dist/internal/planning/profile-storage-funding.d.ts +34 -0
- package/dist/internal/planning/profile-storage-funding.d.ts.map +1 -0
- package/dist/internal/planning/profile-storage-funding.js +50 -0
- package/dist/internal/planning/profile-storage-funding.js.map +1 -0
- package/dist/internal/planning/storage-action-readers.d.ts +10 -0
- package/dist/internal/planning/storage-action-readers.d.ts.map +1 -0
- package/dist/internal/planning/storage-action-readers.js +25 -0
- package/dist/internal/planning/storage-action-readers.js.map +1 -0
- package/dist/internal/planning/storage-actions.d.ts +81 -0
- package/dist/internal/planning/storage-actions.d.ts.map +1 -0
- package/dist/internal/planning/storage-actions.js +177 -0
- package/dist/internal/planning/storage-actions.js.map +1 -0
- package/dist/mining/actions/index.d.ts.map +1 -1
- package/dist/mining/actions/index.js +71 -25
- package/dist/mining/actions/index.js.map +1 -1
- package/dist/planning/execution.d.ts.map +1 -1
- package/dist/planning/execution.js +59 -6
- package/dist/planning/execution.js.map +1 -1
- package/dist/planning/index.d.ts +12 -1
- package/dist/planning/index.d.ts.map +1 -1
- package/dist/planning/index.js +2 -2
- package/dist/planning/index.js.map +1 -1
- package/dist/planning/plan-construction.js +1 -1
- package/dist/planning/plan-validation.d.ts.map +1 -1
- package/dist/planning/plan-validation.js +4 -0
- package/dist/planning/plan-validation.js.map +1 -1
- package/dist/registry/cargo.d.ts +2 -2
- package/dist/registry/cargo.d.ts.map +1 -1
- package/dist/registry/cargo.js +1 -2
- package/dist/registry/cargo.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { SageSdkError } from '../../client/errors.js';
|
|
2
|
+
import { profileAccountDefinition } from '../c4/identity.js';
|
|
3
|
+
import { PROFILE_SCOPE } from '../c4/profile-permissions.js';
|
|
4
|
+
import { directProfileKey, grantsPermission, hasPermissionBit, } from './profile-key.js';
|
|
5
|
+
import { readRent } from './rent.js';
|
|
6
|
+
// Profile drainSolVault permission bit, any scope.
|
|
7
|
+
const DRAIN_SOL_VAULT = 63n;
|
|
8
|
+
function fail(address, message) {
|
|
9
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', message, { address });
|
|
10
|
+
}
|
|
11
|
+
/** Checks that the signing key and the Profile can fund one action's storage
|
|
12
|
+
* debit. A zero debit withdraws nothing, so it needs neither `drainSolVault`
|
|
13
|
+
* nor Profile excess lamports. */
|
|
14
|
+
export function checkProfileStorageFunding(input) {
|
|
15
|
+
const { profileRaw, action, profileDebit } = input;
|
|
16
|
+
const rent = readRent(input.rentRaw);
|
|
17
|
+
if (input.maximumProfileDebit !== undefined &&
|
|
18
|
+
profileDebit > input.maximumProfileDebit)
|
|
19
|
+
fail(profileRaw.address, `The ${action} now needs ${profileDebit} Profile lamports for account storage, above the ${input.maximumProfileDebit} this Plan approved. An earlier action in the same Plan may use storage it was planned against: execute the actions as separate Plans, or refresh the accounts and replan, then review the storage funding before signing.`);
|
|
20
|
+
const profileReserve = rent(profileRaw.data.length);
|
|
21
|
+
const key = directProfileKey(profileAccountDefinition.decode(profileRaw).keys, input.keyIndex, input.authority);
|
|
22
|
+
if (profileDebit > 0n) {
|
|
23
|
+
if (key &&
|
|
24
|
+
!grantsPermission(key, PROFILE_SCOPE, 0n) &&
|
|
25
|
+
!hasPermissionBit(key, DRAIN_SOL_VAULT))
|
|
26
|
+
fail(profileRaw.address, `The ${action} needs ${profileDebit} Profile lamports for account storage, which the program withdraws from the Profile vault with the signing key; this key lacks drainSolVault. Use a direct Profile AUTH key or a key that also holds drainSolVault, then replan.`);
|
|
27
|
+
if (profileRaw.lamports < profileReserve + profileDebit)
|
|
28
|
+
fail(profileRaw.address, `The ${action} needs ${profileDebit} Profile lamports for account storage above the Profile's own ${profileReserve}-lamport rent reserve; the Profile holds ${profileRaw.lamports}. Add ${profileReserve + profileDebit - profileRaw.lamports} lamports to the Profile, then replan.`);
|
|
29
|
+
}
|
|
30
|
+
return { profileDebit, profileReserve, direct: key !== undefined };
|
|
31
|
+
}
|
|
32
|
+
/** Builds the guard and the summary sentence for one action's storage funding. */
|
|
33
|
+
export function profileStorageFundingGuard(input) {
|
|
34
|
+
const { profileDebit } = input.funding;
|
|
35
|
+
const disclosure = profileDebit > 0n
|
|
36
|
+
? `The program funds ${profileDebit} lamports of account storage from Profile ${input.profile}'s vault with the signing key (a locked rent deposit, separate from transaction fees).${input.funding.direct ? '' : ' The selected key is not a direct Profile key, so its drainSolVault permission is checked by the program, not locally.'}`
|
|
37
|
+
: `This action needs no Profile storage funding at the observed account sizes and balances.`;
|
|
38
|
+
return {
|
|
39
|
+
disclosure,
|
|
40
|
+
guard: {
|
|
41
|
+
kind: 'profile-storage-funding',
|
|
42
|
+
address: input.address,
|
|
43
|
+
profile: input.profile,
|
|
44
|
+
authority: input.authority,
|
|
45
|
+
maximumProfileDebit: profileDebit,
|
|
46
|
+
describes: `Account storage funding from the Profile vault stays at most ${profileDebit} lamports, and the signing key and Profile balance can fund it.`,
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=profile-storage-funding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-storage-funding.js","sourceRoot":"","sources":["../../../src/internal/planning/profile-storage-funding.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,mDAAmD;AACnD,MAAM,eAAe,GAAG,GAAG,CAAC;AAO5B,SAAS,IAAI,CAAC,OAAgB,EAAE,OAAe;IAC7C,MAAM,IAAI,YAAY,CAAC,4BAA4B,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED;;kCAEkC;AAClC,MAAM,UAAU,0BAA0B,CAAC,KAQ1C;IACC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,IACE,KAAK,CAAC,mBAAmB,KAAK,SAAS;QACvC,YAAY,GAAG,KAAK,CAAC,mBAAmB;QAExC,IAAI,CACF,UAAU,CAAC,OAAO,EAClB,OAAO,MAAM,cAAc,YAAY,oDAAoD,KAAK,CAAC,mBAAmB,4NAA4N,CACjV,CAAC;IACJ,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,gBAAgB,CAC1B,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,EAChD,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,SAAS,CAChB,CAAC;IACF,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;QACtB,IACE,GAAG;YACH,CAAC,gBAAgB,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,CAAC;YACzC,CAAC,gBAAgB,CAAC,GAAG,EAAE,eAAe,CAAC;YAEvC,IAAI,CACF,UAAU,CAAC,OAAO,EAClB,OAAO,MAAM,UAAU,YAAY,kOAAkO,CACtQ,CAAC;QACJ,IAAI,UAAU,CAAC,QAAQ,GAAG,cAAc,GAAG,YAAY;YACrD,IAAI,CACF,UAAU,CAAC,OAAO,EAClB,OAAO,MAAM,UAAU,YAAY,iEAAiE,cAAc,4CAA4C,UAAU,CAAC,QAAQ,SAAS,cAAc,GAAG,YAAY,GAAG,UAAU,CAAC,QAAQ,wCAAwC,CACtR,CAAC;IACN,CAAC;IACD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,KAAK,SAAS,EAAE,CAAC;AACrE,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,0BAA0B,CAAC,KAK1C;IAIC,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;IACvC,MAAM,UAAU,GACd,YAAY,GAAG,EAAE;QACf,CAAC,CAAC,qBAAqB,YAAY,6CAA6C,KAAK,CAAC,OAAO,yFAAyF,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wHAAwH,EAAE;QAC5U,CAAC,CAAC,0FAA0F,CAAC;IACjG,OAAO;QACL,UAAU;QACV,KAAK,EAAE;YACL,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,mBAAmB,EAAE,YAAY;YACjC,SAAS,EAAE,gEAAgE,YAAY,iEAAiE;SACzJ;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Address, Instruction } from '@solana/kit';
|
|
2
|
+
import type { RawAccount } from '../../client/contracts.js';
|
|
3
|
+
import { type StorageInstruction } from './profile-storage-funding-guard.js';
|
|
4
|
+
import type { StorageAction } from './storage-actions.js';
|
|
5
|
+
/** Fresh accounts an instruction's storage reads, besides the Profile, Rent
|
|
6
|
+
* sysvar and Game. */
|
|
7
|
+
export declare function storageActionAccounts(kind: StorageInstruction, instruction: Instruction): readonly Address[];
|
|
8
|
+
/** Reads any Profile-funded instruction's storage effect, for execution. */
|
|
9
|
+
export declare function readStorageAction(instruction: Instruction, accounts: ReadonlyMap<Address, RawAccount | undefined>, cargoIdForMint: (mint: Address) => number | undefined): StorageAction;
|
|
10
|
+
//# sourceMappingURL=storage-action-readers.d.ts.map
|
|
@@ -0,0 +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;AAG5D,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D;sBACsB;AACtB,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,kBAAkB,EACxB,WAAW,EAAE,WAAW,GACvB,SAAS,OAAO,EAAE,CAMpB;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,CAOf"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { readCargoStorageAction } from './cargo-storage-actions.js';
|
|
2
|
+
import { readMiningStorageAction } from './mining-storage-actions.js';
|
|
3
|
+
import { storageInstruction, } from './profile-storage-funding-guard.js';
|
|
4
|
+
/** Fresh accounts an instruction's storage reads, besides the Profile, Rent
|
|
5
|
+
* sysvar and Game. */
|
|
6
|
+
export function storageActionAccounts(kind, instruction) {
|
|
7
|
+
const at = (index) => instruction.accounts[index].address;
|
|
8
|
+
if (kind === 'deposit')
|
|
9
|
+
return [at(5), at(10)];
|
|
10
|
+
if (kind === 'starbase-transfer')
|
|
11
|
+
return [at(4), at(8)];
|
|
12
|
+
if (kind === 'stop-mining' || kind === 'stop-subwarp')
|
|
13
|
+
return [at(5)];
|
|
14
|
+
return [at(4)];
|
|
15
|
+
}
|
|
16
|
+
/** Reads any Profile-funded instruction's storage effect, for execution. */
|
|
17
|
+
export function readStorageAction(instruction, accounts, cargoIdForMint) {
|
|
18
|
+
const { kind } = storageInstruction(instruction);
|
|
19
|
+
return kind === 'start-mining' ||
|
|
20
|
+
kind === 'stop-mining' ||
|
|
21
|
+
kind === 'stop-subwarp'
|
|
22
|
+
? readMiningStorageAction(instruction, accounts)
|
|
23
|
+
: readCargoStorageAction(instruction, accounts, cargoIdForMint);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=storage-action-readers.js.map
|
|
@@ -0,0 +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,EACL,kBAAkB,GAEnB,MAAM,oCAAoC,CAAC;AAG5C;sBACsB;AACtB,MAAM,UAAU,qBAAqB,CACnC,IAAwB,EACxB,WAAwB;IAExB,MAAM,EAAE,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,WAAW,CAAC,QAAS,CAAC,KAAK,CAAE,CAAC,OAAO,CAAC;IACpE,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,IAAI,IAAI,KAAK,mBAAmB;QAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,cAAc;QAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,iBAAiB,CAC/B,WAAwB,EACxB,QAAsD,EACtD,cAAqD;IAErD,MAAM,EAAE,IAAI,EAAE,GAAG,kBAAkB,CAAC,WAAW,CAAE,CAAC;IAClD,OAAO,IAAI,KAAK,cAAc;QAC5B,IAAI,KAAK,aAAa;QACtB,IAAI,KAAK,cAAc;QACvB,CAAC,CAAC,uBAAuB,CAAC,WAAW,EAAE,QAAQ,CAAC;QAChD,CAAC,CAAC,sBAAsB,CAAC,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { type Address, type Instruction } from '@solana/kit';
|
|
2
|
+
import type { RawAccount } from '../../client/contracts.js';
|
|
3
|
+
import type { PlanStep } from '../../planning/index.js';
|
|
4
|
+
import { type ProfileStorageFundingGuard, type StorageInstruction } from './profile-storage-funding-guard.js';
|
|
5
|
+
import { type ProfileStorageFunding } from './profile-storage-funding.js';
|
|
6
|
+
export type CargoLines = ReadonlyMap<number, bigint>;
|
|
7
|
+
/** The encoded size of a Fleet's state in the fresh account and after the
|
|
8
|
+
* action. A Plan tracks each Fleet's state across its actions, so a change is
|
|
9
|
+
* measured from the state the earlier actions left, not the fresh one. */
|
|
10
|
+
export interface StateChange {
|
|
11
|
+
readonly fresh: number;
|
|
12
|
+
readonly after: number;
|
|
13
|
+
}
|
|
14
|
+
/** One account an action resizes: a Fleet state change, and, when it changes
|
|
15
|
+
* a cargo pod, the lines the fresh pod holds and those the action adds to and
|
|
16
|
+
* consumes from. */
|
|
17
|
+
export type StorageAccount = {
|
|
18
|
+
readonly address: Address;
|
|
19
|
+
readonly state?: StateChange;
|
|
20
|
+
} & ({
|
|
21
|
+
readonly held?: undefined;
|
|
22
|
+
} | {
|
|
23
|
+
readonly held: CargoLines;
|
|
24
|
+
readonly added: CargoLines;
|
|
25
|
+
readonly removed?: CargoLines;
|
|
26
|
+
});
|
|
27
|
+
/** How the program settles the resized accounts: each normalized on its own,
|
|
28
|
+
* or one net shortfall across them, where one account's surplus funds another. */
|
|
29
|
+
export type StorageSettlement = 'each' | 'net';
|
|
30
|
+
/** What one instruction does to Profile-funded storage, read from its bytes. */
|
|
31
|
+
export interface StorageAction {
|
|
32
|
+
readonly profile: Address;
|
|
33
|
+
readonly authority: Address;
|
|
34
|
+
readonly keyIndex: number;
|
|
35
|
+
readonly settlement: StorageSettlement;
|
|
36
|
+
readonly accounts: readonly [StorageAccount, ...StorageAccount[]];
|
|
37
|
+
}
|
|
38
|
+
/** One evaluated action's Profile debit. */
|
|
39
|
+
export interface StorageEvaluation {
|
|
40
|
+
readonly profileDebit: bigint;
|
|
41
|
+
}
|
|
42
|
+
export declare const NONE: CargoLines;
|
|
43
|
+
export declare function totals(entries: readonly (readonly [number, bigint | undefined])[]): CargoLines;
|
|
44
|
+
export declare function present(accounts: ReadonlyMap<Address, RawAccount | undefined>, address: Address): RawAccount;
|
|
45
|
+
/** Evaluates actions in order, as the program runs them: each resized account
|
|
46
|
+
* changes by its state change plus a line per cargo id a pod gains and minus a
|
|
47
|
+
* line its consumption empties, and after each action every resized account
|
|
48
|
+
* holds exactly the rent minimum of its new size. Later actions therefore see
|
|
49
|
+
* the state, storage and surplus earlier ones left. */
|
|
50
|
+
export declare function evaluateStorage(actions: readonly StorageAction[], accounts: ReadonlyMap<Address, RawAccount | undefined>): readonly StorageEvaluation[];
|
|
51
|
+
/** The Profile-funded steps of a Plan, in order. */
|
|
52
|
+
export declare function storageSteps(steps: readonly PlanStep[]): readonly (PlanStep & {
|
|
53
|
+
readonly kind: StorageInstruction;
|
|
54
|
+
})[];
|
|
55
|
+
/** One guard's rechecked funding, or the failure to report for it. */
|
|
56
|
+
export type StorageResult = {
|
|
57
|
+
readonly funding: ProfileStorageFunding;
|
|
58
|
+
} | {
|
|
59
|
+
readonly error: unknown;
|
|
60
|
+
};
|
|
61
|
+
/** Rechecks every Profile-funded action's storage before signing. Each
|
|
62
|
+
* action's effect is rederived from its instruction bytes and the fresh
|
|
63
|
+
* accounts, never taken from its guard, and the actions are evaluated in order
|
|
64
|
+
* so each meets the state, storage and surplus the earlier ones left. Each
|
|
65
|
+
* debit must stay within its guard's ceiling and pass the key and balance
|
|
66
|
+
* checks. A Fleet whose state an earlier, unevaluated action writes is refused,
|
|
67
|
+
* since its state change could not be measured. */
|
|
68
|
+
export declare function validateStorageFunding(steps: readonly PlanStep[], guards: readonly ProfileStorageFundingGuard[], accounts: ReadonlyMap<Address, RawAccount | undefined>, readAction: (instruction: Instruction) => StorageAction): ReadonlyMap<ProfileStorageFundingGuard, StorageResult>;
|
|
69
|
+
/** Plans one action's storage funding from the same derivation execution
|
|
70
|
+
* repeats: its guard and the Plan summary sentence. */
|
|
71
|
+
export declare function planStorageFunding(input: {
|
|
72
|
+
readonly action: StorageAction;
|
|
73
|
+
readonly accounts: ReadonlyMap<Address, RawAccount | undefined>;
|
|
74
|
+
readonly label: string;
|
|
75
|
+
/** Actions the Plan is meant to run first, such as a subwarp settlement. */
|
|
76
|
+
readonly preceding?: readonly StorageAction[];
|
|
77
|
+
}): {
|
|
78
|
+
readonly guard: ProfileStorageFundingGuard;
|
|
79
|
+
readonly disclosure: string;
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=storage-actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-actions.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/storage-actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { isWritableRole } from '@solana/kit';
|
|
2
|
+
import { SageSdkError } from '../../client/errors.js';
|
|
3
|
+
import { CARGO_LINE_BYTES, storageInstruction, } from './profile-storage-funding-guard.js';
|
|
4
|
+
import { checkProfileStorageFunding, profileStorageFundingGuard, } from './profile-storage-funding.js';
|
|
5
|
+
import { RENT_ADDRESS, readRent } from './rent.js';
|
|
6
|
+
export const NONE = new Map();
|
|
7
|
+
function fail(address, message) {
|
|
8
|
+
throw new SageSdkError('ACTION_PRECONDITION_FAILED', message, { address });
|
|
9
|
+
}
|
|
10
|
+
export function totals(entries) {
|
|
11
|
+
const sums = new Map();
|
|
12
|
+
for (const [cargoId, amount] of entries)
|
|
13
|
+
if (amount !== undefined && amount > 0n)
|
|
14
|
+
sums.set(cargoId, (sums.get(cargoId) ?? 0n) + amount);
|
|
15
|
+
return sums;
|
|
16
|
+
}
|
|
17
|
+
export function present(accounts, address) {
|
|
18
|
+
const raw = accounts.get(address);
|
|
19
|
+
if (!raw || raw.executable)
|
|
20
|
+
fail(address, `Account ${address} is missing or executable, so the action's storage funding cannot be checked. Refresh it and replan the action.`);
|
|
21
|
+
return raw;
|
|
22
|
+
}
|
|
23
|
+
/** Evaluates actions in order, as the program runs them: each resized account
|
|
24
|
+
* changes by its state change plus a line per cargo id a pod gains and minus a
|
|
25
|
+
* line its consumption empties, and after each action every resized account
|
|
26
|
+
* holds exactly the rent minimum of its new size. Later actions therefore see
|
|
27
|
+
* the state, storage and surplus earlier ones left. */
|
|
28
|
+
export function evaluateStorage(actions, accounts) {
|
|
29
|
+
const rent = readRent(present(accounts, RENT_ADDRESS));
|
|
30
|
+
const state = new Map();
|
|
31
|
+
return actions.map((action) => {
|
|
32
|
+
let deficit = 0n;
|
|
33
|
+
let excess = 0n;
|
|
34
|
+
for (const account of action.accounts) {
|
|
35
|
+
let current = state.get(account.address);
|
|
36
|
+
if (!current) {
|
|
37
|
+
const raw = present(accounts, account.address);
|
|
38
|
+
current = { lamports: raw.lamports, length: raw.data.length };
|
|
39
|
+
state.set(account.address, current);
|
|
40
|
+
}
|
|
41
|
+
if (account.state) {
|
|
42
|
+
current.length +=
|
|
43
|
+
account.state.after - (current.state ?? account.state.fresh);
|
|
44
|
+
current.state = account.state.after;
|
|
45
|
+
}
|
|
46
|
+
let lines = 0;
|
|
47
|
+
if (account.held !== undefined) {
|
|
48
|
+
current.lines ??= new Map(account.held);
|
|
49
|
+
const { added } = account;
|
|
50
|
+
const removed = account.removed ?? NONE;
|
|
51
|
+
for (const cargoId of new Set([...added.keys(), ...removed.keys()])) {
|
|
52
|
+
const held = current.lines.get(cargoId);
|
|
53
|
+
const after = (held ?? 0n) +
|
|
54
|
+
(added.get(cargoId) ?? 0n) -
|
|
55
|
+
(removed.get(cargoId) ?? 0n);
|
|
56
|
+
if (held === undefined && after > 0n)
|
|
57
|
+
lines += 1;
|
|
58
|
+
else if (held !== undefined && after <= 0n)
|
|
59
|
+
lines -= 1;
|
|
60
|
+
// Only consumption can empty a line; an added line stays positive.
|
|
61
|
+
if (after > 0n)
|
|
62
|
+
current.lines.set(cargoId, after);
|
|
63
|
+
else
|
|
64
|
+
current.lines.delete(cargoId);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
current.length += lines * CARGO_LINE_BYTES;
|
|
68
|
+
// The program leaves a zero-lamport account unchanged.
|
|
69
|
+
if (current.lamports === 0n)
|
|
70
|
+
continue;
|
|
71
|
+
const minimum = rent(current.length);
|
|
72
|
+
if (current.lamports < minimum)
|
|
73
|
+
deficit += minimum - current.lamports;
|
|
74
|
+
else
|
|
75
|
+
excess += current.lamports - minimum;
|
|
76
|
+
current.lamports = minimum;
|
|
77
|
+
}
|
|
78
|
+
const profileDebit = action.settlement === 'each'
|
|
79
|
+
? deficit
|
|
80
|
+
: deficit > excess
|
|
81
|
+
? deficit - excess
|
|
82
|
+
: 0n;
|
|
83
|
+
return { profileDebit };
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
/** The Profile-funded steps of a Plan, in order. */
|
|
87
|
+
export function storageSteps(steps) {
|
|
88
|
+
return steps.flatMap((step) => {
|
|
89
|
+
const known = storageInstruction(step.instruction);
|
|
90
|
+
return known ? [{ ...step, kind: known.kind }] : [];
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
/** Rechecks every Profile-funded action's storage before signing. Each
|
|
94
|
+
* action's effect is rederived from its instruction bytes and the fresh
|
|
95
|
+
* accounts, never taken from its guard, and the actions are evaluated in order
|
|
96
|
+
* so each meets the state, storage and surplus the earlier ones left. Each
|
|
97
|
+
* debit must stay within its guard's ceiling and pass the key and balance
|
|
98
|
+
* checks. A Fleet whose state an earlier, unevaluated action writes is refused,
|
|
99
|
+
* since its state change could not be measured. */
|
|
100
|
+
export function validateStorageFunding(steps, guards, accounts, readAction) {
|
|
101
|
+
const results = new Map();
|
|
102
|
+
const remaining = [...guards];
|
|
103
|
+
const unevaluated = new Set();
|
|
104
|
+
const bound = [];
|
|
105
|
+
for (const { instruction } of steps) {
|
|
106
|
+
const known = storageInstruction(instruction);
|
|
107
|
+
if (!known) {
|
|
108
|
+
for (const meta of instruction.accounts ?? [])
|
|
109
|
+
if (isWritableRole(meta.role))
|
|
110
|
+
unevaluated.add(meta.address);
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
const action = readAction(instruction);
|
|
114
|
+
for (const account of action.accounts)
|
|
115
|
+
if (account.state && unevaluated.has(account.address))
|
|
116
|
+
fail(account.address, `An earlier action in this Plan changes Fleet ${account.address} before an action whose storage depends on the Fleet's state, so that storage cannot be bounded. Execute the earlier action as its own Plan, refresh the Fleet and replan.`);
|
|
117
|
+
if (!known.guarded) {
|
|
118
|
+
bound.push({ guard: undefined, action });
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
// Plan validation already bound each guarded instruction to exactly one
|
|
122
|
+
// guard.
|
|
123
|
+
const index = remaining.findIndex((guard) => guard.profile === action.profile &&
|
|
124
|
+
guard.authority === action.authority &&
|
|
125
|
+
guard.address === action.accounts[0].address);
|
|
126
|
+
const [guard] = remaining.splice(index, 1);
|
|
127
|
+
bound.push({ guard: guard, action });
|
|
128
|
+
}
|
|
129
|
+
const ordered = evaluateStorage(bound.map(({ action }) => action), accounts);
|
|
130
|
+
bound.forEach(({ guard, action }, index) => {
|
|
131
|
+
const { profileDebit } = ordered[index];
|
|
132
|
+
if (!guard) {
|
|
133
|
+
// A subwarp stop only shrinks a rent-exact Fleet. Anything else
|
|
134
|
+
// would be a draw no guard bounds.
|
|
135
|
+
if (profileDebit > 0n)
|
|
136
|
+
fail(action.accounts[0].address, `Stopping Fleet ${action.accounts[0].address}'s subwarp now needs ${profileDebit} Profile lamports for storage, which this Plan does not bound. Settle the subwarp as its own Plan, refresh the Fleet and replan.`);
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
try {
|
|
140
|
+
results.set(guard, {
|
|
141
|
+
funding: checkProfileStorageFunding({
|
|
142
|
+
profileRaw: present(accounts, guard.profile),
|
|
143
|
+
rentRaw: present(accounts, RENT_ADDRESS),
|
|
144
|
+
authority: action.authority,
|
|
145
|
+
keyIndex: action.keyIndex,
|
|
146
|
+
profileDebit,
|
|
147
|
+
action: 'action',
|
|
148
|
+
maximumProfileDebit: guard.maximumProfileDebit,
|
|
149
|
+
}),
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
catch (error) {
|
|
153
|
+
results.set(guard, { error });
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
return results;
|
|
157
|
+
}
|
|
158
|
+
/** Plans one action's storage funding from the same derivation execution
|
|
159
|
+
* repeats: its guard and the Plan summary sentence. */
|
|
160
|
+
export function planStorageFunding(input) {
|
|
161
|
+
const { action } = input;
|
|
162
|
+
const evaluated = evaluateStorage([...(input.preceding ?? []), action], input.accounts).at(-1);
|
|
163
|
+
return profileStorageFundingGuard({
|
|
164
|
+
address: action.accounts[0].address,
|
|
165
|
+
profile: action.profile,
|
|
166
|
+
authority: action.authority,
|
|
167
|
+
funding: checkProfileStorageFunding({
|
|
168
|
+
profileRaw: present(input.accounts, action.profile),
|
|
169
|
+
rentRaw: present(input.accounts, RENT_ADDRESS),
|
|
170
|
+
authority: action.authority,
|
|
171
|
+
keyIndex: action.keyIndex,
|
|
172
|
+
profileDebit: evaluated.profileDebit,
|
|
173
|
+
action: input.label,
|
|
174
|
+
}),
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=storage-actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-actions.js","sourceRoot":"","sources":["../../../src/internal/planning/storage-actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mining/actions/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,OAAO,EAEP,WAAW,EACZ,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAuBtD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAOxE,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mining/actions/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,OAAO,EAEP,WAAW,EACZ,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAuBtD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAOxE,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAQpD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE3D,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC,UAAU,aAAc,SAAQ,IAAI,CAAC,wBAAwB,EAAE,cAAc,CAAC;IAC5E,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,IAAI,OAAO,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;IAC3C,wFAAwF;IACxF,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AA+DD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CA2Nf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;CAC3C;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CAkJf"}
|
|
@@ -12,6 +12,9 @@ import { deriveFleetCrewBindingAddress, fleetCrewBindingAccountDefinition, match
|
|
|
12
12
|
import { requireGameAddress } from '../../internal/game-context.js';
|
|
13
13
|
import { adaptStartMiningAsteroidInstruction, adaptStopMiningAsteroidInstruction, validatePlanAuthorization, } from '../../internal/planning/authorization-adapter.js';
|
|
14
14
|
import { buildPlannerPlan } from '../../planning/plan-construction.js';
|
|
15
|
+
import { planStorageFunding } from '../../internal/planning/storage-actions.js';
|
|
16
|
+
import { readMiningStorageAction, subwarpSettlementAction, } from '../../internal/planning/mining-storage-actions.js';
|
|
17
|
+
import { RENT_ADDRESS } from '../../internal/planning/rent.js';
|
|
15
18
|
function fail(address, message) {
|
|
16
19
|
throw new SageSdkError('ACTION_PRECONDITION_FAILED', message, { address });
|
|
17
20
|
}
|
|
@@ -99,6 +102,8 @@ export async function planFleetStartMining(ctx, fleet, options) {
|
|
|
99
102
|
asteroid.system.address,
|
|
100
103
|
character,
|
|
101
104
|
regionTracker,
|
|
105
|
+
authorization.profile,
|
|
106
|
+
RENT_ADDRESS,
|
|
102
107
|
];
|
|
103
108
|
const values = await readContextRawAccounts(ctx, addresses);
|
|
104
109
|
const labels = [
|
|
@@ -107,9 +112,11 @@ export async function planFleetStartMining(ctx, fleet, options) {
|
|
|
107
112
|
'Star System',
|
|
108
113
|
'Character',
|
|
109
114
|
'RegionTracker',
|
|
115
|
+
'Profile',
|
|
116
|
+
'Rent sysvar',
|
|
110
117
|
];
|
|
111
118
|
const accounts = addresses.map((address, index) => required(values[index], address, labels[index]));
|
|
112
|
-
const [fleetAccount, asteroidAccount, systemAccount, characterAccount, trackerAccount,] = accounts;
|
|
119
|
+
const [fleetAccount, asteroidAccount, systemAccount, characterAccount, trackerAccount, profileAccount, rentAccount,] = accounts;
|
|
113
120
|
const current = fleetAccountDefinition.decode(fleetAccount);
|
|
114
121
|
const currentCoordinate = current.state.kind === 'idle'
|
|
115
122
|
? current.location
|
|
@@ -174,26 +181,47 @@ export async function planFleetStartMining(ctx, fleet, options) {
|
|
|
174
181
|
: fleet.state.kind === 'warp'
|
|
175
182
|
? ' Completed warp can refresh directly into mining; an unfinished warp still rejects.'
|
|
176
183
|
: '';
|
|
184
|
+
const instruction = adaptStartMiningAsteroidInstruction({
|
|
185
|
+
authorization,
|
|
186
|
+
fleet: fleet.address,
|
|
187
|
+
character,
|
|
188
|
+
starSystem: systemAccount.address,
|
|
189
|
+
regionTracker,
|
|
190
|
+
asteroid: asteroid.address,
|
|
191
|
+
game,
|
|
192
|
+
resources: resourceIds,
|
|
193
|
+
});
|
|
194
|
+
// Mining state grows the Fleet; the program funds that storage from the
|
|
195
|
+
// Profile vault with the signing key.
|
|
196
|
+
const storage = (() => {
|
|
197
|
+
const accounts = new Map([
|
|
198
|
+
[fleet.address, fleetAccount],
|
|
199
|
+
[authorization.profile, profileAccount],
|
|
200
|
+
[RENT_ADDRESS, rentAccount],
|
|
201
|
+
]);
|
|
202
|
+
const action = readMiningStorageAction(instruction, accounts);
|
|
203
|
+
return planStorageFunding({
|
|
204
|
+
action,
|
|
205
|
+
accounts,
|
|
206
|
+
label: 'mining start',
|
|
207
|
+
// A subwarp-arrived Fleet is settled first, which returns it to Idle
|
|
208
|
+
// at its rent minimum before the mining state grows it.
|
|
209
|
+
preceding: fleet.state.kind === 'subwarp'
|
|
210
|
+
? [subwarpSettlementAction(action, fleetAccount)]
|
|
211
|
+
: [],
|
|
212
|
+
});
|
|
213
|
+
})();
|
|
177
214
|
return buildPlannerPlan({
|
|
178
215
|
kind: 'fleet.start-mining',
|
|
179
|
-
summary: describes
|
|
216
|
+
summary: `${describes} ${storage.disclosure}`,
|
|
180
217
|
steps: [
|
|
181
218
|
{
|
|
182
219
|
describes: `${describes}${settlementWarning} Simulate before execution; arrival, permissions, range, fuel, and mining eligibility remain chain-authoritative.`,
|
|
183
220
|
signers: [authorization.authority],
|
|
184
|
-
instruction
|
|
185
|
-
authorization,
|
|
186
|
-
fleet: fleet.address,
|
|
187
|
-
character,
|
|
188
|
-
starSystem: systemAccount.address,
|
|
189
|
-
regionTracker,
|
|
190
|
-
asteroid: asteroid.address,
|
|
191
|
-
game,
|
|
192
|
-
resources: resourceIds,
|
|
193
|
-
}),
|
|
221
|
+
instruction,
|
|
194
222
|
},
|
|
195
223
|
],
|
|
196
|
-
preconditions: [],
|
|
224
|
+
preconditions: [storage.guard],
|
|
197
225
|
});
|
|
198
226
|
}
|
|
199
227
|
/** Plans one inert stop-mining instruction using the Asteroid in Fleet state.
|
|
@@ -249,10 +277,12 @@ export async function planFleetStopMining(ctx, fleet, options) {
|
|
|
249
277
|
deriveFleetCrewBindingAddress(fleet.address),
|
|
250
278
|
deriveRegionTrackerAddress(game),
|
|
251
279
|
]);
|
|
252
|
-
const [currentFleet, crewAccount, regionAccount] = await readContextRawAccounts(ctx, [
|
|
280
|
+
const [currentFleet, crewAccount, regionAccount, profileAccount, rentAccount,] = await readContextRawAccounts(ctx, [
|
|
253
281
|
intent.address,
|
|
254
282
|
crewBinding,
|
|
255
283
|
regionTracker,
|
|
284
|
+
authorization.profile,
|
|
285
|
+
RENT_ADDRESS,
|
|
256
286
|
]);
|
|
257
287
|
let matches = false;
|
|
258
288
|
try {
|
|
@@ -281,26 +311,42 @@ export async function planFleetStopMining(ctx, fleet, options) {
|
|
|
281
311
|
character,
|
|
282
312
|
profile: options.authorization.profile,
|
|
283
313
|
});
|
|
314
|
+
const instruction = adaptStopMiningAsteroidInstruction({
|
|
315
|
+
...xp.accounts,
|
|
316
|
+
authorization,
|
|
317
|
+
character,
|
|
318
|
+
fleet: intent.address,
|
|
319
|
+
game,
|
|
320
|
+
asteroid,
|
|
321
|
+
...(crewAccount === undefined ? {} : { crewBinding }),
|
|
322
|
+
...(regionAccount === undefined ? {} : { regionTracker }),
|
|
323
|
+
});
|
|
324
|
+
// Leaving mining shrinks the Fleet, but each mined resource can land a new
|
|
325
|
+
// cargo-hold line; the program funds any net growth from the Profile vault.
|
|
326
|
+
const storage = (() => {
|
|
327
|
+
const accounts = new Map([
|
|
328
|
+
[intent.address, currentFleet],
|
|
329
|
+
[authorization.profile, profileAccount],
|
|
330
|
+
[RENT_ADDRESS, rentAccount],
|
|
331
|
+
]);
|
|
332
|
+
return planStorageFunding({
|
|
333
|
+
action: readMiningStorageAction(instruction, accounts),
|
|
334
|
+
accounts,
|
|
335
|
+
label: 'mining stop',
|
|
336
|
+
});
|
|
337
|
+
})();
|
|
284
338
|
return buildPlannerPlan({
|
|
285
339
|
kind: 'fleet.stop-mining',
|
|
286
|
-
summary: `Stop mining for Fleet ${fleet.name}
|
|
340
|
+
summary: `Stop mining for Fleet ${fleet.name}. ${storage.disclosure}`,
|
|
287
341
|
steps: [
|
|
288
342
|
{
|
|
289
343
|
describes: `Stop mining for Fleet ${fleet.name} at Asteroid ${asteroid}, returning it to idle. Fresh mining state is checked before signing; exit fuel can still be consumed, including if the Fleet becomes idle in the read-to-chain race. Simulate before execution; permission and mining results remain chain-authoritative.`,
|
|
290
344
|
signers: [authorization.authority],
|
|
291
|
-
instruction
|
|
292
|
-
...xp.accounts,
|
|
293
|
-
authorization,
|
|
294
|
-
character,
|
|
295
|
-
fleet: intent.address,
|
|
296
|
-
game,
|
|
297
|
-
asteroid,
|
|
298
|
-
...(crewAccount === undefined ? {} : { crewBinding }),
|
|
299
|
-
...(regionAccount === undefined ? {} : { regionTracker }),
|
|
300
|
-
}),
|
|
345
|
+
instruction,
|
|
301
346
|
},
|
|
302
347
|
],
|
|
303
348
|
preconditions: [
|
|
349
|
+
storage.guard,
|
|
304
350
|
{
|
|
305
351
|
kind: 'xp-runtime',
|
|
306
352
|
address: game,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mining/actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAMjF,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,EACL,eAAe,EACf,oBAAoB,GACrB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,EAC1B,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,6BAA6B,EAC7B,iCAAiC,EACjC,+BAA+B,GAChC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EACL,mCAAmC,EACnC,kCAAkC,EAClC,yBAAyB,GAE1B,MAAM,kDAAkD,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AA2BvE,SAAS,IAAI,CAAC,OAAgB,EAAE,OAAe;IAC7C,MAAM,IAAI,YAAY,CAAC,4BAA4B,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc,EAAE,KAAa;IAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,uBAAuB,CAC/B,KAAK,EACL,KAAK,EACL,yEAAyE,EACzE,UAAU,KAAK,4DAA4D,CAC5E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,GAAsB,EACtB,SAA4B;IAE5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,uBAAuB,CAC/B,aAAa,EACb,GAAG,EACH,uDAAuD,EACvD,kFAAkF,CACnF,CAAC;IACJ,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;QACnB,IACE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;YACtB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACrB,EAAE,GAAG,CAAC;YACN,EAAE,GAAG,KAAK;YACV,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAE,IAAI,EAAE,CAAC;YAC5B,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,EACvB,CAAC;YACD,MAAM,IAAI,uBAAuB,CAC/B,aAAa,EACb,GAAG,EACH,0DAA0D,EAC1D,2IAA2I,CAC5I,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CACf,OAA+B,EAC/B,OAAgB,EAChB,KAAa;IAEb,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,IAAI,CACT,OAAO,EACP,GAAG,KAAK,+HAA+H,CACxI,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,GAAgB,EAChB,KAAoB,EACpB,OAAoC;IAEpC,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACrC,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1C,qBAAqB,CAAC,OAAO,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAC9D,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7B,MAAM,aAAa,GAAsB;QACvC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO;QACtC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,SAAS;QAC1C,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ;QACxC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,KAAK,SAAS;YACjD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;KACxD,CAAC;IACF,yBAAyB,CAAC,aAAa,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,uBAAuB,CACxC,KAAK,EACL,cAAc,EACd,8EAA8E,CAC/E,CAAC;IACF,IACE,KAAK,CAAC,IAAI,KAAK,IAAI;QACnB,QAAQ,CAAC,IAAI,KAAK,IAAI;QACtB,KAAK,CAAC,YAAY,CAAC,OAAO,KAAK,aAAa,CAAC,OAAO,EACpD,CAAC;QACD,IAAI,CACF,KAAK,CAAC,OAAO,EACb,SAAS,KAAK,CAAC,IAAI,iBAAiB,QAAQ,CAAC,IAAI,mCAAmC,IAAI,qDAAqD,aAAa,CAAC,OAAO,mFAAmF,CACtP,CAAC;IACJ,CAAC;IACD,iBAAiB,CACf,OAAO,CAAC,WAAW,EACnB,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAC1C,CAAC;IACF,iFAAiF;IACjF,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,MAAM,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG;QAChB,KAAK,CAAC,OAAO;QACb,QAAQ,CAAC,OAAO;QAChB,QAAQ,CAAC,MAAM,CAAC,OAAO;QACvB,SAAS;QACT,aAAa;KACL,CAAC;IACX,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG;QACb,OAAO;QACP,UAAU;QACV,aAAa;QACb,WAAW;QACX,eAAe;KAChB,CAAC;IACF,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAChD,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAE,CAAC,CACjD,CAAC;IACF,MAAM,CACJ,YAAY,EACZ,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,cAAc,EACf,GAAG,QAAwE,CAAC;IAC7E,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5D,MAAM,iBAAiB,GACrB,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM;QAC3B,CAAC,CAAC,OAAO,CAAC,QAAQ;QAClB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;YACjE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAClB,CAAC,CAAC,SAAS,CAAC;IAClB,IACE,OAAO,CAAC,IAAI,KAAK,IAAI;QACrB,OAAO,CAAC,YAAY,KAAK,aAAa,CAAC,OAAO;QAC9C,CAAC,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO;QACrD,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI;YACtC,CAAC,CACC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM;gBAC7B,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAChE,CAAC;QACJ,iBAAiB,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC;QACrC,iBAAiB,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EACrC,CAAC;QACD,IAAI,CACF,KAAK,CAAC,OAAO,EACb,SAAS,KAAK,CAAC,IAAI,uJAAuJ,CAC3K,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,8BAA8B,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACvE,IACE,OAAO,CAAC,IAAI,KAAK,UAAU;QAC3B,OAAO,CAAC,IAAI,KAAK,IAAI;QACrB,OAAO,CAAC,EAAE,KAAK,QAAQ,CAAC,MAAM;QAC9B,CAAC,MAAM,0BAA0B,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO;QACzE,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAC,OAAO,EAC1C,CAAC;QACD,IAAI,CACF,QAAQ,CAAC,OAAO,EAChB,YAAY,QAAQ,CAAC,IAAI,oLAAoL,CAC9M,CAAC;IACJ,CAAC;IACD,iBAAiB,CACf,WAAW,EACX,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAChD,CAAC;IACF,MAAM,MAAM,GAAG,2BAA2B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACjE,IACE,MAAM,CAAC,IAAI,KAAK,IAAI;QACpB,CAAC,MAAM,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpD,aAAa,CAAC,OAAO,EACvB,CAAC;QACD,IAAI,CACF,aAAa,CAAC,OAAO,EACrB,wIAAwI,CACzI,CAAC;IACJ,CAAC;IACD,uEAAuE;IACvE,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,eAAe,GACnB,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU;QACpC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;QAC/B,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,aAAa;YACzC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;YACvC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;IAC5B,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACtE,IACE,eAAe,CAAC,CAAC,CAAE,CAAC,GAAG,KAAK,WAAW,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,GAAG;QAC3D,eAAe,CAAC,CAAC,CAAE,CAAC,GAAG,KAAK,WAAW,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,GAAG,EAC3D,CAAC;QACD,IAAI,CACF,QAAQ,CAAC,OAAO,EAChB,YAAY,QAAQ,CAAC,IAAI,oBAAoB,KAAK,CAAC,IAAI,mIAAmI,CAC3L,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,0BAA0B,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC1E,IACE,aAAa,CAAC,IAAI,KAAK,IAAI;QAC3B,aAAa,CAAC,aAAa,KAAK,aAAa,CAAC,OAAO,EACrD,CAAC;QACD,IAAI,CACF,SAAS,EACT,0IAA0I,CAC3I,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,8BAA8B,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACtE,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC1B,IAAI,CACF,aAAa,EACb,4GAA4G,CAC7G,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,WAAW;SAC1B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACV,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAE,CAAC;QACpE,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,GAAG,CAAC;IAChD,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,SAAS,GAAG,2BAA2B,KAAK,CAAC,IAAI,gBAAgB,QAAQ,CAAC,IAAI,KAAK,SAAS,GAAG,CAAC;IACtG,MAAM,iBAAiB,GACrB,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;QAC5B,CAAC,CAAC,gQAAgQ;QAClQ,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM;YAC3B,CAAC,CAAC,qFAAqF;YACvF,CAAC,CAAC,EAAE,CAAC;IACX,OAAO,gBAAgB,CAAC;QACtB,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE;YACL;gBACE,SAAS,EAAE,GAAG,SAAS,GAAG,iBAAiB,mHAAmH;gBAC9J,OAAO,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC;gBAClC,WAAW,EAAE,mCAAmC,CAAC;oBAC/C,aAAa;oBACb,KAAK,EAAE,KAAK,CAAC,OAAO;oBACpB,SAAS;oBACT,UAAU,EAAE,aAAa,CAAC,OAAO;oBACjC,aAAa;oBACb,QAAQ,EAAE,QAAQ,CAAC,OAAO;oBAC1B,IAAI;oBACJ,SAAS,EAAE,WAAW;iBACvB,CAAC;aACH;SACF;QACD,aAAa,EAAE,EAAE;KAClB,CAAC,CAAC;AACL,CAAC;AAaD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAgB,EAChB,KAAoB,EACpB,OAAmC;IAEnC,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACrC,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1C,qBAAqB,CAAC,OAAO,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAsB;QACvC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO;QACtC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,SAAS;QAC1C,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ;QACxC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,KAAK,SAAS;YACjD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;KACxD,CAAC;IACF,yBAAyB,CAAC,aAAa,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,CACF,KAAK,CAAC,OAAO,EACb,SAAS,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,sHAAsH,CACjK,CAAC;IACJ,CAAC;IACD,IACE,KAAK,CAAC,IAAI,KAAK,IAAI;QACnB,KAAK,CAAC,YAAY,CAAC,OAAO,KAAK,aAAa,CAAC,OAAO,EACpD,CAAC;QACD,IAAI,CACF,KAAK,CAAC,OAAO,EACb,SAAS,KAAK,CAAC,IAAI,mCAAmC,IAAI,2BAA2B,aAAa,CAAC,OAAO,8EAA8E,CACzL,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC9C,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI;QACJ,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,QAAQ;KACT,CAAC;IACF,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAChE,gBAAgB,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC;QAC7C,6BAA6B,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5C,0BAA0B,CAAC,IAAI,CAAC;KACjC,CAAC,CAAC;IACH,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,CAAC,GAC9C,MAAM,sBAAsB,CAAC,GAAG,EAAE;QAChC,MAAM,CAAC,OAAO;QACd,WAAW;QACX,aAAa;KACd,CAAC,CAAC;IACL,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,uBAAuB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,6EAA6E;IAC/E,CAAC;IACD,IAAI,CAAC,OAAO;QACV,IAAI,CACF,MAAM,CAAC,OAAO,EACd,4OAA4O,CAC7O,CAAC;IACJ,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,iCAAiC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACnE,IACE,WAAW,CAAC,OAAO,KAAK,WAAW;YACnC,CAAC,+BAA+B,CAC9B,IAAI,EACJ,KAAK,CAAC,OAAO,EACb,aAAa,CAAC,OAAO,CACtB,EACD,CAAC;YACD,IAAI,CACF,WAAW,EACX,iIAAiI,CAClI,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,8BAA8B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACpE,IAAI,aAAa,CAAC,OAAO,KAAK,aAAa,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACpE,IAAI,CACF,aAAa,EACb,2HAA2H,CAC5H,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE;QACrC,IAAI;QACJ,SAAS;QACT,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO;KACvC,CAAC,CAAC;IACH,OAAO,gBAAgB,CAAC;QACtB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,yBAAyB,KAAK,CAAC,IAAI,GAAG;QAC/C,KAAK,EAAE;YACL;gBACE,SAAS,EAAE,yBAAyB,KAAK,CAAC,IAAI,gBAAgB,QAAQ,4PAA4P;gBAClU,OAAO,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC;gBAClC,WAAW,EAAE,kCAAkC,CAAC;oBAC9C,GAAG,EAAE,CAAC,QAAQ;oBACd,aAAa;oBACb,SAAS;oBACT,KAAK,EAAE,MAAM,CAAC,OAAO;oBACrB,IAAI;oBACJ,QAAQ;oBACR,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;oBACrD,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;iBAC1D,CAAC;aACH;SACF;QACD,aAAa,EAAE;YACb;gBACE,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,QAAQ,EAAE,EAAE,CAAC,QAAQ;gBACrB,SAAS,EACP,gGAAgG;aACnG;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,GAAG,MAAM;gBACT,SAAS,EACP,qHAAqH;aACxH;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mining/actions/index.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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"}
|