@aephia/atlas-kit 0.6.0-next.80 → 0.6.0-next.82

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.
Files changed (32) hide show
  1. package/dist/internal/c4/identity.d.ts +2 -1
  2. package/dist/internal/c4/identity.d.ts.map +1 -1
  3. package/dist/internal/c4/identity.js +1 -1
  4. package/dist/internal/c4/identity.js.map +1 -1
  5. package/dist/internal/c4/local-market-order.d.ts +31 -0
  6. package/dist/internal/c4/local-market-order.d.ts.map +1 -0
  7. package/dist/internal/c4/local-market-order.js +47 -0
  8. package/dist/internal/c4/local-market-order.js.map +1 -0
  9. package/dist/internal/planning/fleet-respawn.d.ts +1 -1
  10. package/dist/internal/planning/local-market-order-funding.d.ts +8 -0
  11. package/dist/internal/planning/local-market-order-funding.d.ts.map +1 -0
  12. package/dist/internal/planning/local-market-order-funding.js +126 -0
  13. package/dist/internal/planning/local-market-order-funding.js.map +1 -0
  14. package/dist/internal/planning/local-market-order.d.ts +40 -0
  15. package/dist/internal/planning/local-market-order.d.ts.map +1 -0
  16. package/dist/internal/planning/local-market-order.js +166 -0
  17. package/dist/internal/planning/local-market-order.js.map +1 -0
  18. package/dist/markets/actions/index.d.ts +57 -0
  19. package/dist/markets/actions/index.d.ts.map +1 -1
  20. package/dist/markets/actions/index.js +91 -3
  21. package/dist/markets/actions/index.js.map +1 -1
  22. package/dist/planning/assembly.d.ts.map +1 -1
  23. package/dist/planning/assembly.js +2 -0
  24. package/dist/planning/assembly.js.map +1 -1
  25. package/dist/planning/execution.d.ts.map +1 -1
  26. package/dist/planning/execution.js +23 -0
  27. package/dist/planning/execution.js.map +1 -1
  28. package/dist/planning/index.d.ts +6 -5
  29. package/dist/planning/index.d.ts.map +1 -1
  30. package/dist/planning/index.js +12 -3
  31. package/dist/planning/index.js.map +1 -1
  32. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import { type ProfilePermission } from './profile-permissions.js';
2
2
  export type { ProfilePermission } from './profile-permissions.js';
3
- import type { Address } from '../../client/contracts.js';
3
+ import type { Address, RawAccount } from '../../client/contracts.js';
4
4
  import type { C4AccountAdapter } from './adapter.js';
5
5
  /** SDK-owned representation of one Player Profile key.
6
6
  * @example
@@ -179,6 +179,7 @@ export interface CharacterAccountData {
179
179
  };
180
180
  readonly modifiers: CharacterModifiersData;
181
181
  }
182
+ export declare function validateProfileAccountShape(account: RawAccount): void;
182
183
  /** Stable Player Profile account definition for the pinned C4 bindings. */
183
184
  export declare const profileAccountDefinition: C4AccountAdapter<ProfileAccountData>;
184
185
  /** Stable Character account definition for the pinned C4 bindings. */
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/identity.ts"],"names":[],"mappings":"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"}
@@ -113,7 +113,7 @@ function validateProfileAccount(account) {
113
113
  function validateCharacterAccount(account) {
114
114
  validateAccount(account, 'character', SAGE_PROGRAM_ADDRESS, CHARACTER_ACCOUNT_DISCRIMINATOR, CHARACTER_MINIMUM_DATA_LENGTH);
115
115
  }
116
- function validateProfileAccountShape(account) {
116
+ export function validateProfileAccountShape(account) {
117
117
  validateProfileAccount(account);
118
118
  validateProfileShape(account);
119
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/internal/c4/identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/internal/c4/identity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { type Address, type Instruction } from '@solana/kit';
2
+ import { SAGE_PROGRAM_ADDRESS, PLACE_LOCAL_MARKET_ORDER_DISCRIMINATOR } from '@staratlas/dev-sage';
3
+ export { SAGE_PROGRAM_ADDRESS, PLACE_LOCAL_MARKET_ORDER_DISCRIMINATOR };
4
+ export { CURRENCY_CONFIG_CACHE_DISCRIMINATOR, getCurrencyConfigCacheDecoder, } from '@staratlas/dev-sage';
5
+ /** Pinned maker map key (32), MakerInfo (26), and OrderInfo (56); codec contract-tested. */
6
+ export declare const LOCAL_MARKET_MAXIMUM_GROWTH_BYTES = 114;
7
+ interface LocalMarketPlacementIntent {
8
+ readonly authority: Address;
9
+ readonly profile: Address;
10
+ readonly certificate?: Address;
11
+ readonly game: Address;
12
+ readonly character: Address;
13
+ readonly system: Address;
14
+ readonly starbasePlayer: Address;
15
+ readonly address: Address;
16
+ readonly keyIndex: number;
17
+ readonly side: 'bid' | 'ask';
18
+ readonly priceRaw: bigint;
19
+ readonly quantity: bigint;
20
+ readonly starbaseGovernance: Address;
21
+ readonly currencyCache: Address;
22
+ readonly starbaseTreasury?: Address;
23
+ readonly democracyHistoryHistory: Address;
24
+ readonly democracyHistoryPolicy?: Address;
25
+ readonly democracyHistoryGeneration?: Address;
26
+ }
27
+ /** Exact pinned C4 placement layout, contract-tested against the generated builder.
28
+ * The shared Plan validator must not import that builder and its codec graph.
29
+ */
30
+ export declare function matchesLocalMarketPlacement(instruction: Instruction, intent: LocalMarketPlacementIntent): boolean;
31
+ //# sourceMappingURL=local-market-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-market-order.d.ts","sourceRoot":"","sources":["../../../src/internal/c4/local-market-order.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EACL,oBAAoB,EACpB,sCAAsC,EACvC,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,oBAAoB,EAAE,sCAAsC,EAAE,CAAC;AACxE,OAAO,EACL,mCAAmC,EACnC,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAE7B,4FAA4F;AAC5F,eAAO,MAAM,iCAAiC,MAAM,CAAC;AAErD,UAAU,0BAA0B;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC;CAC/C;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,0BAA0B,GACjC,OAAO,CA8CT"}
@@ -0,0 +1,47 @@
1
+ import { AccountRole } from '@solana/kit';
2
+ import { SAGE_PROGRAM_ADDRESS, PLACE_LOCAL_MARKET_ORDER_DISCRIMINATOR, } from '@staratlas/dev-sage';
3
+ import { PLAYER_PROFILE_PROGRAM_ADDRESS } from '@staratlas/dev-player-profile';
4
+ export { SAGE_PROGRAM_ADDRESS, PLACE_LOCAL_MARKET_ORDER_DISCRIMINATOR };
5
+ export { CURRENCY_CONFIG_CACHE_DISCRIMINATOR, getCurrencyConfigCacheDecoder, } from '@staratlas/dev-sage';
6
+ /** Pinned maker map key (32), MakerInfo (26), and OrderInfo (56); codec contract-tested. */
7
+ export const LOCAL_MARKET_MAXIMUM_GROWTH_BYTES = 114;
8
+ /** Exact pinned C4 placement layout, contract-tested against the generated builder.
9
+ * The shared Plan validator must not import that builder and its codec graph.
10
+ */
11
+ export function matchesLocalMarketPlacement(instruction, intent) {
12
+ const data = instruction.data;
13
+ if (instruction.programAddress !== SAGE_PROGRAM_ADDRESS ||
14
+ data?.length !== 28)
15
+ return false;
16
+ const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
17
+ if (!PLACE_LOCAL_MARKET_ORDER_DISCRIMINATOR.every((byte, index) => data[index] === byte) ||
18
+ view.getUint16(8, true) !== intent.keyIndex ||
19
+ data[10] !== (intent.side === 'bid' ? 0 : 1) ||
20
+ view.getBigUint64(11, true) !== intent.priceRaw ||
21
+ view.getBigUint64(19, true) !== intent.quantity ||
22
+ data[27] !== 0)
23
+ return false;
24
+ const expected = [
25
+ [intent.authority, AccountRole.READONLY_SIGNER],
26
+ [intent.profile, AccountRole.WRITABLE],
27
+ [intent.certificate, AccountRole.READONLY],
28
+ [PLAYER_PROFILE_PROGRAM_ADDRESS, AccountRole.READONLY],
29
+ [intent.game, AccountRole.READONLY],
30
+ [intent.character, AccountRole.WRITABLE],
31
+ [intent.system, AccountRole.READONLY],
32
+ [intent.starbasePlayer, AccountRole.WRITABLE],
33
+ [intent.address, AccountRole.WRITABLE],
34
+ [intent.starbaseGovernance, AccountRole.READONLY],
35
+ [intent.currencyCache, AccountRole.WRITABLE],
36
+ [intent.starbaseTreasury, AccountRole.WRITABLE],
37
+ [intent.democracyHistoryHistory, AccountRole.WRITABLE],
38
+ [intent.democracyHistoryPolicy, AccountRole.READONLY],
39
+ [intent.democracyHistoryGeneration, AccountRole.WRITABLE],
40
+ ];
41
+ return (instruction.accounts?.length === expected.length &&
42
+ expected.every(([address, role], index) => instruction.accounts[index].address ===
43
+ (address ?? SAGE_PROGRAM_ADDRESS) &&
44
+ instruction.accounts[index].role ===
45
+ (address === undefined ? AccountRole.READONLY : role)));
46
+ }
47
+ //# sourceMappingURL=local-market-order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-market-order.js","sourceRoot":"","sources":["../../../src/internal/c4/local-market-order.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export declare function resolveFleetRespawn(ctx: SageContext, input: FleetRespaw
15
15
  readonly maximumRecoveryFee: bigint;
16
16
  readonly maximumProfileDebit: bigint;
17
17
  }, commitment?: Commitment): Promise<{
18
- instruction: import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountMeta<string> | import("@solana/kit").AccountLookupMeta<string, string>)[]>;
18
+ instruction: import("@solana/kit").Instruction<string, readonly (import("@solana/kit").AccountLookupMeta<string, string> | import("@solana/kit").AccountMeta<string>)[]>;
19
19
  recoveryFee: bigint;
20
20
  profileDebit: bigint;
21
21
  fleetHash: string;
@@ -0,0 +1,8 @@
1
+ import type { Address } from '@solana/kit';
2
+ import type { RawAccount, SageContext } from '../../client/contracts.js';
3
+ import type { PlanPrecondition } from '../../planning/index.js';
4
+ import { type MarketOrderAmounts, type MarketOrderIntent, type LocalMarketOrderGuard } from './local-market-order.js';
5
+ export declare function marketOrderFundingAddresses(profile: Address, guards: readonly PlanPrecondition[]): readonly Address[];
6
+ export declare function resolveMarketOrderAmounts(ctx: SageContext, intent: MarketOrderIntent, marketRaw: RawAccount, playerRaw: RawAccount, characterRaw: RawAccount, guards: readonly PlanPrecondition[]): Promise<MarketOrderAmounts>;
7
+ export declare function revalidateMarketOrder(guard: LocalMarketOrderGuard, accounts: ReadonlyMap<Address, RawAccount | undefined>, guards: readonly PlanPrecondition[]): void;
8
+ //# sourceMappingURL=local-market-order-funding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-market-order-funding.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/local-market-order-funding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAO3C,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAQhE,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AAUjC,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,SAAS,OAAO,EAAE,CAIpB;AA0GD,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,UAAU,EACrB,SAAS,EAAE,UAAU,EACrB,YAAY,EAAE,UAAU,EACxB,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,OAAO,CAAC,kBAAkB,CAAC,CAgB7B;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,qBAAqB,EAC5B,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,EACtD,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CAmBN"}
@@ -0,0 +1,126 @@
1
+ import { SAGE_PROGRAM_ADDRESS, LOCAL_MARKET_MAXIMUM_GROWTH_BYTES, CURRENCY_CONFIG_CACHE_DISCRIMINATOR, getCurrencyConfigCacheDecoder, } from '../c4/local-market-order.js';
2
+ import { SageSdkError } from '../../client/errors.js';
3
+ import { readContextRawAccounts } from '../../client/reconciliation.js';
4
+ import { validateProfileAccountShape, characterAccountDefinition, } from '../c4/identity.js';
5
+ import { localMarketAccountDefinition } from '../c4/market.js';
6
+ import { starbasePlayerAccountDefinition } from '../c4/starbase.js';
7
+ import { RENT_ADDRESS, readRent } from './faction-enrollment.js';
8
+ import { hasQualifiedMarketFees, } from './local-market-order.js';
9
+ function fail(address, message) {
10
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', message, { address });
11
+ }
12
+ function unavailable(reason) {
13
+ return { status: 'unavailable', reason };
14
+ }
15
+ export function marketOrderFundingAddresses(profile, guards) {
16
+ // The normalized market fee guard requires this canonical cache.
17
+ const fees = guards.find((g) => g.kind === 'governance-fees');
18
+ return [profile, RENT_ADDRESS, fees.intent.currencyCache.address];
19
+ }
20
+ function calculateMarketOrderAmounts(intent, accounts, guards, approvedProfileCeiling) {
21
+ const marketRaw = accounts.get(intent.address);
22
+ const playerRaw = accounts.get(intent.starbasePlayer);
23
+ const characterRaw = accounts.get(intent.character);
24
+ if (!marketRaw || !playerRaw || !characterRaw)
25
+ fail(intent.address, 'A Local Market order prerequisite is missing. Refresh the Market, Character and Starbase Player before recreating the Plan.');
26
+ const market = localMarketAccountDefinition.decode(marketRaw);
27
+ const player = starbasePlayerAccountDefinition.decode(playerRaw);
28
+ const character = characterAccountDefinition.decode(characterRaw);
29
+ if (characterRaw.address !== intent.character ||
30
+ character.playerProfile !== intent.profile ||
31
+ character.game !== intent.game ||
32
+ marketRaw.address !== intent.address ||
33
+ playerRaw.address !== intent.starbasePlayer ||
34
+ market.cargo.cargoId !== intent.cargoId ||
35
+ market.system !== intent.system ||
36
+ market.starbaseSequenceId !== intent.starbaseSequenceId ||
37
+ player.playerProfile !== intent.profile ||
38
+ player.character !== intent.character ||
39
+ player.system !== intent.system)
40
+ fail(intent.address, 'The Local Market debit intent no longer matches its Profile, cargo or Starbase Player. Refresh the accounts and recreate the order Plan.');
41
+ if (market.version !== 0)
42
+ return unavailable('unsupported-market-layout');
43
+ if (character.version !== 0 || player.version !== 0)
44
+ return unavailable('unsupported-account-layout');
45
+ if (!hasQualifiedMarketFees(guards))
46
+ return unavailable('unsupported-fee-policy');
47
+ const fees = guards.find((g) => g.kind === 'governance-fees');
48
+ const cache = fees.intent.currencyCache;
49
+ if (cache.version !== 0)
50
+ return unavailable('unsupported-account-layout');
51
+ if (!player.cargo.amounts.some((row) => row.cargoId === intent.cargoId))
52
+ return unavailable('missing-cargo-row');
53
+ const cacheRaw = accounts.get(cache.address);
54
+ const profileRaw = accounts.get(intent.profile);
55
+ const rentRaw = accounts.get(RENT_ADDRESS);
56
+ if (!profileRaw ||
57
+ !rentRaw ||
58
+ !cacheRaw ||
59
+ cacheRaw.address !== cache.address ||
60
+ cacheRaw.executable ||
61
+ profileRaw.address !== intent.profile ||
62
+ rentRaw.address !== RENT_ADDRESS ||
63
+ profileRaw.executable ||
64
+ characterRaw.executable ||
65
+ marketRaw.executable ||
66
+ playerRaw.executable)
67
+ return unavailable('funding-state-unavailable');
68
+ validateProfileAccountShape(profileRaw);
69
+ if (cacheRaw.data.length !== getCurrencyConfigCacheDecoder().fixedSize ||
70
+ cacheRaw.owner !== SAGE_PROGRAM_ADDRESS ||
71
+ !CURRENCY_CONFIG_CACHE_DISCRIMINATOR.every((v, n) => cacheRaw.data[n] === v))
72
+ return unavailable('funding-state-unavailable');
73
+ const cacheData = getCurrencyConfigCacheDecoder().decode(cacheRaw.data);
74
+ if (cacheData.version !== 0 || cacheData.gameId !== intent.game)
75
+ return unavailable('unsupported-account-layout');
76
+ const rent = readRent(rentRaw);
77
+ if (cacheRaw.lamports < rent(cacheRaw.data.length) ||
78
+ characterRaw.lamports < rent(characterRaw.data.length) ||
79
+ marketRaw.lamports < rent(marketRaw.data.length) ||
80
+ playerRaw.lamports < rent(playerRaw.data.length))
81
+ return unavailable('accounts-below-rent-reserve');
82
+ // Existing surplus may be another maker's refundable rent. Never credit it.
83
+ const maximumProfileDebit = rent(marketRaw.data.length + LOCAL_MARKET_MAXIMUM_GROWTH_BYTES) -
84
+ rent(marketRaw.data.length);
85
+ if (profileRaw.lamports <
86
+ rent(profileRaw.data.length) +
87
+ (approvedProfileCeiling ?? maximumProfileDebit)) {
88
+ if (approvedProfileCeiling === undefined)
89
+ return unavailable('profile-below-storage-ceiling');
90
+ fail(intent.profile, 'The Profile cannot fund the conservative Local Market storage ceiling while preserving its own rent reserve. Fund the Profile explicitly and recreate the Plan; transaction fees are separate.');
91
+ }
92
+ return {
93
+ status: 'available',
94
+ maximumCargoDebitRaw: intent.side === 'ask' ? intent.quantity : 0n,
95
+ maximumAtlasDebitRaw: intent.side === 'bid' ? intent.priceRaw * intent.quantity : 0n,
96
+ maximumGovernanceFeeRaw: 0n,
97
+ maximumProfileDebit,
98
+ };
99
+ }
100
+ export async function resolveMarketOrderAmounts(ctx, intent, marketRaw, playerRaw, characterRaw, guards) {
101
+ const accounts = new Map([
102
+ [marketRaw.address, marketRaw],
103
+ [playerRaw.address, playerRaw],
104
+ [characterRaw.address, characterRaw],
105
+ ]);
106
+ const initial = calculateMarketOrderAmounts(intent, accounts, guards);
107
+ if (initial.status !== 'unavailable' ||
108
+ initial.reason !== 'funding-state-unavailable')
109
+ return initial;
110
+ const addresses = marketOrderFundingAddresses(intent.profile, guards);
111
+ const rows = await readContextRawAccounts(ctx, addresses);
112
+ addresses.forEach((address, index) => accounts.set(address, rows[index]));
113
+ return calculateMarketOrderAmounts(intent, accounts, guards);
114
+ }
115
+ export function revalidateMarketOrder(guard, accounts, guards) {
116
+ if (guard.status === 'unavailable')
117
+ return;
118
+ const current = calculateMarketOrderAmounts(guard, accounts, guards, guard.maximumProfileDebit);
119
+ if (current.status !== 'available' ||
120
+ current.maximumProfileDebit > guard.maximumProfileDebit ||
121
+ current.maximumAtlasDebitRaw > guard.maximumAtlasDebitRaw ||
122
+ current.maximumCargoDebitRaw > guard.maximumCargoDebitRaw ||
123
+ current.maximumGovernanceFeeRaw > guard.maximumGovernanceFeeRaw)
124
+ fail(guard.profile, 'The Local Market order no longer has qualified debits within its approved ceilings. Refresh the Market, fee policy and Rent, then recreate and inspect the Plan before signing.');
125
+ }
126
+ //# sourceMappingURL=local-market-order-funding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-market-order-funding.js","sourceRoot":"","sources":["../../../src/internal/planning/local-market-order-funding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { type Address } from '@solana/kit';
2
+ import type { PlanPrecondition, PlanStep } from '../../planning/index.js';
3
+ import type { RuntimeWire } from './runtime-guards.js';
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
+ export type MarketOrderAmounts = {
6
+ readonly status: 'unavailable';
7
+ readonly reason: MarketBoundsUnavailableReason;
8
+ } | {
9
+ readonly status: 'available';
10
+ readonly maximumCargoDebitRaw: bigint;
11
+ readonly maximumAtlasDebitRaw: bigint;
12
+ readonly maximumGovernanceFeeRaw: bigint;
13
+ readonly maximumProfileDebit: bigint;
14
+ };
15
+ export interface MarketOrderIntent {
16
+ readonly address: Address;
17
+ readonly game: Address;
18
+ readonly system: Address;
19
+ readonly profile: Address;
20
+ readonly authority: Address;
21
+ readonly certificate?: Address;
22
+ readonly keyIndex: number;
23
+ readonly character: Address;
24
+ readonly starbasePlayer: Address;
25
+ readonly starbaseSequenceId: bigint;
26
+ readonly cargoId: number;
27
+ readonly side: 'bid' | 'ask';
28
+ readonly priceRaw: bigint;
29
+ readonly quantity: bigint;
30
+ }
31
+ export type LocalMarketOrderGuard = MarketOrderIntent & MarketOrderAmounts & {
32
+ readonly kind: 'local-market-order';
33
+ readonly describes: string;
34
+ readonly dataHash?: never;
35
+ };
36
+ export declare function hasQualifiedMarketFees(guards: readonly PlanPrecondition[]): boolean;
37
+ export declare function validateLocalMarketOrderInstructions(steps: readonly PlanStep[], guards: readonly PlanPrecondition[]): void;
38
+ export declare function normalizeLocalMarketOrderGuard(value: Record<string, unknown>, wire?: boolean): LocalMarketOrderGuard;
39
+ export declare function localMarketOrderGuardToJSON(guard: LocalMarketOrderGuard): RuntimeWire<LocalMarketOrderGuard>;
40
+ //# sourceMappingURL=local-market-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-market-order.d.ts","sourceRoot":"","sources":["../../../src/internal/planning/local-market-order.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAOtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,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;AAcD,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,IAAI,UAAQ,GACX,qBAAqB,CAqGvB;AACD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,qBAAqB,GAC3B,WAAW,CAAC,qBAAqB,CAAC,CAOpC"}
@@ -0,0 +1,166 @@
1
+ import { isAddress } from '@solana/kit';
2
+ import { SAGE_PROGRAM_ADDRESS, PLACE_LOCAL_MARKET_ORDER_DISCRIMINATOR, matchesLocalMarketPlacement, } from '../c4/local-market-order.js';
3
+ import { InvalidActionInputError, SageSdkError } from '../../client/errors.js';
4
+ const MAX_U64 = (1n << 64n) - 1n;
5
+ export function hasQualifiedMarketFees(guards) {
6
+ // Callers have resolved or normalized the mandatory market runtime guards.
7
+ const fees = guards.find((g) => g.kind === 'governance-fees');
8
+ const history = guards.find((g) => g.kind === 'democracy-history');
9
+ return (fees.intent.quote.source === 'default' &&
10
+ fees.intent.quote.params?.localMarketFeeBps === 0 &&
11
+ fees.intent.governance?.state === 'absent' &&
12
+ fees.intent.treasury?.state === 'absent' &&
13
+ history.intent.state === 'absent');
14
+ }
15
+ export function validateLocalMarketOrderInstructions(steps, guards) {
16
+ const selected = guards.filter((g) => g.kind === 'local-market-order');
17
+ const placements = steps.filter(({ instruction: i }) => i.programAddress === SAGE_PROGRAM_ADDRESS &&
18
+ PLACE_LOCAL_MARKET_ORDER_DISCRIMINATOR.every((v, n) => i.data?.[n] === v));
19
+ if (!selected.length && !placements.length)
20
+ return;
21
+ const bad = () => {
22
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', 'A Local Market order requires one standalone placement with its exact debit safeguard and unchanged account-state guards. Recreate the Plan with planPlaceLocalMarketOrder; do not combine it with other actions or edit its saved intent.');
23
+ };
24
+ if (steps.length !== 1 || placements.length !== 1 || selected.length !== 1)
25
+ bad();
26
+ const guard = selected[0];
27
+ const step = placements[0];
28
+ const fees = guards.find((g) => g.kind === 'governance-fees');
29
+ const history = guards.find((g) => g.kind === 'democracy-history');
30
+ if (!fees ||
31
+ fees.kind !== 'governance-fees' ||
32
+ !history ||
33
+ history.kind !== 'democracy-history')
34
+ return bad();
35
+ if (history.intent.game !== guard.game ||
36
+ history.intent.system !== guard.system ||
37
+ fees.intent.request.mode !== 'market' ||
38
+ fees.intent.request.game !== guard.game ||
39
+ fees.intent.request.system !== guard.system ||
40
+ fees.intent.request.starbaseSeqId !== guard.starbaseSequenceId)
41
+ bad();
42
+ if (guard.status === 'available' &&
43
+ (!hasQualifiedMarketFees(guards) ||
44
+ fees.intent.currencyCache?.version !== 0))
45
+ bad();
46
+ if (step.signers.length !== 1 ||
47
+ step.signers[0] !== guard.authority ||
48
+ !matchesLocalMarketPlacement(step.instruction, {
49
+ ...guard,
50
+ ...history.accounts,
51
+ ...fees.accounts,
52
+ starbaseGovernance: fees.accounts.starbaseGovernance,
53
+ currencyCache: fees.accounts.currencyCache,
54
+ }))
55
+ bad();
56
+ for (const address of [guard.character, guard.starbasePlayer, guard.address])
57
+ if (!guards.some((g) => g.kind === 'account-state' && g.address === address))
58
+ bad();
59
+ }
60
+ const AMOUNT_KEYS = [
61
+ 'maximumCargoDebitRaw',
62
+ 'maximumAtlasDebitRaw',
63
+ 'maximumGovernanceFeeRaw',
64
+ 'maximumProfileDebit',
65
+ ];
66
+ const BIGINT_KEYS = [
67
+ 'starbaseSequenceId',
68
+ 'priceRaw',
69
+ 'quantity',
70
+ ...AMOUNT_KEYS,
71
+ ];
72
+ export function normalizeLocalMarketOrderGuard(value, wire = false) {
73
+ const bad = () => {
74
+ throw new InvalidActionInputError('local-market-order', value, 'the exact current Local Market intent and debit safeguard', 'Recreate the order Plan; do not alter its saved intent, qualification or debit fields.');
75
+ };
76
+ const row = { ...value };
77
+ const required = [
78
+ 'kind',
79
+ 'address',
80
+ 'game',
81
+ 'system',
82
+ 'profile',
83
+ 'authority',
84
+ 'keyIndex',
85
+ 'character',
86
+ 'starbasePlayer',
87
+ 'starbaseSequenceId',
88
+ 'cargoId',
89
+ 'side',
90
+ 'priceRaw',
91
+ 'quantity',
92
+ 'status',
93
+ 'describes',
94
+ ...(row.status === 'available' ? AMOUNT_KEYS : ['reason']),
95
+ ];
96
+ if (required.some((k) => !Object.hasOwn(row, k)) ||
97
+ Object.keys(row).some((k) => !required.includes(k) && k !== 'certificate'))
98
+ bad();
99
+ for (const key of [
100
+ 'address',
101
+ 'game',
102
+ 'system',
103
+ 'profile',
104
+ 'authority',
105
+ 'character',
106
+ 'starbasePlayer',
107
+ ...(row.certificate === undefined ? [] : ['certificate']),
108
+ ])
109
+ if (typeof row[key] !== 'string' || !isAddress(row[key]))
110
+ bad();
111
+ for (const key of BIGINT_KEYS) {
112
+ if (!(key in row))
113
+ continue;
114
+ if (wire) {
115
+ if (typeof row[key] !== 'string' || !/^(0|[1-9][0-9]*)$/.test(row[key]))
116
+ bad();
117
+ row[key] = BigInt(row[key]);
118
+ }
119
+ if (typeof row[key] !== 'bigint' || row[key] < 0n || row[key] > MAX_U64)
120
+ bad();
121
+ }
122
+ for (const key of ['keyIndex', 'cargoId'])
123
+ if (typeof row[key] !== 'number' ||
124
+ !Number.isInteger(row[key]) ||
125
+ row[key] < 0 ||
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
+ }
166
+ //# sourceMappingURL=local-market-order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-market-order.js","sourceRoot":"","sources":["../../../src/internal/planning/local-market-order.ts"],"names":[],"mappings":"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"}