@aephia/atlas-kit 0.6.0-next.4 → 0.6.0-next.41

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 (344) hide show
  1. package/README.md +3 -1
  2. package/dist/cargo/actions/deposit.d.ts.map +1 -1
  3. package/dist/cargo/actions/deposit.js +51 -9
  4. package/dist/cargo/actions/deposit.js.map +1 -1
  5. package/dist/cargo/actions/wallet-context.d.ts +2 -3
  6. package/dist/cargo/actions/wallet-context.d.ts.map +1 -1
  7. package/dist/cargo/actions/wallet-context.js +6 -33
  8. package/dist/cargo/actions/wallet-context.js.map +1 -1
  9. package/dist/cargo/actions/wallet-token.d.ts +1 -1
  10. package/dist/cargo/actions/wallet-token.d.ts.map +1 -1
  11. package/dist/cargo/actions/wallet-token.js +1 -9
  12. package/dist/cargo/actions/wallet-token.js.map +1 -1
  13. package/dist/cargo/actions/withdrawal.d.ts.map +1 -1
  14. package/dist/cargo/actions/withdrawal.js +54 -11
  15. package/dist/cargo/actions/withdrawal.js.map +1 -1
  16. package/dist/claim-stakes/actions/index.d.ts.map +1 -1
  17. package/dist/claim-stakes/actions/index.js +2 -3
  18. package/dist/claim-stakes/actions/index.js.map +1 -1
  19. package/dist/client/errors.d.ts +4 -0
  20. package/dist/client/errors.d.ts.map +1 -1
  21. package/dist/client/errors.js +31 -1
  22. package/dist/client/errors.js.map +1 -1
  23. package/dist/client/index.d.ts +1 -0
  24. package/dist/client/index.d.ts.map +1 -1
  25. package/dist/client/index.js +1 -0
  26. package/dist/client/index.js.map +1 -1
  27. package/dist/client/rpc-subscription-provider.d.ts +35 -0
  28. package/dist/client/rpc-subscription-provider.d.ts.map +1 -0
  29. package/dist/client/rpc-subscription-provider.js +190 -0
  30. package/dist/client/rpc-subscription-provider.js.map +1 -0
  31. package/dist/combat/actions/index.d.ts.map +1 -1
  32. package/dist/combat/actions/index.js +19 -8
  33. package/dist/combat/actions/index.js.map +1 -1
  34. package/dist/crafting/actions/index.d.ts.map +1 -1
  35. package/dist/crafting/actions/index.js +36 -13
  36. package/dist/crafting/actions/index.js.map +1 -1
  37. package/dist/crafting/index.d.ts +8 -2
  38. package/dist/crafting/index.d.ts.map +1 -1
  39. package/dist/crafting/index.js +1 -1
  40. package/dist/crafting/index.js.map +1 -1
  41. package/dist/factions/actions/index.d.ts +36 -0
  42. package/dist/factions/actions/index.d.ts.map +1 -0
  43. package/dist/factions/actions/index.js +136 -0
  44. package/dist/factions/actions/index.js.map +1 -0
  45. package/dist/factions/index.d.ts +1 -0
  46. package/dist/factions/index.d.ts.map +1 -1
  47. package/dist/factions/index.js +1 -0
  48. package/dist/factions/index.js.map +1 -1
  49. package/dist/factions/profile-faction.d.ts +58 -0
  50. package/dist/factions/profile-faction.d.ts.map +1 -0
  51. package/dist/factions/profile-faction.js +63 -0
  52. package/dist/factions/profile-faction.js.map +1 -0
  53. package/dist/fleets/actions/add-ship.d.ts +35 -0
  54. package/dist/fleets/actions/add-ship.d.ts.map +1 -0
  55. package/dist/fleets/actions/add-ship.js +149 -0
  56. package/dist/fleets/actions/add-ship.js.map +1 -0
  57. package/dist/fleets/actions/create-fleet.d.ts +36 -0
  58. package/dist/fleets/actions/create-fleet.d.ts.map +1 -0
  59. package/dist/fleets/actions/create-fleet.js +138 -0
  60. package/dist/fleets/actions/create-fleet.js.map +1 -0
  61. package/dist/fleets/actions/index.d.ts +22 -14
  62. package/dist/fleets/actions/index.d.ts.map +1 -1
  63. package/dist/fleets/actions/index.js +75 -53
  64. package/dist/fleets/actions/index.js.map +1 -1
  65. package/dist/fleets/actions/ship-import.d.ts +48 -0
  66. package/dist/fleets/actions/ship-import.d.ts.map +1 -0
  67. package/dist/fleets/actions/ship-import.js +322 -0
  68. package/dist/fleets/actions/ship-import.js.map +1 -0
  69. package/dist/identity/actions/create-profile.d.ts +56 -0
  70. package/dist/identity/actions/create-profile.d.ts.map +1 -0
  71. package/dist/identity/actions/create-profile.js +139 -0
  72. package/dist/identity/actions/create-profile.js.map +1 -0
  73. package/dist/identity/actions/index.d.ts +3 -0
  74. package/dist/identity/actions/index.d.ts.map +1 -1
  75. package/dist/identity/actions/index.js +11 -10
  76. package/dist/identity/actions/index.js.map +1 -1
  77. package/dist/identity/index.d.ts +15 -0
  78. package/dist/identity/index.d.ts.map +1 -1
  79. package/dist/identity/index.js +15 -0
  80. package/dist/identity/index.js.map +1 -1
  81. package/dist/identity/permissions.d.ts +124 -0
  82. package/dist/identity/permissions.d.ts.map +1 -0
  83. package/dist/identity/permissions.js +171 -0
  84. package/dist/identity/permissions.js.map +1 -0
  85. package/dist/internal/c4/cargo-bytes-config.d.ts +7 -0
  86. package/dist/internal/c4/cargo-bytes-config.d.ts.map +1 -0
  87. package/dist/internal/c4/cargo-bytes-config.js +19 -0
  88. package/dist/internal/c4/cargo-bytes-config.js.map +1 -0
  89. package/dist/internal/c4/character-registration.d.ts.map +1 -1
  90. package/dist/internal/c4/character-registration.js +2 -0
  91. package/dist/internal/c4/character-registration.js.map +1 -1
  92. package/dist/internal/c4/claim-stake.d.ts +0 -27
  93. package/dist/internal/c4/claim-stake.d.ts.map +1 -1
  94. package/dist/internal/c4/claim-stake.js +0 -33
  95. package/dist/internal/c4/claim-stake.js.map +1 -1
  96. package/dist/internal/c4/combat.d.ts +0 -27
  97. package/dist/internal/c4/combat.d.ts.map +1 -1
  98. package/dist/internal/c4/combat.js +0 -33
  99. package/dist/internal/c4/combat.js.map +1 -1
  100. package/dist/internal/c4/crafting-process-codec.d.ts +13 -0
  101. package/dist/internal/c4/crafting-process-codec.d.ts.map +1 -0
  102. package/dist/internal/c4/crafting-process-codec.js +34 -0
  103. package/dist/internal/c4/crafting-process-codec.js.map +1 -0
  104. package/dist/internal/c4/crafting.d.ts +10 -31
  105. package/dist/internal/c4/crafting.d.ts.map +1 -1
  106. package/dist/internal/c4/crafting.js +22 -43
  107. package/dist/internal/c4/crafting.js.map +1 -1
  108. package/dist/internal/c4/faction-adapter.d.ts +12 -0
  109. package/dist/internal/c4/faction-adapter.d.ts.map +1 -0
  110. package/dist/internal/c4/faction-adapter.js +52 -0
  111. package/dist/internal/c4/faction-adapter.js.map +1 -0
  112. package/dist/internal/c4/faction-enrollment.d.ts +6 -0
  113. package/dist/internal/c4/faction-enrollment.d.ts.map +1 -0
  114. package/dist/internal/c4/faction-enrollment.js +8 -0
  115. package/dist/internal/c4/faction-enrollment.js.map +1 -0
  116. package/dist/internal/c4/faction-epoch-meter.d.ts +10 -0
  117. package/dist/internal/c4/faction-epoch-meter.d.ts.map +1 -0
  118. package/dist/internal/c4/faction-epoch-meter.js +31 -0
  119. package/dist/internal/c4/faction-epoch-meter.js.map +1 -0
  120. package/dist/internal/c4/faction-treasury.d.ts +23 -0
  121. package/dist/internal/c4/faction-treasury.d.ts.map +1 -0
  122. package/dist/internal/c4/faction-treasury.js +48 -0
  123. package/dist/internal/c4/faction-treasury.js.map +1 -0
  124. package/dist/internal/c4/factions.d.ts +9 -57
  125. package/dist/internal/c4/factions.d.ts.map +1 -1
  126. package/dist/internal/c4/factions.js +21 -139
  127. package/dist/internal/c4/factions.js.map +1 -1
  128. package/dist/internal/c4/fleet-arrival.d.ts +27 -0
  129. package/dist/internal/c4/fleet-arrival.d.ts.map +1 -0
  130. package/dist/internal/c4/fleet-arrival.js +39 -0
  131. package/dist/internal/c4/fleet-arrival.js.map +1 -0
  132. package/dist/internal/c4/fleet-creation.d.ts +7 -0
  133. package/dist/internal/c4/fleet-creation.d.ts.map +1 -0
  134. package/dist/internal/c4/fleet-creation.js +180 -0
  135. package/dist/internal/c4/fleet-creation.js.map +1 -0
  136. package/dist/internal/c4/fleet-crew-binding.d.ts +9 -0
  137. package/dist/internal/c4/fleet-crew-binding.d.ts.map +1 -1
  138. package/dist/internal/c4/fleet-crew-binding.js +15 -0
  139. package/dist/internal/c4/fleet-crew-binding.js.map +1 -1
  140. package/dist/internal/c4/fleet-ship-assembly.d.ts +11 -0
  141. package/dist/internal/c4/fleet-ship-assembly.d.ts.map +1 -0
  142. package/dist/internal/c4/fleet-ship-assembly.js +44 -0
  143. package/dist/internal/c4/fleet-ship-assembly.js.map +1 -0
  144. package/dist/internal/c4/fleet.d.ts +10 -5
  145. package/dist/internal/c4/fleet.d.ts.map +1 -1
  146. package/dist/internal/c4/fleet.js.map +1 -1
  147. package/dist/internal/c4/game.d.ts +20 -6
  148. package/dist/internal/c4/game.d.ts.map +1 -1
  149. package/dist/internal/c4/game.js +39 -9
  150. package/dist/internal/c4/game.js.map +1 -1
  151. package/dist/internal/c4/identity.d.ts +2 -7
  152. package/dist/internal/c4/identity.d.ts.map +1 -1
  153. package/dist/internal/c4/identity.js +2 -23
  154. package/dist/internal/c4/identity.js.map +1 -1
  155. package/dist/internal/c4/loyalty.d.ts +0 -27
  156. package/dist/internal/c4/loyalty.d.ts.map +1 -1
  157. package/dist/internal/c4/loyalty.js +0 -33
  158. package/dist/internal/c4/loyalty.js.map +1 -1
  159. package/dist/internal/c4/market.d.ts +1 -37
  160. package/dist/internal/c4/market.d.ts.map +1 -1
  161. package/dist/internal/c4/market.js +11 -49
  162. package/dist/internal/c4/market.js.map +1 -1
  163. package/dist/internal/c4/mining-instructions.d.ts +2 -0
  164. package/dist/internal/c4/mining-instructions.d.ts.map +1 -0
  165. package/dist/internal/c4/mining-instructions.js +3 -0
  166. package/dist/internal/c4/mining-instructions.js.map +1 -0
  167. package/dist/internal/c4/profile-creation.d.ts +17 -0
  168. package/dist/internal/c4/profile-creation.d.ts.map +1 -0
  169. package/dist/internal/c4/profile-creation.js +36 -0
  170. package/dist/internal/c4/profile-creation.js.map +1 -0
  171. package/dist/internal/c4/profile-faction.d.ts.map +1 -1
  172. package/dist/internal/c4/profile-faction.js +2 -0
  173. package/dist/internal/c4/profile-faction.js.map +1 -1
  174. package/dist/internal/c4/profile-permissions.d.ts +14 -0
  175. package/dist/internal/c4/profile-permissions.d.ts.map +1 -0
  176. package/dist/internal/c4/profile-permissions.js +81 -0
  177. package/dist/internal/c4/profile-permissions.js.map +1 -0
  178. package/dist/internal/c4/rewards.d.ts +0 -27
  179. package/dist/internal/c4/rewards.d.ts.map +1 -1
  180. package/dist/internal/c4/rewards.js +0 -33
  181. package/dist/internal/c4/rewards.js.map +1 -1
  182. package/dist/internal/c4/runtime-bindings.d.ts +3 -0
  183. package/dist/internal/c4/runtime-bindings.d.ts.map +1 -0
  184. package/dist/internal/c4/runtime-bindings.js +4 -0
  185. package/dist/internal/c4/runtime-bindings.js.map +1 -0
  186. package/dist/internal/c4/scanning.d.ts +1 -28
  187. package/dist/internal/c4/scanning.d.ts.map +1 -1
  188. package/dist/internal/c4/scanning.js +2 -33
  189. package/dist/internal/c4/scanning.js.map +1 -1
  190. package/dist/internal/c4/ship-import.d.ts +4 -0
  191. package/dist/internal/c4/ship-import.d.ts.map +1 -0
  192. package/dist/internal/c4/ship-import.js +13 -0
  193. package/dist/internal/c4/ship-import.js.map +1 -0
  194. package/dist/internal/c4/ship-stats.d.ts.map +1 -1
  195. package/dist/internal/c4/ship-stats.js +11 -7
  196. package/dist/internal/c4/ship-stats.js.map +1 -1
  197. package/dist/internal/c4/starbase.d.ts +0 -32
  198. package/dist/internal/c4/starbase.d.ts.map +1 -1
  199. package/dist/internal/c4/starbase.js +3 -41
  200. package/dist/internal/c4/starbase.js.map +1 -1
  201. package/dist/internal/c4/wallet-cargo-cache.d.ts +3 -0
  202. package/dist/internal/c4/wallet-cargo-cache.d.ts.map +1 -0
  203. package/dist/internal/c4/wallet-cargo-cache.js +24 -0
  204. package/dist/internal/c4/wallet-cargo-cache.js.map +1 -0
  205. package/dist/internal/c4/world.js +2 -1
  206. package/dist/internal/c4/world.js.map +1 -1
  207. package/dist/internal/fleet.d.ts.map +1 -1
  208. package/dist/internal/fleet.js +3 -1
  209. package/dist/internal/fleet.js.map +1 -1
  210. package/dist/internal/loyalty-atlas-bank-state.d.ts +16 -0
  211. package/dist/internal/loyalty-atlas-bank-state.d.ts.map +1 -0
  212. package/dist/internal/loyalty-atlas-bank-state.js +10 -0
  213. package/dist/internal/loyalty-atlas-bank-state.js.map +1 -0
  214. package/dist/internal/planning/account-state.d.ts +4 -0
  215. package/dist/internal/planning/account-state.d.ts.map +1 -0
  216. package/dist/internal/planning/account-state.js +11 -0
  217. package/dist/internal/planning/account-state.js.map +1 -0
  218. package/dist/internal/planning/action-runtime.d.ts +38 -0
  219. package/dist/internal/planning/action-runtime.d.ts.map +1 -0
  220. package/dist/internal/planning/action-runtime.js +63 -0
  221. package/dist/internal/planning/action-runtime.js.map +1 -0
  222. package/dist/internal/planning/arrival-guards.d.ts +20 -0
  223. package/dist/internal/planning/arrival-guards.d.ts.map +1 -0
  224. package/dist/internal/planning/arrival-guards.js +187 -0
  225. package/dist/internal/planning/arrival-guards.js.map +1 -0
  226. package/dist/internal/planning/authorization-adapter.d.ts +19 -6
  227. package/dist/internal/planning/authorization-adapter.d.ts.map +1 -1
  228. package/dist/internal/planning/authorization-adapter.js +99 -16
  229. package/dist/internal/planning/authorization-adapter.js.map +1 -1
  230. package/dist/internal/planning/democracy-history.d.ts +50 -0
  231. package/dist/internal/planning/democracy-history.d.ts.map +1 -0
  232. package/dist/internal/planning/democracy-history.js +198 -0
  233. package/dist/internal/planning/democracy-history.js.map +1 -0
  234. package/dist/internal/planning/faction-enrollment.d.ts +12 -0
  235. package/dist/internal/planning/faction-enrollment.d.ts.map +1 -0
  236. package/dist/internal/planning/faction-enrollment.js +67 -0
  237. package/dist/internal/planning/faction-enrollment.js.map +1 -0
  238. package/dist/internal/planning/faction-trade-guards.d.ts +30 -0
  239. package/dist/internal/planning/faction-trade-guards.d.ts.map +1 -0
  240. package/dist/internal/planning/faction-trade-guards.js +15 -0
  241. package/dist/internal/planning/faction-trade-guards.js.map +1 -0
  242. package/dist/internal/planning/faction-trade-state.d.ts +16 -0
  243. package/dist/internal/planning/faction-trade-state.d.ts.map +1 -0
  244. package/dist/internal/planning/faction-trade-state.js +43 -0
  245. package/dist/internal/planning/faction-trade-state.js.map +1 -0
  246. package/dist/internal/planning/fleet-arrival.d.ts +38 -0
  247. package/dist/internal/planning/fleet-arrival.d.ts.map +1 -0
  248. package/dist/internal/planning/fleet-arrival.js +100 -0
  249. package/dist/internal/planning/fleet-arrival.js.map +1 -0
  250. package/dist/internal/planning/fleet-creation.d.ts +30 -0
  251. package/dist/internal/planning/fleet-creation.d.ts.map +1 -0
  252. package/dist/internal/planning/fleet-creation.js +107 -0
  253. package/dist/internal/planning/fleet-creation.js.map +1 -0
  254. package/dist/internal/planning/fleet-ship-assembly.d.ts +36 -0
  255. package/dist/internal/planning/fleet-ship-assembly.d.ts.map +1 -0
  256. package/dist/internal/planning/fleet-ship-assembly.js +136 -0
  257. package/dist/internal/planning/fleet-ship-assembly.js.map +1 -0
  258. package/dist/internal/planning/governance-fees.d.ts +64 -0
  259. package/dist/internal/planning/governance-fees.d.ts.map +1 -0
  260. package/dist/internal/planning/governance-fees.js +239 -0
  261. package/dist/internal/planning/governance-fees.js.map +1 -0
  262. package/dist/internal/planning/mining-stop.d.ts +14 -0
  263. package/dist/internal/planning/mining-stop.d.ts.map +1 -0
  264. package/dist/internal/planning/mining-stop.js +41 -0
  265. package/dist/internal/planning/mining-stop.js.map +1 -0
  266. package/dist/internal/planning/runtime-guards.d.ts +43 -0
  267. package/dist/internal/planning/runtime-guards.d.ts.map +1 -0
  268. package/dist/internal/planning/runtime-guards.js +550 -0
  269. package/dist/internal/planning/runtime-guards.js.map +1 -0
  270. package/dist/internal/planning/ship-import-funding.d.ts +22 -0
  271. package/dist/internal/planning/ship-import-funding.d.ts.map +1 -0
  272. package/dist/internal/planning/ship-import-funding.js +52 -0
  273. package/dist/internal/planning/ship-import-funding.js.map +1 -0
  274. package/dist/internal/planning/ship-token.d.ts +10 -0
  275. package/dist/internal/planning/ship-token.d.ts.map +1 -0
  276. package/dist/internal/planning/ship-token.js +47 -0
  277. package/dist/internal/planning/ship-token.js.map +1 -0
  278. package/dist/internal/planning/token-mint.d.ts +4 -0
  279. package/dist/internal/planning/token-mint.d.ts.map +1 -0
  280. package/dist/internal/planning/token-mint.js +15 -0
  281. package/dist/internal/planning/token-mint.js.map +1 -0
  282. package/dist/internal/planning/trade-faction-market.d.ts +20 -0
  283. package/dist/internal/planning/trade-faction-market.d.ts.map +1 -0
  284. package/dist/internal/planning/trade-faction-market.js +56 -0
  285. package/dist/internal/planning/trade-faction-market.js.map +1 -0
  286. package/dist/internal/planning/xp-runtime.d.ts +20 -0
  287. package/dist/internal/planning/xp-runtime.d.ts.map +1 -0
  288. package/dist/internal/planning/xp-runtime.js +94 -0
  289. package/dist/internal/planning/xp-runtime.js.map +1 -0
  290. package/dist/loyalty/actions/index.d.ts.map +1 -1
  291. package/dist/loyalty/actions/index.js +4 -3
  292. package/dist/loyalty/actions/index.js.map +1 -1
  293. package/dist/loyalty/index.d.ts.map +1 -1
  294. package/dist/loyalty/index.js +2 -6
  295. package/dist/loyalty/index.js.map +1 -1
  296. package/dist/markets/actions/index.d.ts +1 -0
  297. package/dist/markets/actions/index.d.ts.map +1 -1
  298. package/dist/markets/actions/index.js +42 -16
  299. package/dist/markets/actions/index.js.map +1 -1
  300. package/dist/markets/actions/trade-faction-market.d.ts +43 -0
  301. package/dist/markets/actions/trade-faction-market.d.ts.map +1 -0
  302. package/dist/markets/actions/trade-faction-market.js +291 -0
  303. package/dist/markets/actions/trade-faction-market.js.map +1 -0
  304. package/dist/mining/actions/index.d.ts +84 -0
  305. package/dist/mining/actions/index.d.ts.map +1 -0
  306. package/dist/mining/actions/index.js +314 -0
  307. package/dist/mining/actions/index.js.map +1 -0
  308. package/dist/planning/assembly.d.ts.map +1 -1
  309. package/dist/planning/assembly.js +6 -0
  310. package/dist/planning/assembly.js.map +1 -1
  311. package/dist/planning/execution.d.ts.map +1 -1
  312. package/dist/planning/execution.js +290 -17
  313. package/dist/planning/execution.js.map +1 -1
  314. package/dist/planning/index.d.ts +151 -86
  315. package/dist/planning/index.d.ts.map +1 -1
  316. package/dist/planning/index.js +470 -57
  317. package/dist/planning/index.js.map +1 -1
  318. package/dist/planning/simulation.d.ts +18 -1
  319. package/dist/planning/simulation.d.ts.map +1 -1
  320. package/dist/planning/simulation.js +56 -10
  321. package/dist/planning/simulation.js.map +1 -1
  322. package/dist/registry/cargo.d.ts +6 -6
  323. package/dist/registry/cargo.d.ts.map +1 -1
  324. package/dist/registry/cargo.js +25 -4
  325. package/dist/registry/cargo.js.map +1 -1
  326. package/dist/registry/onboarding.d.ts +2 -0
  327. package/dist/registry/onboarding.d.ts.map +1 -1
  328. package/dist/registry/onboarding.js +11 -6
  329. package/dist/registry/onboarding.js.map +1 -1
  330. package/dist/registry/ship-stats-snapshot.js +5 -5
  331. package/dist/registry/ship-stats-snapshot.js.map +1 -1
  332. package/dist/registry/ships.d.ts +28 -0
  333. package/dist/registry/ships.d.ts.map +1 -0
  334. package/dist/registry/ships.js +51 -0
  335. package/dist/registry/ships.js.map +1 -0
  336. package/dist/registry/xp-runtime.d.ts +4 -0
  337. package/dist/registry/xp-runtime.d.ts.map +1 -0
  338. package/dist/registry/xp-runtime.js +14 -0
  339. package/dist/registry/xp-runtime.js.map +1 -0
  340. package/dist/scanning/index.d.ts +1 -1
  341. package/dist/scanning/index.d.ts.map +1 -1
  342. package/dist/scanning/index.js +2 -2
  343. package/dist/scanning/index.js.map +1 -1
  344. package/package.json +10 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/planning/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/planning/index.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,17 @@ import { type Address } from '@solana/kit';
2
2
  import type { SageContext } from '../client/contracts.js';
3
3
  import type { Plan } from './index.js';
4
4
  import { type AssemblyPolicy } from './assembly.js';
5
+ /** Optional RPC constraints for one unsigned simulation, not assembly overrides.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const options: SimulationOptions = { minContextSlot: 9_007_199_254_740_993n };
10
+ * ```
11
+ */
12
+ export interface SimulationOptions {
13
+ /** Inclusive node context floor, from zero through the unsigned 64-bit maximum. */
14
+ readonly minContextSlot?: bigint | undefined;
15
+ }
5
16
  /** Return data emitted by the last program to set it during simulation.
6
17
  *
7
18
  * @example
@@ -36,6 +47,9 @@ export interface SimulationResult {
36
47
  *
37
48
  * The same assembly policy used for execution produces the unsigned transaction.
38
49
  * The node replaces its recent blockhash and verifies no signatures.
50
+ * Optional minContextSlot constrains only this simulation RPC. An unavailable
51
+ * floor rejects once without retry or fallback. The returned slot remains the
52
+ * node's value; callers may separately enforce a defensive returned-slot check.
39
53
  *
40
54
  * @example
41
55
  * ```ts
@@ -44,7 +58,10 @@ export interface SimulationResult {
44
58
  * declare const feePayer: Address;
45
59
  * const result = await simulatePlan(ctx, plan, { feePayer });
46
60
  * console.log(result.logs, result.unitsConsumed);
61
+ * const minimum = 9_007_199_254_740_993n;
62
+ * const fresh = await simulatePlan(ctx, plan, { feePayer }, { minContextSlot: minimum });
63
+ * if (fresh.slot < minimum) throw new Error('Simulation returned an older context.');
47
64
  * ```
48
65
  */
49
- export declare function simulatePlan(context: SageContext, plan: Plan, policy: AssemblyPolicy): Promise<SimulationResult>;
66
+ export declare function simulatePlan(context: SageContext, plan: Plan, policy: AssemblyPolicy, options?: SimulationOptions): Promise<SimulationResult>;
50
67
  //# sourceMappingURL=simulation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"simulation.d.ts","sourceRoot":"","sources":["../../src/planning/simulation.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,OAAO,EAEb,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAEL,KAAK,cAAc,EAKpB,MAAM,eAAe,CAAC;AAEvB;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,oBAAoB,EAAE,QAAQ,CAAC;QACtC,SAAS,EAAE,MAAM,CAAC;QAClB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAC,CAAC;CACJ;AAsBD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,gBAAgB,CAAC,CAgD3B"}
1
+ {"version":3,"file":"simulation.d.ts","sourceRoot":"","sources":["../../src/planning/simulation.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,OAAO,EAEb,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAM1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAEL,KAAK,cAAc,EAKpB,MAAM,eAAe,CAAC;AAEvB;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,mFAAmF;IACnF,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9C;AAmDD;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,oBAAoB,EAAE,QAAQ,CAAC;QACtC,SAAS,EAAE,MAAM,CAAC;QAClB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAC,CAAC;CACJ;AAsBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CA0D3B"}
@@ -1,6 +1,37 @@
1
1
  import { getBase64EncodedWireTransaction, } from '@solana/kit';
2
- import { SageSdkError } from '../client/errors.js';
2
+ import { InvalidActionInputError, ProviderError, SageSdkError, } from '../client/errors.js';
3
3
  import { assembleValidatedPlan, requireWriteRpc, validateAssemblyPolicy, validatePlanAssemblyPolicy, validatePlan, } from './assembly.js';
4
+ function validateSimulationOptions(options) {
5
+ if (options === undefined)
6
+ return undefined;
7
+ let minContextSlot;
8
+ try {
9
+ if (options === null ||
10
+ typeof options !== 'object' ||
11
+ Array.isArray(options) ||
12
+ (Object.getPrototypeOf(options) !== Object.prototype &&
13
+ Object.getPrototypeOf(options) !== null) ||
14
+ Reflect.ownKeys(options).some((key) => key !== 'minContextSlot')) {
15
+ throw new Error();
16
+ }
17
+ const descriptor = Object.getOwnPropertyDescriptor(options, 'minContextSlot');
18
+ if (descriptor !== undefined && !('value' in descriptor)) {
19
+ throw new Error();
20
+ }
21
+ minContextSlot = descriptor?.value;
22
+ }
23
+ catch {
24
+ // Reflection can invoke Proxy traps; never retain their errors or read accessors.
25
+ throw new InvalidActionInputError('options', undefined, 'an object containing only minContextSlot as a data property', 'Pass only the optional bigint simulation slot floor; keep assembly policy in the third argument.');
26
+ }
27
+ if (minContextSlot !== undefined &&
28
+ (typeof minContextSlot !== 'bigint' ||
29
+ minContextSlot < 0n ||
30
+ minContextSlot > 18446744073709551615n)) {
31
+ throw new InvalidActionInputError('minContextSlot', undefined, 'a bigint from 0 through 18446744073709551615', 'Pass an exact unsigned 64-bit bigint slot floor before retrying simulation.');
32
+ }
33
+ return minContextSlot;
34
+ }
4
35
  class SimulationFailedError extends SageSdkError {
5
36
  transactionError;
6
37
  logs;
@@ -17,6 +48,9 @@ class SimulationFailedError extends SageSdkError {
17
48
  *
18
49
  * The same assembly policy used for execution produces the unsigned transaction.
19
50
  * The node replaces its recent blockhash and verifies no signatures.
51
+ * Optional minContextSlot constrains only this simulation RPC. An unavailable
52
+ * floor rejects once without retry or fallback. The returned slot remains the
53
+ * node's value; callers may separately enforce a defensive returned-slot check.
20
54
  *
21
55
  * @example
22
56
  * ```ts
@@ -25,22 +59,34 @@ class SimulationFailedError extends SageSdkError {
25
59
  * declare const feePayer: Address;
26
60
  * const result = await simulatePlan(ctx, plan, { feePayer });
27
61
  * console.log(result.logs, result.unitsConsumed);
62
+ * const minimum = 9_007_199_254_740_993n;
63
+ * const fresh = await simulatePlan(ctx, plan, { feePayer }, { minContextSlot: minimum });
64
+ * if (fresh.slot < minimum) throw new Error('Simulation returned an older context.');
28
65
  * ```
29
66
  */
30
- export async function simulatePlan(context, plan, policy) {
67
+ export async function simulatePlan(context, plan, policy, options) {
31
68
  validatePlan(plan);
32
69
  const validatedPolicy = validateAssemblyPolicy(policy);
33
70
  validatePlanAssemblyPolicy(plan, validatedPolicy);
71
+ const minContextSlot = validateSimulationOptions(options);
34
72
  const writeRpc = requireWriteRpc(context);
35
73
  const transaction = await assembleValidatedPlan(writeRpc, plan, validatedPolicy);
36
- const response = await writeRpc
37
- .simulateTransaction(getBase64EncodedWireTransaction(transaction), {
38
- commitment: validatedPolicy.commitment,
39
- encoding: 'base64',
40
- replaceRecentBlockhash: true,
41
- sigVerify: false,
42
- })
43
- .send();
74
+ const encodedTransaction = getBase64EncodedWireTransaction(transaction);
75
+ let response;
76
+ try {
77
+ response = await writeRpc
78
+ .simulateTransaction(encodedTransaction, {
79
+ commitment: validatedPolicy.commitment,
80
+ encoding: 'base64',
81
+ replaceRecentBlockhash: true,
82
+ sigVerify: false,
83
+ ...(minContextSlot === undefined ? {} : { minContextSlot }),
84
+ })
85
+ .send();
86
+ }
87
+ catch {
88
+ throw new ProviderError('The unsigned Plan simulation provider could not satisfy the request. Check provider availability and any minimum context slot, then explicitly retry when the node can serve that context.');
89
+ }
44
90
  const logs = Object.freeze([...(response.value.logs ?? [])]);
45
91
  const unitsConsumed = response.value.unitsConsumed === undefined
46
92
  ? undefined
@@ -1 +1 @@
1
- {"version":3,"file":"simulation.js","sourceRoot":"","sources":["../../src/planning/simulation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,GAGhC,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EACL,qBAAqB,EAErB,eAAe,EACf,sBAAsB,EACtB,0BAA0B,EAC1B,YAAY,GACb,MAAM,eAAe,CAAC;AAkCvB,MAAM,qBAAsB,SAAQ,YAAY;IACrC,gBAAgB,CAAmB;IACnC,IAAI,CAAoB;IACxB,aAAa,CAAU;IAEhC,YACE,gBAAkC,EAClC,IAAuB,EACvB,aAAiC;QAEjC,KAAK,CACH,mBAAmB,EACnB,+JAA+J,CAChK,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,aAAa,KAAK,SAAS;YAAE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACtE,CAAC;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAoB,EACpB,IAAU,EACV,MAAsB;IAEtB,YAAY,CAAC,IAAI,CAAC,CAAC;IACnB,MAAM,eAAe,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACvD,0BAA0B,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAC7C,QAAQ,EACR,IAAI,EACJ,eAAe,CAChB,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,QAAQ;SAC5B,mBAAmB,CAAC,+BAA+B,CAAC,WAAW,CAAC,EAAE;QACjE,UAAU,EAAE,eAAe,CAAC,UAAU;QACtC,QAAQ,EAAE,QAAQ;QAClB,sBAAsB,EAAE,IAAI;QAC5B,SAAS,EAAE,KAAK;KACjB,CAAC;SACD,IAAI,EAAE,CAAC;IACV,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,aAAa,GACjB,QAAQ,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS;QACxC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAE3C,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QAChC,MAAM,IAAI,qBAAqB,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;IAC7C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI;QACJ,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC;YAClC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAAS;YACxD,oBAAoB,EAAE,MAAM,CAC1B,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,oBAAoB,CACzD;SACF,CAAC;QACF,GAAG,CAAC,UAAU,KAAK,IAAI;YACrB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;oBACxB,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;oBACxB,cAAc,EAAE,UAAU,CAAC,SAAS;iBACrC,CAAC;aACH,CAAC;QACN,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QACnC,aAAa;KACd,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"simulation.js","sourceRoot":"","sources":["../../src/planning/simulation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,GAGhC,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,uBAAuB,EACvB,aAAa,EACb,YAAY,GACb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,qBAAqB,EAErB,eAAe,EACf,sBAAsB,EACtB,0BAA0B,EAC1B,YAAY,GACb,MAAM,eAAe,CAAC;AAcvB,SAAS,yBAAyB,CAChC,OAAsC;IAEtC,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5C,IAAI,cAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,IACE,OAAO,KAAK,IAAI;YAChB,OAAO,OAAO,KAAK,QAAQ;YAC3B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACtB,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,SAAS;gBAClD,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;YAC1C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,gBAAgB,CAAC,EAChE,CAAC;YACD,MAAM,IAAI,KAAK,EAAE,CAAC;QACpB,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAChD,OAAO,EACP,gBAAgB,CACjB,CAAC;QACF,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,EAAE,CAAC;QACpB,CAAC;QACD,cAAc,GAAG,UAAU,EAAE,KAAK,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,kFAAkF;QAClF,MAAM,IAAI,uBAAuB,CAC/B,SAAS,EACT,SAAS,EACT,6DAA6D,EAC7D,kGAAkG,CACnG,CAAC;IACJ,CAAC;IACD,IACE,cAAc,KAAK,SAAS;QAC5B,CAAC,OAAO,cAAc,KAAK,QAAQ;YACjC,cAAc,GAAG,EAAE;YACnB,cAAc,GAAG,qBAA2B,CAAC,EAC/C,CAAC;QACD,MAAM,IAAI,uBAAuB,CAC/B,gBAAgB,EAChB,SAAS,EACT,8CAA8C,EAC9C,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAkCD,MAAM,qBAAsB,SAAQ,YAAY;IACrC,gBAAgB,CAAmB;IACnC,IAAI,CAAoB;IACxB,aAAa,CAAU;IAEhC,YACE,gBAAkC,EAClC,IAAuB,EACvB,aAAiC;QAEjC,KAAK,CACH,mBAAmB,EACnB,+JAA+J,CAChK,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,aAAa,KAAK,SAAS;YAAE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACtE,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAoB,EACpB,IAAU,EACV,MAAsB,EACtB,OAA2B;IAE3B,YAAY,CAAC,IAAI,CAAC,CAAC;IACnB,MAAM,eAAe,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACvD,0BAA0B,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAClD,MAAM,cAAc,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAC7C,QAAQ,EACR,IAAI,EACJ,eAAe,CAChB,CAAC;IACF,MAAM,kBAAkB,GAAG,+BAA+B,CAAC,WAAW,CAAC,CAAC;IACxE,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,QAAQ;aACtB,mBAAmB,CAAC,kBAAkB,EAAE;YACvC,UAAU,EAAE,eAAe,CAAC,UAAU;YACtC,QAAQ,EAAE,QAAQ;YAClB,sBAAsB,EAAE,IAAI;YAC5B,SAAS,EAAE,KAAK;YAChB,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC;SAC5D,CAAC;aACD,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,aAAa,CACrB,4LAA4L,CAC7L,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,aAAa,GACjB,QAAQ,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS;QACxC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAE3C,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QAChC,MAAM,IAAI,qBAAqB,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;IAC7C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI;QACJ,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC;YAClC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,SAAS;YACxD,oBAAoB,EAAE,MAAM,CAC1B,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,oBAAoB,CACzD;SACF,CAAC;QACF,GAAG,CAAC,UAAU,KAAK,IAAI;YACrB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;oBACxB,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;oBACxB,cAAc,EAAE,UAAU,CAAC,SAAS;iBACrC,CAAC;aACH,CAAC;QACN,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;QACnC,aAAa;KACd,CAAC,CAAC;AACL,CAAC"}
@@ -7,14 +7,14 @@ export interface FreshGameCargoDefinitions {
7
7
  }
8
8
  /** Reads and decodes the configured Game cargo section without consulting its cache. */
9
9
  export declare function readFreshGameCargoDefinitions(context: SageContext): Promise<FreshGameCargoDefinitions | undefined>;
10
- /** Resolves one wallet cargo and its configured cache from one fresh registry-owned Game read. */
11
- export declare function readFreshGameCargoConfiguration(context: SageContext, cargoId: number): Promise<Readonly<{
10
+ /** Wallet Plans hash the full decoded row's pinned encoding and cache identity. */
11
+ export declare function readFreshGameCargoBytesConfiguration(context: SageContext, cargoId: number): Promise<Readonly<{
12
+ configHash: string;
12
13
  rawAccount: RawAccount;
13
- cargo: import("../internal/c4/game.js").GameCargoDefinitionData & {
14
- readonly withdrawEpochDuration: number;
15
- readonly circuitBreaker: bigint;
16
- };
14
+ cargo: import("@staratlas/dev-sage").CargoType;
17
15
  cache: import("../client/contracts.js").Address;
18
16
  sequenceId: number;
19
17
  }>>;
18
+ /** One validated decode per Game supplies selected digests, local to this check. */
19
+ export declare function hashGameCargoConfigurationGuards(account: RawAccount, cargoIds: readonly number[]): Promise<ReadonlyMap<number, string>>;
20
20
  //# sourceMappingURL=cargo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cargo.d.ts","sourceRoot":"","sources":["../../src/registry/cargo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAEtE,OAAO,EAGL,KAAK,+BAA+B,EACrC,MAAM,wBAAwB,CAAC;AAIhC,yEAAyE;AACzE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC;CAChD;AAED,wFAAwF;AACxF,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC,CAQhD;AAED,kGAAkG;AAClG,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,MAAM;;;;;;;;IA8BhB"}
1
+ {"version":3,"file":"cargo.d.ts","sourceRoot":"","sources":["../../src/registry/cargo.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAEtE,OAAO,EAGL,KAAK,+BAA+B,EACrC,MAAM,wBAAwB,CAAC;AAIhC,yEAAyE;AACzE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,+BAA+B,CAAC;CAChD;AAED,wFAAwF;AACxF,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC,CAQhD;AAmCD,mFAAmF;AACnF,wBAAsB,oCAAoC,CACxD,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,MAAM;;;;;;IAUhB;AAED,oFAAoF;AACpF,wBAAsB,gCAAgC,CACpD,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAatC"}
@@ -1,5 +1,6 @@
1
+ import { hashCargoBytesConfiguration } from '../internal/c4/cargo-bytes-config.js';
1
2
  import { readContextRawAccounts } from '../client/reconciliation.js';
2
- import { decodeGameCargoConfiguration, decodeGameRegistrySections, } from '../internal/c4/game.js';
3
+ import { decodeGameCargoConfigurationRows, decodeGameRegistrySections, } from '../internal/c4/game.js';
3
4
  import { requireGameAddress } from '../internal/game-context.js';
4
5
  import { InvalidActionInputError } from '../client/errors.js';
5
6
  /** Reads and decodes the configured Game cargo section without consulting its cache. */
@@ -14,14 +15,14 @@ export async function readFreshGameCargoDefinitions(context) {
14
15
  });
15
16
  }
16
17
  /** Resolves one wallet cargo and its configured cache from one fresh registry-owned Game read. */
17
- export async function readFreshGameCargoConfiguration(context, cargoId) {
18
+ async function readFreshSelectedCargoConfiguration(context, cargoId) {
18
19
  const game = requireGameAddress(context);
19
20
  const [rawAccount] = await readContextRawAccounts(context, [game]);
20
21
  if (rawAccount === undefined) {
21
22
  throw new InvalidActionInputError('game', game, 'an existing Game in the configured deployment', 'Verify the deployment and refresh its Game before transferring wallet cargo.');
22
23
  }
23
- const data = decodeGameCargoConfiguration(rawAccount);
24
- const cargo = data.definitions.find((definition) => definition.id === cargoId);
24
+ const data = decodeGameCargoConfigurationRows(rawAccount);
25
+ const cargo = data.rows.find((definition) => definition.id === cargoId);
25
26
  if (cargo === undefined) {
26
27
  throw new InvalidActionInputError('cargoId', cargoId, 'a cargo ID defined in the configured Game', 'Select a cargo ID from this deployment before transferring wallet cargo.');
27
28
  }
@@ -32,4 +33,24 @@ export async function readFreshGameCargoConfiguration(context, cargoId) {
32
33
  sequenceId: data.sequenceId,
33
34
  });
34
35
  }
36
+ /** Wallet Plans hash the full decoded row's pinned encoding and cache identity. */
37
+ export async function readFreshGameCargoBytesConfiguration(context, cargoId) {
38
+ const selected = await readFreshSelectedCargoConfiguration(context, cargoId);
39
+ return Object.freeze({
40
+ ...selected,
41
+ configHash: await hashCargoBytesConfiguration(selected.cache, selected.cargo),
42
+ });
43
+ }
44
+ /** One validated decode per Game supplies selected digests, local to this check. */
45
+ export async function hashGameCargoConfigurationGuards(account, cargoIds) {
46
+ const data = decodeGameCargoConfigurationRows(account);
47
+ const selected = new Set(cargoIds);
48
+ const hashes = new Map();
49
+ for (const cargo of data.rows) {
50
+ if (selected.has(cargo.id))
51
+ hashes.set(cargo.id, await hashCargoBytesConfiguration(data.cache, cargo));
52
+ }
53
+ // Missing IDs deliberately have no digest, so their corresponding guard fails.
54
+ return hashes;
55
+ }
35
56
  //# sourceMappingURL=cargo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cargo.js","sourceRoot":"","sources":["../../src/registry/cargo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,GAE3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAQ9D,wFAAwF;AACxF,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,OAAoB;IAEpB,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO;QACP,IAAI,EAAE,0BAA0B,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAM;KAC5D,CAAC,CAAC;AACL,CAAC;AAED,kGAAkG;AAClG,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,OAAoB,EACpB,OAAe;IAEf,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,uBAAuB,CAC/B,MAAM,EACN,IAAI,EACJ,+CAA+C,EAC/C,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,4BAA4B,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CACjC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,OAAO,CAC1C,CAAC;IACF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,uBAAuB,CAC/B,SAAS,EACT,OAAO,EACP,2CAA2C,EAC3C,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,UAAU;QACV,KAAK;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"cargo.js","sourceRoot":"","sources":["../../src/registry/cargo.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import type { RawAccount, SageContext } from '../client/contracts.js';
2
2
  /** Fresh Game validation for Character creation, without loading retained catalogs. */
3
3
  export declare function readFreshGameForCharacterRegistration(ctx: SageContext): Promise<RawAccount>;
4
+ /** Validates fresh Game identity and the full pinned layout without retaining catalogs or hashing definitions. */
5
+ export declare function validateGameForCharacterRegistration(account: RawAccount): void;
4
6
  //# sourceMappingURL=onboarding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/registry/onboarding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAMtE,uFAAuF;AACvF,wBAAsB,qCAAqC,CACzD,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,UAAU,CAAC,CAoBrB"}
1
+ {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/registry/onboarding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAMtE,uFAAuF;AACvF,wBAAsB,qCAAqC,CACzD,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,UAAU,CAAC,CAWrB;AAED,kHAAkH;AAClH,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,UAAU,GAClB,IAAI,CAYN"}
@@ -1,19 +1,24 @@
1
1
  import { SageSdkError } from '../client/errors.js';
2
2
  import { readContextRawAccounts } from '../client/reconciliation.js';
3
- import { decodeGameRegistrySections } from '../internal/c4/game.js';
3
+ import { validateGameAccountLayout } from '../internal/c4/game.js';
4
4
  import { requireGameAddress } from '../internal/game-context.js';
5
5
  /** Fresh Game validation for Character creation, without loading retained catalogs. */
6
6
  export async function readFreshGameForCharacterRegistration(ctx) {
7
7
  const game = requireGameAddress(ctx);
8
8
  const [account] = await readContextRawAccounts(ctx, [game]);
9
9
  if (!account)
10
- throw new SageSdkError('ACTION_PRECONDITION_FAILED', `The configured Game ${game} is missing. Select an existing C4 Game before registering this Profile's Character.`, { address: game });
10
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', `The configured Game ${game} is missing. Select an existing C4 Game before planning this action.`, { address: game });
11
+ validateGameForCharacterRegistration(account);
12
+ return account;
13
+ }
14
+ /** Validates fresh Game identity and the full pinned layout without retaining catalogs or hashing definitions. */
15
+ export function validateGameForCharacterRegistration(account) {
16
+ const game = account.address;
11
17
  if (account.executable)
12
- throw new SageSdkError('ACTION_PRECONDITION_FAILED', `The configured Game ${game} is executable instead of Game state. Select a valid C4 Game account and retry registration.`, { address: game });
18
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', `The configured Game ${game} is executable instead of Game state. Select a valid C4 Game account and plan again.`, { address: game });
13
19
  // Prefix validation alone cannot detect truncated variable-length Game data.
14
20
  // The registry's pinned exact codec validates the whole account transiently;
15
- // an empty section request translates and retains no definition catalogs.
16
- decodeGameRegistrySections(account, []);
17
- return account;
21
+ // the validation-only entry retains no catalog translation dispatcher.
22
+ validateGameAccountLayout(account);
18
23
  }
19
24
  //# sourceMappingURL=onboarding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/registry/onboarding.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,qCAAqC,CACzD,GAAgB;IAEhB,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,sBAAsB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,uBAAuB,IAAI,sFAAsF,EACjH,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;IACJ,IAAI,OAAO,CAAC,UAAU;QACpB,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,uBAAuB,IAAI,8FAA8F,EACzH,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;IACJ,6EAA6E;IAC7E,6EAA6E;IAC7E,0EAA0E;IAC1E,0BAA0B,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACxC,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/registry/onboarding.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,qCAAqC,CACzD,GAAgB;IAEhB,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,sBAAsB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,uBAAuB,IAAI,sEAAsE,EACjG,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;IACJ,oCAAoC,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,kHAAkH;AAClH,MAAM,UAAU,oCAAoC,CAClD,OAAmB;IAEnB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAC7B,IAAI,OAAO,CAAC,UAAU;QACpB,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,uBAAuB,IAAI,sFAAsF,EACjH,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;IACJ,6EAA6E;IAC7E,6EAA6E;IAC7E,uEAAuE;IACvE,yBAAyB,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC"}
@@ -100,10 +100,10 @@ const rules = {
100
100
  counterWarmingPlates: U32,
101
101
  counterFaradayShielding: U32,
102
102
  stealthPower: U32,
103
- hitChance: U32,
103
+ hitChance: U26F6,
104
104
  aimAbility: U32,
105
105
  critChance: U32,
106
- critMultiplier: U32,
106
+ critMultiplier: U26F6,
107
107
  fuelConsumptionRate: U32,
108
108
  missileDamage: U32,
109
109
  missileFireRate: U32,
@@ -114,13 +114,13 @@ const rules = {
114
114
  respawnTimeWithoutFeeSeconds: U16,
115
115
  respawnTimeWithFeeSeconds: U16,
116
116
  respawnFeeRaw: U64,
117
- scanCoolDownSeconds: U32,
118
- scanPower: U32,
117
+ scanCoolDownSeconds: U16F16,
118
+ scanPower: U26F6,
119
119
  scanCost: U32,
120
120
  scanBonus: I32,
121
121
  lpValue: U32,
122
122
  medallionValue: U32,
123
- xpValue: U32,
123
+ xpValue: U16F16,
124
124
  respawnFeeAtlas: (value) => typeof value === 'number' && Number.isFinite(value) && value >= 0
125
125
  ? value
126
126
  : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"ship-stats-snapshot.js","sourceRoot":"","sources":["../../src/registry/ship-stats-snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ship-stats-snapshot.js","sourceRoot":"","sources":["../../src/registry/ship-stats-snapshot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { Address } from '@solana/kit';
2
+ import type { RawAccount, SageContext } from '../client/contracts.js';
3
+ import { type GameShipConfigurationRow } from '../internal/c4/game.js';
4
+ /** Resolves one explicit ship configuration from a fresh, registry-owned Game read. */
5
+ export declare function readFreshGameShipConfiguration(context: SageContext, shipId: number): Promise<Readonly<{
6
+ rawAccount: RawAccount;
7
+ ship: import("@staratlas/dev-sage").Ship;
8
+ configHash: string;
9
+ }>>;
10
+ /** Decodes one fresh Game once and hashes each requested ship; missing IDs have no hash. */
11
+ export declare function hashGameShipConfigurations(account: RawAccount, shipIds: readonly number[], catalog?: ShipAssemblyCatalog): Promise<ReadonlyMap<number, string>>;
12
+ /** Invocation-local validated raw ship catalog; never retained by a context. */
13
+ export interface ShipAssemblyCatalog {
14
+ readonly owner: Address;
15
+ readonly sequenceId: number;
16
+ readonly maxFleetSize: number;
17
+ readonly rows: readonly GameShipConfigurationRow[];
18
+ }
19
+ /** Validates and decodes the Game exactly once behind the registry boundary. */
20
+ export declare function decodeGameShipAssemblyCatalog(account: RawAccount): ShipAssemblyCatalog;
21
+ /** Reads fresh assembly configuration without loading public registry sections. */
22
+ export declare function readFreshGameShipAssemblyCatalog(ctx: SageContext): Promise<{
23
+ rawAccount: RawAccount;
24
+ catalog: ShipAssemblyCatalog;
25
+ }>;
26
+ /** Hashes only the selected pinned configuration, allowing unrelated Game updates. */
27
+ export declare function hashShipAssemblyConfiguration(catalog: ShipAssemblyCatalog, ship: GameShipConfigurationRow): Promise<string>;
28
+ //# sourceMappingURL=ships.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ships.d.ts","sourceRoot":"","sources":["../../src/registry/ships.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGtE,OAAO,EAIL,KAAK,wBAAwB,EAC9B,MAAM,wBAAwB,CAAC;AAYhC,uFAAuF;AACvF,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,MAAM;;;;IA0Bf;AAED,4FAA4F;AAC5F,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAQtC;AAED,gFAAgF;AAChF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,wBAAwB,EAAE,CAAC;CACpD;AACD,gFAAgF;AAChF,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,UAAU,GAClB,mBAAmB,CAErB;AACD,mFAAmF;AACnF,wBAAsB,gCAAgC,CACpD,GAAG,EAAE,WAAW,GACf,OAAO,CAAC;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAWnE;AACD,sFAAsF;AACtF,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,mBAAmB,EAC5B,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAEjB"}
@@ -0,0 +1,51 @@
1
+ import { InvalidActionInputError } from '../client/errors.js';
2
+ import { readContextRawAccounts } from '../client/reconciliation.js';
3
+ import { decodeGameShipConfigurations, decodeGameShipConfigurationRows, encodeGameShipConfiguration, } from '../internal/c4/game.js';
4
+ import { requireGameAddress } from '../internal/game-context.js';
5
+ import { hashAccountState } from '../internal/planning/account-state.js';
6
+ /** Hashes the complete pinned Ship encoding, including its ID, mint and requirements. */
7
+ function hashShip(account, ship) {
8
+ return hashAccountState(account.owner, encodeGameShipConfiguration(ship));
9
+ }
10
+ /** Resolves one explicit ship configuration from a fresh, registry-owned Game read. */
11
+ export async function readFreshGameShipConfiguration(context, shipId) {
12
+ const game = requireGameAddress(context);
13
+ const [rawAccount] = await readContextRawAccounts(context, [game]);
14
+ if (!rawAccount)
15
+ throw new InvalidActionInputError('game', game, 'an existing Game in the configured deployment', 'Refresh the configured Game before importing a ship.');
16
+ const ship = decodeGameShipConfigurations(rawAccount).find((row) => row.id === shipId);
17
+ if (!ship)
18
+ throw new InvalidActionInputError('shipId', shipId, 'a ship configuration ID defined in this Game', 'Select a ship configuration from this deployment before importing.');
19
+ return Object.freeze({
20
+ rawAccount,
21
+ ship,
22
+ configHash: await hashShip(rawAccount, ship),
23
+ });
24
+ }
25
+ /** Decodes one fresh Game once and hashes each requested ship; missing IDs have no hash. */
26
+ export async function hashGameShipConfigurations(account, shipIds, catalog) {
27
+ const ships = catalog?.rows ?? decodeGameShipConfigurations(account);
28
+ const selected = new Set(shipIds);
29
+ const hashes = new Map();
30
+ for (const ship of ships)
31
+ if (selected.has(ship.id))
32
+ hashes.set(ship.id, await hashShip(account, ship));
33
+ return hashes;
34
+ }
35
+ /** Validates and decodes the Game exactly once behind the registry boundary. */
36
+ export function decodeGameShipAssemblyCatalog(account) {
37
+ return { owner: account.owner, ...decodeGameShipConfigurationRows(account) };
38
+ }
39
+ /** Reads fresh assembly configuration without loading public registry sections. */
40
+ export async function readFreshGameShipAssemblyCatalog(ctx) {
41
+ const game = requireGameAddress(ctx);
42
+ const [rawAccount] = await readContextRawAccounts(ctx, [game]);
43
+ if (!rawAccount)
44
+ throw new InvalidActionInputError('game', game, 'an existing Game', 'Refresh the configured Game before assembling ships.');
45
+ return { rawAccount, catalog: decodeGameShipAssemblyCatalog(rawAccount) };
46
+ }
47
+ /** Hashes only the selected pinned configuration, allowing unrelated Game updates. */
48
+ export function hashShipAssemblyConfiguration(catalog, ship) {
49
+ return hashAccountState(catalog.owner, encodeGameShipConfiguration(ship));
50
+ }
51
+ //# sourceMappingURL=ships.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ships.js","sourceRoot":"","sources":["../../src/registry/ships.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Address, SageContext } from '../client/contracts.js';
2
+ /** Fresh runtime eligibility uses full Game validation, without retaining catalogs. */
3
+ export declare function readFreshGameRuntimeVersion(ctx: SageContext, game: Address): Promise<number>;
4
+ //# sourceMappingURL=xp-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xp-runtime.d.ts","sourceRoot":"","sources":["../../src/registry/xp-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAMnE,uFAAuF;AACvF,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,MAAM,CAAC,CAejB"}
@@ -0,0 +1,14 @@
1
+ import { SageSdkError } from '../client/errors.js';
2
+ import { readContextRawAccounts } from '../client/reconciliation.js';
3
+ import { decodeGameRuntimeVersion } from '../internal/c4/game.js';
4
+ import { requireGameAddress } from '../internal/game-context.js';
5
+ /** Fresh runtime eligibility uses full Game validation, without retaining catalogs. */
6
+ export async function readFreshGameRuntimeVersion(ctx, game) {
7
+ if (requireGameAddress(ctx) !== game)
8
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', `XP runtime Game ${game} differs from the configured Game. Use this deployment's Game and prepare a new Plan.`, { address: game });
9
+ const [account] = await readContextRawAccounts(ctx, [game]);
10
+ if (!account || account.address !== game || account.executable)
11
+ throw new SageSdkError('ACTION_PRECONDITION_FAILED', `Game ${game} must be an existing, non-executable Game account. Refresh the configured Game and prepare a new Plan.`, { address: game });
12
+ return decodeGameRuntimeVersion(account);
13
+ }
14
+ //# sourceMappingURL=xp-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xp-runtime.js","sourceRoot":"","sources":["../../src/registry/xp-runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,GAAgB,EAChB,IAAa;IAEb,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,IAAI;QAClC,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,mBAAmB,IAAI,uFAAuF,EAC9G,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;IACJ,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,sBAAsB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,UAAU;QAC5D,MAAM,IAAI,YAAY,CACpB,4BAA4B,EAC5B,QAAQ,IAAI,wGAAwG,EACpH,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAC;IACJ,OAAO,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC"}