project-cpu-mcp 0.9.1 → 0.10.0

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 (561) hide show
  1. package/README.md +26 -8
  2. package/dist/api/types.d.ts +1374 -103
  3. package/dist/api/types.d.ts.map +1 -1
  4. package/dist/api/types.js +121 -35
  5. package/dist/api/types.js.map +1 -1
  6. package/dist/config/boolean-env.utils.d.ts +2 -0
  7. package/dist/config/boolean-env.utils.d.ts.map +1 -0
  8. package/dist/config/boolean-env.utils.js +15 -0
  9. package/dist/config/boolean-env.utils.js.map +1 -0
  10. package/dist/config/constants.d.ts +6 -0
  11. package/dist/config/constants.d.ts.map +1 -1
  12. package/dist/config/constants.js +6 -0
  13. package/dist/config/constants.js.map +1 -1
  14. package/dist/config/env.d.ts.map +1 -1
  15. package/dist/config/env.js +3 -0
  16. package/dist/config/env.js.map +1 -1
  17. package/dist/config/network.types.d.ts +8 -0
  18. package/dist/config/network.types.d.ts.map +1 -0
  19. package/dist/config/network.types.js +10 -0
  20. package/dist/config/network.types.js.map +1 -0
  21. package/dist/config/types.d.ts +11 -12
  22. package/dist/config/types.d.ts.map +1 -1
  23. package/dist/config/types.js +4 -11
  24. package/dist/config/types.js.map +1 -1
  25. package/dist/contracts/cell.abi.d.ts +48 -0
  26. package/dist/contracts/cell.abi.d.ts.map +1 -1
  27. package/dist/contracts/cell.abi.js +14 -0
  28. package/dist/contracts/cell.abi.js.map +1 -1
  29. package/dist/contracts/trade.abi.d.ts +5 -0
  30. package/dist/contracts/trade.abi.d.ts.map +1 -1
  31. package/dist/contracts/trade.abi.js +1 -0
  32. package/dist/contracts/trade.abi.js.map +1 -1
  33. package/dist/contracts/transport.abi.d.ts +10 -0
  34. package/dist/contracts/transport.abi.d.ts.map +1 -1
  35. package/dist/contracts/transport.abi.js +2 -0
  36. package/dist/contracts/transport.abi.js.map +1 -1
  37. package/dist/geometry/adjacency.data.d.ts +1 -1
  38. package/dist/geometry/adjacency.data.d.ts.map +1 -1
  39. package/dist/geometry/adjacency.data.js +115 -193
  40. package/dist/geometry/adjacency.data.js.map +1 -1
  41. package/dist/geometry/constants.d.ts +1 -1
  42. package/dist/geometry/constants.js +1 -1
  43. package/dist/index.js +7 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/logger/index.d.ts.map +1 -1
  46. package/dist/logger/index.js +2 -1
  47. package/dist/logger/index.js.map +1 -1
  48. package/dist/map/attention.utils.d.ts +2 -3
  49. package/dist/map/attention.utils.d.ts.map +1 -1
  50. package/dist/map/attention.utils.js +29 -14
  51. package/dist/map/attention.utils.js.map +1 -1
  52. package/dist/map/cell-view.utils.d.ts.map +1 -1
  53. package/dist/map/cell-view.utils.js +22 -20
  54. package/dist/map/cell-view.utils.js.map +1 -1
  55. package/dist/map/constants.d.ts +0 -1
  56. package/dist/map/constants.d.ts.map +1 -1
  57. package/dist/map/constants.js +0 -1
  58. package/dist/map/constants.js.map +1 -1
  59. package/dist/map/map.utils.d.ts +8 -3
  60. package/dist/map/map.utils.d.ts.map +1 -1
  61. package/dist/map/map.utils.js.map +1 -1
  62. package/dist/map/process-projection.utils.d.ts +4 -0
  63. package/dist/map/process-projection.utils.d.ts.map +1 -0
  64. package/dist/map/process-projection.utils.js +144 -0
  65. package/dist/map/process-projection.utils.js.map +1 -0
  66. package/dist/map/reader.d.ts +2 -2
  67. package/dist/map/reader.d.ts.map +1 -1
  68. package/dist/map/reader.js +12 -4
  69. package/dist/map/reader.js.map +1 -1
  70. package/dist/map/reader.utils.d.ts +4 -4
  71. package/dist/map/reader.utils.d.ts.map +1 -1
  72. package/dist/map/reader.utils.js +15 -9
  73. package/dist/map/reader.utils.js.map +1 -1
  74. package/dist/map/socket.d.ts.map +1 -1
  75. package/dist/map/socket.js +1 -0
  76. package/dist/map/socket.js.map +1 -1
  77. package/dist/map/storage.utils.d.ts +3 -6
  78. package/dist/map/storage.utils.d.ts.map +1 -1
  79. package/dist/map/storage.utils.js +9 -41
  80. package/dist/map/storage.utils.js.map +1 -1
  81. package/dist/map/store.d.ts +7 -0
  82. package/dist/map/store.d.ts.map +1 -1
  83. package/dist/map/store.js +28 -0
  84. package/dist/map/store.js.map +1 -1
  85. package/dist/map/sync.d.ts +4 -0
  86. package/dist/map/sync.d.ts.map +1 -1
  87. package/dist/map/sync.js +42 -2
  88. package/dist/map/sync.js.map +1 -1
  89. package/dist/map/types.d.ts +123 -28
  90. package/dist/map/types.d.ts.map +1 -1
  91. package/dist/map/types.js +3 -1
  92. package/dist/map/types.js.map +1 -1
  93. package/dist/server.constants.d.ts +3 -0
  94. package/dist/server.constants.d.ts.map +1 -0
  95. package/dist/server.constants.js +24 -0
  96. package/dist/server.constants.js.map +1 -0
  97. package/dist/server.d.ts.map +1 -1
  98. package/dist/server.js +30 -76
  99. package/dist/server.js.map +1 -1
  100. package/dist/services/app-config.service.d.ts.map +1 -1
  101. package/dist/services/app-config.service.js +3 -48
  102. package/dist/services/app-config.service.js.map +1 -1
  103. package/dist/services/app-config.utils.d.ts +2 -12
  104. package/dist/services/app-config.utils.d.ts.map +1 -1
  105. package/dist/services/app-config.utils.js +51 -10
  106. package/dist/services/app-config.utils.js.map +1 -1
  107. package/dist/services/build.service.d.ts +0 -3
  108. package/dist/services/build.service.d.ts.map +1 -1
  109. package/dist/services/build.service.js +15 -35
  110. package/dist/services/build.service.js.map +1 -1
  111. package/dist/services/craft-quote.constants.d.ts +2 -0
  112. package/dist/services/craft-quote.constants.d.ts.map +1 -0
  113. package/dist/services/craft-quote.constants.js +2 -0
  114. package/dist/services/craft-quote.constants.js.map +1 -0
  115. package/dist/services/craft-quote.utils.d.ts +4 -0
  116. package/dist/services/craft-quote.utils.d.ts.map +1 -0
  117. package/dist/services/craft-quote.utils.js +12 -0
  118. package/dist/services/craft-quote.utils.js.map +1 -0
  119. package/dist/services/craft.service.d.ts +1 -7
  120. package/dist/services/craft.service.d.ts.map +1 -1
  121. package/dist/services/craft.service.js +60 -90
  122. package/dist/services/craft.service.js.map +1 -1
  123. package/dist/services/mining.service.d.ts +1 -4
  124. package/dist/services/mining.service.d.ts.map +1 -1
  125. package/dist/services/mining.service.js +41 -72
  126. package/dist/services/mining.service.js.map +1 -1
  127. package/dist/services/mint.constants.d.ts +1 -0
  128. package/dist/services/mint.constants.d.ts.map +1 -1
  129. package/dist/services/mint.constants.js +3 -0
  130. package/dist/services/mint.constants.js.map +1 -1
  131. package/dist/services/mint.service.d.ts +0 -1
  132. package/dist/services/mint.service.d.ts.map +1 -1
  133. package/dist/services/mint.service.js +10 -17
  134. package/dist/services/mint.service.js.map +1 -1
  135. package/dist/services/mode-switch.d.ts +9 -0
  136. package/dist/services/mode-switch.d.ts.map +1 -0
  137. package/dist/services/mode-switch.js +71 -0
  138. package/dist/services/mode-switch.js.map +1 -0
  139. package/dist/services/mode-switch.types.d.ts +60 -0
  140. package/dist/services/mode-switch.types.d.ts.map +1 -0
  141. package/dist/services/mode-switch.types.js +6 -0
  142. package/dist/services/mode-switch.types.js.map +1 -0
  143. package/dist/services/paid-action.constants.d.ts +3 -0
  144. package/dist/services/paid-action.constants.d.ts.map +1 -0
  145. package/dist/services/paid-action.constants.js +11 -0
  146. package/dist/services/paid-action.constants.js.map +1 -0
  147. package/dist/services/paid-action.d.ts +3 -0
  148. package/dist/services/paid-action.d.ts.map +1 -0
  149. package/dist/services/paid-action.js +23 -0
  150. package/dist/services/paid-action.js.map +1 -0
  151. package/dist/services/paid-action.types.d.ts +22 -0
  152. package/dist/services/paid-action.types.d.ts.map +1 -0
  153. package/dist/services/paid-action.types.js +11 -0
  154. package/dist/services/paid-action.types.js.map +1 -0
  155. package/dist/services/reveal-fulfilment.service.d.ts.map +1 -1
  156. package/dist/services/reveal-fulfilment.service.js +2 -5
  157. package/dist/services/reveal-fulfilment.service.js.map +1 -1
  158. package/dist/services/reveal.service.d.ts.map +1 -1
  159. package/dist/services/reveal.service.js +5 -9
  160. package/dist/services/reveal.service.js.map +1 -1
  161. package/dist/services/route.artifact.d.ts +4 -0
  162. package/dist/services/route.artifact.d.ts.map +1 -0
  163. package/dist/services/route.artifact.js +18 -0
  164. package/dist/services/route.artifact.js.map +1 -0
  165. package/dist/services/route.constants.d.ts +14 -0
  166. package/dist/services/route.constants.d.ts.map +1 -1
  167. package/dist/services/route.constants.js +84 -8
  168. package/dist/services/route.constants.js.map +1 -1
  169. package/dist/services/route.service.d.ts +4 -0
  170. package/dist/services/route.service.d.ts.map +1 -1
  171. package/dist/services/route.service.js +108 -87
  172. package/dist/services/route.service.js.map +1 -1
  173. package/dist/services/route.utils.d.ts +96 -5
  174. package/dist/services/route.utils.d.ts.map +1 -1
  175. package/dist/services/route.utils.js +196 -37
  176. package/dist/services/route.utils.js.map +1 -1
  177. package/dist/services/swap.service.d.ts +0 -1
  178. package/dist/services/swap.service.d.ts.map +1 -1
  179. package/dist/services/swap.service.js +11 -17
  180. package/dist/services/swap.service.js.map +1 -1
  181. package/dist/services/syndicate.constants.d.ts +3 -0
  182. package/dist/services/syndicate.constants.d.ts.map +1 -0
  183. package/dist/services/syndicate.constants.js +3 -0
  184. package/dist/services/syndicate.constants.js.map +1 -0
  185. package/dist/services/syndicate.helpers.d.ts.map +1 -1
  186. package/dist/services/syndicate.helpers.js +0 -2
  187. package/dist/services/syndicate.helpers.js.map +1 -1
  188. package/dist/services/syndicate.service.d.ts +3 -3
  189. package/dist/services/syndicate.service.d.ts.map +1 -1
  190. package/dist/services/syndicate.service.js +27 -32
  191. package/dist/services/syndicate.service.js.map +1 -1
  192. package/dist/services/trade.service.d.ts +0 -3
  193. package/dist/services/trade.service.d.ts.map +1 -1
  194. package/dist/services/trade.service.js +27 -47
  195. package/dist/services/trade.service.js.map +1 -1
  196. package/dist/services/transport.service.d.ts +0 -2
  197. package/dist/services/transport.service.d.ts.map +1 -1
  198. package/dist/services/transport.service.js +16 -33
  199. package/dist/services/transport.service.js.map +1 -1
  200. package/dist/services/types.d.ts +88 -44
  201. package/dist/services/types.d.ts.map +1 -1
  202. package/dist/services/types.js.map +1 -1
  203. package/dist/services/withdraw.service.d.ts +0 -2
  204. package/dist/services/withdraw.service.d.ts.map +1 -1
  205. package/dist/services/withdraw.service.js +6 -17
  206. package/dist/services/withdraw.service.js.map +1 -1
  207. package/dist/tools/authenticate.d.ts.map +1 -1
  208. package/dist/tools/authenticate.js +3 -1
  209. package/dist/tools/authenticate.js.map +1 -1
  210. package/dist/tools/build/build.d.ts +1 -1
  211. package/dist/tools/build/build.d.ts.map +1 -1
  212. package/dist/tools/build/build.js +10 -35
  213. package/dist/tools/build/build.js.map +1 -1
  214. package/dist/tools/build/constants.d.ts +36 -0
  215. package/dist/tools/build/constants.d.ts.map +1 -1
  216. package/dist/tools/build/constants.js +36 -0
  217. package/dist/tools/build/constants.js.map +1 -1
  218. package/dist/tools/build/demolish.d.ts +1 -1
  219. package/dist/tools/build/demolish.d.ts.map +1 -1
  220. package/dist/tools/build/demolish.js +5 -1
  221. package/dist/tools/build/demolish.js.map +1 -1
  222. package/dist/tools/build/panel.utils.d.ts +4 -0
  223. package/dist/tools/build/panel.utils.d.ts.map +1 -0
  224. package/dist/tools/build/panel.utils.js +103 -0
  225. package/dist/tools/build/panel.utils.js.map +1 -0
  226. package/dist/tools/build/types.d.ts +9 -0
  227. package/dist/tools/build/types.d.ts.map +1 -1
  228. package/dist/tools/build/types.js.map +1 -1
  229. package/dist/tools/build/upgrade.d.ts +1 -1
  230. package/dist/tools/build/upgrade.d.ts.map +1 -1
  231. package/dist/tools/build/upgrade.js +10 -22
  232. package/dist/tools/build/upgrade.js.map +1 -1
  233. package/dist/tools/config/building-card/building-card.d.ts +4 -0
  234. package/dist/tools/config/building-card/building-card.d.ts.map +1 -0
  235. package/dist/tools/config/building-card/building-card.js +20 -0
  236. package/dist/tools/config/building-card/building-card.js.map +1 -0
  237. package/dist/tools/config/building-card/building-card.utils.d.ts +10 -0
  238. package/dist/tools/config/building-card/building-card.utils.d.ts.map +1 -0
  239. package/dist/tools/config/building-card/building-card.utils.js +206 -0
  240. package/dist/tools/config/building-card/building-card.utils.js.map +1 -0
  241. package/dist/tools/config/building-card/constants.d.ts +39 -0
  242. package/dist/tools/config/building-card/constants.d.ts.map +1 -0
  243. package/dist/tools/config/building-card/constants.js +43 -0
  244. package/dist/tools/config/building-card/constants.js.map +1 -0
  245. package/dist/tools/config/building-card/types.d.ts +63 -0
  246. package/dist/tools/config/building-card/types.d.ts.map +1 -0
  247. package/dist/tools/config/building-card/types.js +8 -0
  248. package/dist/tools/config/building-card/types.js.map +1 -0
  249. package/dist/tools/config/find-buildings/constants.d.ts +9 -0
  250. package/dist/tools/config/find-buildings/constants.d.ts.map +1 -0
  251. package/dist/tools/config/find-buildings/constants.js +19 -0
  252. package/dist/tools/config/find-buildings/constants.js.map +1 -0
  253. package/dist/tools/config/find-buildings/find-buildings.d.ts +4 -0
  254. package/dist/tools/config/find-buildings/find-buildings.d.ts.map +1 -0
  255. package/dist/tools/config/find-buildings/find-buildings.js +31 -0
  256. package/dist/tools/config/find-buildings/find-buildings.js.map +1 -0
  257. package/dist/tools/config/find-buildings/find-buildings.utils.d.ts +14 -0
  258. package/dist/tools/config/find-buildings/find-buildings.utils.d.ts.map +1 -0
  259. package/dist/tools/config/find-buildings/find-buildings.utils.js +85 -0
  260. package/dist/tools/config/find-buildings/find-buildings.utils.js.map +1 -0
  261. package/dist/tools/config/find-buildings/types.d.ts +36 -0
  262. package/dist/tools/config/find-buildings/types.d.ts.map +1 -0
  263. package/dist/tools/config/find-buildings/types.js +40 -0
  264. package/dist/tools/config/find-buildings/types.js.map +1 -0
  265. package/dist/tools/config/get-game-config/constants.d.ts +19 -7
  266. package/dist/tools/config/get-game-config/constants.d.ts.map +1 -1
  267. package/dist/tools/config/get-game-config/constants.js +48 -15
  268. package/dist/tools/config/get-game-config/constants.js.map +1 -1
  269. package/dist/tools/config/get-game-config/get-game-config.d.ts.map +1 -1
  270. package/dist/tools/config/get-game-config/get-game-config.js +4 -43
  271. package/dist/tools/config/get-game-config/get-game-config.js.map +1 -1
  272. package/dist/tools/config/get-game-config/get-game-config.utils.d.ts +9 -5
  273. package/dist/tools/config/get-game-config/get-game-config.utils.d.ts.map +1 -1
  274. package/dist/tools/config/get-game-config/get-game-config.utils.js +73 -77
  275. package/dist/tools/config/get-game-config/get-game-config.utils.js.map +1 -1
  276. package/dist/tools/config/get-game-config/types.d.ts +36 -0
  277. package/dist/tools/config/get-game-config/types.d.ts.map +1 -0
  278. package/dist/tools/config/get-game-config/types.js +2 -0
  279. package/dist/tools/config/get-game-config/types.js.map +1 -0
  280. package/dist/tools/config/resource-lens/constants.d.ts +24 -0
  281. package/dist/tools/config/resource-lens/constants.d.ts.map +1 -0
  282. package/dist/tools/config/resource-lens/constants.js +36 -0
  283. package/dist/tools/config/resource-lens/constants.js.map +1 -0
  284. package/dist/tools/config/resource-lens/resource-lens.d.ts +4 -0
  285. package/dist/tools/config/resource-lens/resource-lens.d.ts.map +1 -0
  286. package/dist/tools/config/resource-lens/resource-lens.js +16 -0
  287. package/dist/tools/config/resource-lens/resource-lens.js.map +1 -0
  288. package/dist/tools/config/resource-lens/resource-lens.utils.d.ts +6 -0
  289. package/dist/tools/config/resource-lens/resource-lens.utils.d.ts.map +1 -0
  290. package/dist/tools/config/resource-lens/resource-lens.utils.js +108 -0
  291. package/dist/tools/config/resource-lens/resource-lens.utils.js.map +1 -0
  292. package/dist/tools/config/resource-lens/types.d.ts +34 -0
  293. package/dist/tools/config/resource-lens/types.d.ts.map +1 -0
  294. package/dist/tools/config/resource-lens/types.js +8 -0
  295. package/dist/tools/config/resource-lens/types.js.map +1 -0
  296. package/dist/tools/craft/claim/claim-craft.d.ts +1 -1
  297. package/dist/tools/craft/claim/claim-craft.d.ts.map +1 -1
  298. package/dist/tools/craft/claim/claim-craft.js +5 -1
  299. package/dist/tools/craft/claim/claim-craft.js.map +1 -1
  300. package/dist/tools/craft/craft.d.ts +1 -1
  301. package/dist/tools/craft/craft.d.ts.map +1 -1
  302. package/dist/tools/craft/craft.js +5 -1
  303. package/dist/tools/craft/craft.js.map +1 -1
  304. package/dist/tools/map/attention/attention.d.ts.map +1 -1
  305. package/dist/tools/map/attention/attention.js +12 -6
  306. package/dist/tools/map/attention/attention.js.map +1 -1
  307. package/dist/tools/map/attention/constants.d.ts +19 -0
  308. package/dist/tools/map/attention/constants.d.ts.map +1 -1
  309. package/dist/tools/map/attention/constants.js +22 -0
  310. package/dist/tools/map/attention/constants.js.map +1 -1
  311. package/dist/tools/map/attention/panel.utils.d.ts +3 -0
  312. package/dist/tools/map/attention/panel.utils.d.ts.map +1 -0
  313. package/dist/tools/map/attention/panel.utils.js +57 -0
  314. package/dist/tools/map/attention/panel.utils.js.map +1 -0
  315. package/dist/tools/map/attention/types.d.ts +12 -1
  316. package/dist/tools/map/attention/types.d.ts.map +1 -1
  317. package/dist/tools/map/attention/types.js.map +1 -1
  318. package/dist/tools/map/get-cell/constants.d.ts +20 -0
  319. package/dist/tools/map/get-cell/constants.d.ts.map +1 -1
  320. package/dist/tools/map/get-cell/constants.js +20 -0
  321. package/dist/tools/map/get-cell/constants.js.map +1 -1
  322. package/dist/tools/map/get-cell/demolish.utils.d.ts +1 -1
  323. package/dist/tools/map/get-cell/demolish.utils.d.ts.map +1 -1
  324. package/dist/tools/map/get-cell/demolish.utils.js +3 -5
  325. package/dist/tools/map/get-cell/demolish.utils.js.map +1 -1
  326. package/dist/tools/map/get-cell/get-cell.d.ts.map +1 -1
  327. package/dist/tools/map/get-cell/get-cell.js +12 -5
  328. package/dist/tools/map/get-cell/get-cell.js.map +1 -1
  329. package/dist/tools/map/get-cell/panel.utils.d.ts +3 -0
  330. package/dist/tools/map/get-cell/panel.utils.d.ts.map +1 -0
  331. package/dist/tools/map/get-cell/panel.utils.js +65 -0
  332. package/dist/tools/map/get-cell/panel.utils.js.map +1 -0
  333. package/dist/tools/map/get-cell/types.d.ts +9 -0
  334. package/dist/tools/map/get-cell/types.d.ts.map +1 -1
  335. package/dist/tools/map/get-cell/types.js.map +1 -1
  336. package/dist/tools/map/get-changes/constants.d.ts +31 -0
  337. package/dist/tools/map/get-changes/constants.d.ts.map +1 -1
  338. package/dist/tools/map/get-changes/constants.js +47 -0
  339. package/dist/tools/map/get-changes/constants.js.map +1 -1
  340. package/dist/tools/map/get-changes/get-changes.d.ts.map +1 -1
  341. package/dist/tools/map/get-changes/get-changes.js +9 -3
  342. package/dist/tools/map/get-changes/get-changes.js.map +1 -1
  343. package/dist/tools/map/get-changes/panel.utils.d.ts +3 -0
  344. package/dist/tools/map/get-changes/panel.utils.d.ts.map +1 -0
  345. package/dist/tools/map/get-changes/panel.utils.js +46 -0
  346. package/dist/tools/map/get-changes/panel.utils.js.map +1 -0
  347. package/dist/tools/map/get-changes/types.d.ts +9 -0
  348. package/dist/tools/map/get-changes/types.d.ts.map +1 -1
  349. package/dist/tools/map/get-changes/types.js.map +1 -1
  350. package/dist/tools/map/get-map/constants.js +1 -1
  351. package/dist/tools/map/label.utils.d.ts +1 -0
  352. package/dist/tools/map/label.utils.d.ts.map +1 -1
  353. package/dist/tools/mining/claim/claim-mining.d.ts +1 -1
  354. package/dist/tools/mining/claim/claim-mining.d.ts.map +1 -1
  355. package/dist/tools/mining/claim/claim-mining.js +5 -1
  356. package/dist/tools/mining/claim/claim-mining.js.map +1 -1
  357. package/dist/tools/mining/start/start-mining.d.ts +1 -1
  358. package/dist/tools/mining/start/start-mining.d.ts.map +1 -1
  359. package/dist/tools/mining/start/start-mining.js +5 -1
  360. package/dist/tools/mining/start/start-mining.js.map +1 -1
  361. package/dist/tools/mint/constants.d.ts.map +1 -1
  362. package/dist/tools/mint/constants.js +10 -9
  363. package/dist/tools/mint/constants.js.map +1 -1
  364. package/dist/tools/mint/format.utils.js +4 -4
  365. package/dist/tools/mint/format.utils.js.map +1 -1
  366. package/dist/tools/mint/mint-cell.d.ts +1 -1
  367. package/dist/tools/mint/mint-cell.d.ts.map +1 -1
  368. package/dist/tools/mint/mint-cell.js +2 -1
  369. package/dist/tools/mint/mint-cell.js.map +1 -1
  370. package/dist/tools/persona/constants.d.ts +12 -0
  371. package/dist/tools/persona/constants.d.ts.map +1 -0
  372. package/dist/tools/persona/constants.js +144 -0
  373. package/dist/tools/persona/constants.js.map +1 -0
  374. package/dist/tools/persona/persona.d.ts +4 -0
  375. package/dist/tools/persona/persona.d.ts.map +1 -0
  376. package/dist/tools/persona/persona.gate.d.ts +5 -0
  377. package/dist/tools/persona/persona.gate.d.ts.map +1 -0
  378. package/dist/tools/persona/persona.gate.js +21 -0
  379. package/dist/tools/persona/persona.gate.js.map +1 -0
  380. package/dist/tools/persona/persona.js +9 -0
  381. package/dist/tools/persona/persona.js.map +1 -0
  382. package/dist/tools/persona/persona.utils.d.ts +2 -0
  383. package/dist/tools/persona/persona.utils.d.ts.map +1 -0
  384. package/dist/tools/persona/persona.utils.js +17 -0
  385. package/dist/tools/persona/persona.utils.js.map +1 -0
  386. package/dist/tools/persona/types.d.ts +14 -0
  387. package/dist/tools/persona/types.d.ts.map +1 -0
  388. package/dist/tools/persona/types.js +11 -0
  389. package/dist/tools/persona/types.js.map +1 -0
  390. package/dist/tools/reveal/fulfill-reveal.d.ts +1 -1
  391. package/dist/tools/reveal/fulfill-reveal.d.ts.map +1 -1
  392. package/dist/tools/reveal/fulfill-reveal.js +11 -1
  393. package/dist/tools/reveal/fulfill-reveal.js.map +1 -1
  394. package/dist/tools/reveal/reveal.d.ts +1 -1
  395. package/dist/tools/reveal/reveal.d.ts.map +1 -1
  396. package/dist/tools/reveal/reveal.js +11 -1
  397. package/dist/tools/reveal/reveal.js.map +1 -1
  398. package/dist/tools/swap/swap.d.ts +1 -1
  399. package/dist/tools/swap/swap.d.ts.map +1 -1
  400. package/dist/tools/swap/swap.js +2 -1
  401. package/dist/tools/swap/swap.js.map +1 -1
  402. package/dist/tools/syndicate/create/create-syndicate.d.ts.map +1 -1
  403. package/dist/tools/syndicate/create/create-syndicate.js +6 -9
  404. package/dist/tools/syndicate/create/create-syndicate.js.map +1 -1
  405. package/dist/tools/syndicate/format.utils.d.ts.map +1 -1
  406. package/dist/tools/syndicate/format.utils.js +7 -9
  407. package/dist/tools/syndicate/format.utils.js.map +1 -1
  408. package/dist/tools/syndicate/get/constants.d.ts.map +1 -1
  409. package/dist/tools/syndicate/get/constants.js +3 -2
  410. package/dist/tools/syndicate/get/constants.js.map +1 -1
  411. package/dist/tools/syndicate/get/get-syndicate.d.ts.map +1 -1
  412. package/dist/tools/syndicate/get/get-syndicate.js +6 -9
  413. package/dist/tools/syndicate/get/get-syndicate.js.map +1 -1
  414. package/dist/tools/syndicate/join/constants.d.ts.map +1 -1
  415. package/dist/tools/syndicate/join/constants.js +2 -1
  416. package/dist/tools/syndicate/join/constants.js.map +1 -1
  417. package/dist/tools/syndicate/join/join-syndicate.d.ts.map +1 -1
  418. package/dist/tools/syndicate/join/join-syndicate.js +6 -9
  419. package/dist/tools/syndicate/join/join-syndicate.js.map +1 -1
  420. package/dist/tools/syndicate/leave/leave-syndicate.d.ts.map +1 -1
  421. package/dist/tools/syndicate/leave/leave-syndicate.js +6 -9
  422. package/dist/tools/syndicate/leave/leave-syndicate.js.map +1 -1
  423. package/dist/tools/syndicate/list/constants.d.ts.map +1 -1
  424. package/dist/tools/syndicate/list/constants.js +3 -2
  425. package/dist/tools/syndicate/list/constants.js.map +1 -1
  426. package/dist/tools/syndicate/list/list-syndicates.d.ts.map +1 -1
  427. package/dist/tools/syndicate/list/list-syndicates.js +6 -9
  428. package/dist/tools/syndicate/list/list-syndicates.js.map +1 -1
  429. package/dist/tools/syndicate/membership/constants.js +2 -2
  430. package/dist/tools/syndicate/membership/constants.js.map +1 -1
  431. package/dist/tools/syndicate/membership/get-membership.d.ts.map +1 -1
  432. package/dist/tools/syndicate/membership/get-membership.js +6 -9
  433. package/dist/tools/syndicate/membership/get-membership.js.map +1 -1
  434. package/dist/tools/syndicate/player-content/constants.d.ts +3 -0
  435. package/dist/tools/syndicate/player-content/constants.d.ts.map +1 -0
  436. package/dist/tools/syndicate/player-content/constants.js +13 -0
  437. package/dist/tools/syndicate/player-content/constants.js.map +1 -0
  438. package/dist/tools/syndicate/player-content/get-syndicate-player-content.d.ts +4 -0
  439. package/dist/tools/syndicate/player-content/get-syndicate-player-content.d.ts.map +1 -0
  440. package/dist/tools/syndicate/player-content/get-syndicate-player-content.js +13 -0
  441. package/dist/tools/syndicate/player-content/get-syndicate-player-content.js.map +1 -0
  442. package/dist/tools/syndicate/player-content/presentation.utils.d.ts +21 -0
  443. package/dist/tools/syndicate/player-content/presentation.utils.d.ts.map +1 -0
  444. package/dist/tools/syndicate/player-content/presentation.utils.js +22 -0
  445. package/dist/tools/syndicate/player-content/presentation.utils.js.map +1 -0
  446. package/dist/tools/syndicate/player-content/types.d.ts +71 -0
  447. package/dist/tools/syndicate/player-content/types.d.ts.map +1 -0
  448. package/dist/tools/syndicate/player-content/types.js +30 -0
  449. package/dist/tools/syndicate/player-content/types.js.map +1 -0
  450. package/dist/tools/syndicate/presentation.utils.d.ts +8 -0
  451. package/dist/tools/syndicate/presentation.utils.d.ts.map +1 -0
  452. package/dist/tools/syndicate/presentation.utils.js +121 -0
  453. package/dist/tools/syndicate/presentation.utils.js.map +1 -0
  454. package/dist/tools/syndicate/set-params/constants.d.ts.map +1 -1
  455. package/dist/tools/syndicate/set-params/constants.js +4 -2
  456. package/dist/tools/syndicate/set-params/constants.js.map +1 -1
  457. package/dist/tools/syndicate/set-params/set-syndicate-params.d.ts.map +1 -1
  458. package/dist/tools/syndicate/set-params/set-syndicate-params.js +6 -9
  459. package/dist/tools/syndicate/set-params/set-syndicate-params.js.map +1 -1
  460. package/dist/tools/syndicate/transfer-manager/transfer-syndicate-manager.d.ts.map +1 -1
  461. package/dist/tools/syndicate/transfer-manager/transfer-syndicate-manager.js +6 -9
  462. package/dist/tools/syndicate/transfer-manager/transfer-syndicate-manager.js.map +1 -1
  463. package/dist/tools/syndicate/types.d.ts +36 -0
  464. package/dist/tools/syndicate/types.d.ts.map +1 -1
  465. package/dist/tools/syndicate/types.js +11 -0
  466. package/dist/tools/syndicate/types.js.map +1 -1
  467. package/dist/tools/trade/buy-lot/buy-lot.d.ts +1 -1
  468. package/dist/tools/trade/buy-lot/buy-lot.d.ts.map +1 -1
  469. package/dist/tools/trade/buy-lot/buy-lot.js +2 -1
  470. package/dist/tools/trade/buy-lot/buy-lot.js.map +1 -1
  471. package/dist/tools/trade/cancel-lot/cancel-lot.d.ts +1 -1
  472. package/dist/tools/trade/cancel-lot/cancel-lot.d.ts.map +1 -1
  473. package/dist/tools/trade/cancel-lot/cancel-lot.js +2 -1
  474. package/dist/tools/trade/cancel-lot/cancel-lot.js.map +1 -1
  475. package/dist/tools/trade/create-lot/create-lot.d.ts +1 -1
  476. package/dist/tools/trade/create-lot/create-lot.d.ts.map +1 -1
  477. package/dist/tools/trade/create-lot/create-lot.js +2 -1
  478. package/dist/tools/trade/create-lot/create-lot.js.map +1 -1
  479. package/dist/tools/trade/set-sale-fee/set-sale-fee.d.ts +1 -1
  480. package/dist/tools/trade/set-sale-fee/set-sale-fee.d.ts.map +1 -1
  481. package/dist/tools/trade/set-sale-fee/set-sale-fee.js +2 -1
  482. package/dist/tools/trade/set-sale-fee/set-sale-fee.js.map +1 -1
  483. package/dist/tools/transport/constants.d.ts.map +1 -1
  484. package/dist/tools/transport/constants.js +45 -29
  485. package/dist/tools/transport/constants.js.map +1 -1
  486. package/dist/tools/transport/finalize/finalize-delivery.d.ts +1 -1
  487. package/dist/tools/transport/finalize/finalize-delivery.d.ts.map +1 -1
  488. package/dist/tools/transport/finalize/finalize-delivery.js +2 -1
  489. package/dist/tools/transport/finalize/finalize-delivery.js.map +1 -1
  490. package/dist/tools/transport/network/constants.d.ts +16 -0
  491. package/dist/tools/transport/network/constants.d.ts.map +1 -1
  492. package/dist/tools/transport/network/constants.js +16 -0
  493. package/dist/tools/transport/network/constants.js.map +1 -1
  494. package/dist/tools/transport/network/panel.utils.d.ts +3 -0
  495. package/dist/tools/transport/network/panel.utils.d.ts.map +1 -0
  496. package/dist/tools/transport/network/panel.utils.js +32 -0
  497. package/dist/tools/transport/network/panel.utils.js.map +1 -0
  498. package/dist/tools/transport/network/route-network.d.ts.map +1 -1
  499. package/dist/tools/transport/network/route-network.js +3 -20
  500. package/dist/tools/transport/network/route-network.js.map +1 -1
  501. package/dist/tools/transport/next-hops/constants.d.ts +1 -0
  502. package/dist/tools/transport/next-hops/constants.d.ts.map +1 -1
  503. package/dist/tools/transport/next-hops/constants.js +2 -0
  504. package/dist/tools/transport/next-hops/constants.js.map +1 -1
  505. package/dist/tools/transport/next-hops/next-hops.d.ts.map +1 -1
  506. package/dist/tools/transport/next-hops/next-hops.js +20 -9
  507. package/dist/tools/transport/next-hops/next-hops.js.map +1 -1
  508. package/dist/tools/transport/quote/constants.d.ts.map +1 -1
  509. package/dist/tools/transport/quote/constants.js +8 -3
  510. package/dist/tools/transport/quote/constants.js.map +1 -1
  511. package/dist/tools/transport/transport.d.ts +1 -1
  512. package/dist/tools/transport/transport.d.ts.map +1 -1
  513. package/dist/tools/transport/transport.js +2 -1
  514. package/dist/tools/transport/transport.js.map +1 -1
  515. package/dist/tools/transport/types.d.ts +3 -2
  516. package/dist/tools/transport/types.d.ts.map +1 -1
  517. package/dist/tools/transport/types.js +21 -14
  518. package/dist/tools/transport/types.js.map +1 -1
  519. package/dist/tools/types.d.ts +25 -0
  520. package/dist/tools/types.d.ts.map +1 -1
  521. package/dist/tools/types.js +26 -1
  522. package/dist/tools/types.js.map +1 -1
  523. package/dist/tools/withdraw/withdraw.d.ts +1 -1
  524. package/dist/tools/withdraw/withdraw.d.ts.map +1 -1
  525. package/dist/tools/withdraw/withdraw.js +2 -1
  526. package/dist/tools/withdraw/withdraw.js.map +1 -1
  527. package/dist/utils/panel.constants.d.ts +18 -0
  528. package/dist/utils/panel.constants.d.ts.map +1 -0
  529. package/dist/utils/panel.constants.js +24 -0
  530. package/dist/utils/panel.constants.js.map +1 -0
  531. package/dist/utils/panel.types.d.ts +10 -0
  532. package/dist/utils/panel.types.d.ts.map +1 -0
  533. package/dist/utils/panel.types.js +2 -0
  534. package/dist/utils/panel.types.js.map +1 -0
  535. package/dist/utils/panel.utils.d.ts +4 -0
  536. package/dist/utils/panel.utils.d.ts.map +1 -0
  537. package/dist/utils/panel.utils.js +117 -0
  538. package/dist/utils/panel.utils.js.map +1 -0
  539. package/dist/utils/safe-json.constants.d.ts +2 -0
  540. package/dist/utils/safe-json.constants.d.ts.map +1 -0
  541. package/dist/utils/safe-json.constants.js +20 -0
  542. package/dist/utils/safe-json.constants.js.map +1 -0
  543. package/dist/utils/safe-json.utils.d.ts +3 -0
  544. package/dist/utils/safe-json.utils.d.ts.map +1 -0
  545. package/dist/utils/safe-json.utils.js +44 -0
  546. package/dist/utils/safe-json.utils.js.map +1 -0
  547. package/dist/version/tool-guard.d.ts +1 -1
  548. package/dist/version/tool-guard.d.ts.map +1 -1
  549. package/dist/version/tool-guard.js +3 -3
  550. package/dist/version/tool-guard.js.map +1 -1
  551. package/dist/version/types.d.ts +1 -1
  552. package/dist/version/types.d.ts.map +1 -1
  553. package/package.json +1 -1
  554. package/dist/map/process.utils.d.ts +0 -32
  555. package/dist/map/process.utils.d.ts.map +0 -1
  556. package/dist/map/process.utils.js +0 -30
  557. package/dist/map/process.utils.js.map +0 -1
  558. package/dist/map/settle.utils.d.ts +0 -20
  559. package/dist/map/settle.utils.d.ts.map +0 -1
  560. package/dist/map/settle.utils.js +0 -77
  561. package/dist/map/settle.utils.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"craft-quote.utils.js","sourceRoot":"","sources":["../../src/services/craft-quote.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAIhE,MAAM,UAAU,oBAAoB,CAChC,MAAkC,EAClC,QAA8C,EAC9C,OAAe;IAEf,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/B,MAAM,OAAO,GACT,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,CAAC,EAAE,OAAO;YAClG,kBAAkB,CAAC;QACvB,OAAO;YACH,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,kBAAkB,CAAC,GAAG,OAAO;SAC9E,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -2,22 +2,16 @@ import { type CraftClaimResult, type CraftInput, type CraftServiceOptions, type
2
2
  export declare class CraftService {
3
3
  private readonly wallet;
4
4
  private readonly appConfig;
5
- private readonly allowance;
6
5
  private readonly cellClient;
7
6
  private readonly contracts;
8
7
  private readonly mapReader;
9
8
  private readonly logger;
9
+ private readonly modeSwitch;
10
10
  constructor(options: CraftServiceOptions);
11
11
  craft(input: CraftInput): Promise<CraftStartResult>;
12
12
  private opexOf;
13
- private priceContext;
14
- private approve;
15
- private chargeOf;
16
13
  claim(tokenId: string): Promise<CraftClaimResult>;
17
14
  getStatus(tokenId: string): Promise<CraftStatusResult>;
18
15
  private decodeClaimed;
19
- private assertChain;
20
- private requireCell;
21
- private requireCpuToken;
22
16
  }
23
17
  //# sourceMappingURL=craft.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"craft.service.d.ts","sourceRoot":"","sources":["../../src/services/craft.service.ts"],"names":[],"mappings":"AAKA,OAAO,EAGH,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAGf,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAOzB,MAAM,YAAY,CAAC;AAcpB,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;gBAErB,OAAO,EAAE,mBAAmB;IAUlC,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6DzD,OAAO,CAAC,MAAM;YAaA,YAAY;YAqBZ,OAAO;IAerB,OAAO,CAAC,QAAQ;IAeV,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuBjD,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiD5D,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,eAAe;CAO1B"}
1
+ {"version":3,"file":"craft.service.d.ts","sourceRoot":"","sources":["../../src/services/craft.service.ts"],"names":[],"mappings":"AAQA,OAAO,EAEH,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAGf,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAGzB,MAAM,YAAY,CAAC;AAWpB,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;gBAEvC,OAAO,EAAE,mBAAmB;IAclC,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+EzD,OAAO,CAAC,MAAM;IAaR,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoBjD,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAoD5D,OAAO,CAAC,aAAa;CAoBxB"}
@@ -1,58 +1,78 @@
1
- import { isAddress, parseEther, parseEventLogs } from 'viem';
2
- import { MAX_APPROVE_AMOUNT } from './allowance.constants.js';
3
- import { decodeBurnedCpu, feeWeiOf } from './burn.utils.js';
1
+ import { parseEther, parseEventLogs } from 'viem';
4
2
  import { recipeNameFromUint64, recipeNameToUint64 } from './cell.utils.js';
5
- import { ModeCostKind, } from './types.js';
3
+ import { effectiveCraftInputs } from './craft-quote.utils.js';
4
+ import { ModeSwitchCoordinator } from './mode-switch.js';
5
+ import { ModeOperation } from './mode-switch.types.js';
6
+ import { preparePaidAction } from './paid-action.js';
7
+ import { AppContract } from './paid-action.types.js';
6
8
  import { assertWarehouseHas } from './warehouse.utils.js';
7
9
  import { CELL_ABI } from '../contracts/cell.abi.js';
8
- import { modeCost } from '../map/mode.utils.js';
9
- import { processOutputs } from '../map/process.utils.js';
10
- import { toSettleConfig } from '../map/reader.utils.js';
11
- import { cellProcessProgress } from '../map/settle.utils.js';
12
- import { blockedResourceIds } from '../map/storage.utils.js';
10
+ import { projectCellProcess } from '../map/process-projection.utils.js';
11
+ import { toProjectionConfig } from '../map/reader.utils.js';
13
12
  import { CellProcessKind } from '../map/types.js';
14
13
  import { cpuFromWei } from '../utils/format.utils.js';
15
14
  export class CraftService {
16
15
  wallet;
17
16
  appConfig;
18
- allowance;
19
17
  cellClient;
20
18
  contracts;
21
19
  mapReader;
22
20
  logger;
21
+ modeSwitch;
23
22
  constructor(options) {
24
23
  this.wallet = options.wallet;
25
24
  this.appConfig = options.appConfig;
26
- this.allowance = options.allowance;
27
25
  this.cellClient = options.cellClient;
28
26
  this.contracts = options.contracts;
29
27
  this.mapReader = options.mapReader;
30
28
  this.logger = options.logger;
29
+ this.modeSwitch = new ModeSwitchCoordinator({
30
+ allowance: options.allowance,
31
+ cellClient: options.cellClient,
32
+ logger: options.logger,
33
+ });
31
34
  }
32
35
  async craft(input) {
33
- const config = await this.appConfig.load();
34
- const wallet = this.wallet.get();
35
- this.assertChain(config, wallet);
36
- const cell = this.requireCell(config);
36
+ const action = await preparePaidAction({ appConfig: this.appConfig, wallet: this.wallet });
37
+ const { config } = action;
38
+ const cell = action.requireContract(AppContract.Cell, 'cannot craft');
37
39
  const recipe = config.recipes.find((r) => r.id === input.recipeId);
38
40
  if (recipe === undefined) {
39
41
  throw new Error(`Recipe ${input.recipeId} is not available on network ${config.network}.`);
40
42
  }
41
- // Paid action — refresh, then verify the warehouse holds the per-batch inputs × batches before spending
42
- // gas, instead of letting startCraft revert InsufficientLiquid after the $CPU approve.
43
+ // Paid action — resolve the current building before trusting either its recipe set or its input effects.
43
44
  await this.mapReader.refresh();
44
45
  const state = await this.mapReader.readRevealCell(input.tokenId);
45
- const required = recipe.inputs.map((i) => ({ resourceId: i.resourceId, amount: i.amount * input.batches }));
46
- assertWarehouseHas(config.resources, state, required, input.tokenId, 'craft');
47
- const recipeCostWei = parseEther(recipe.costCpu) * BigInt(input.batches);
48
46
  const tokenId = BigInt(input.tokenId);
49
47
  const targetRecipe = recipeNameToUint64(input.recipeId);
50
48
  const mapView = config.buildings.find((b) => b.type === state?.building?.type) ?? null;
51
- const priced = await this.priceContext(config, cell, tokenId, mapView, state?.building?.modeRecipeId ?? null);
52
- const opex = this.opexOf(priced.view, input.recipeId, input.batches);
53
- const expectedBaseWei = recipeCostWei + opex.wei;
54
- const cost = modeCost(priced.view, priced.mode, targetRecipe);
55
- const approveTxHash = await this.approve(config, cell, expectedBaseWei, cost);
49
+ const prepared = await this.modeSwitch.prepare({
50
+ action,
51
+ cell,
52
+ tokenId,
53
+ operation: ModeOperation.Craft,
54
+ target: targetRecipe,
55
+ mapBuilding: mapView,
56
+ mapMode: state?.building?.modeRecipeId === null || state?.building?.modeRecipeId === undefined
57
+ ? null
58
+ : recipeNameToUint64(state.building.modeRecipeId),
59
+ paymentPurpose: 'cannot pay for craft',
60
+ quote: (building) => {
61
+ if (building === null) {
62
+ throw new Error(`Cannot determine the current building for cell ${input.tokenId}; cannot quote craft inputs.`);
63
+ }
64
+ if (!building.recipes.includes(input.recipeId)) {
65
+ throw new Error(`Building ${building.type} does not support recipe ${input.recipeId}.`);
66
+ }
67
+ const required = effectiveCraftInputs(recipe, building, input.batches);
68
+ assertWarehouseHas(config.resources, state, required, input.tokenId, 'craft');
69
+ const recipeCostWei = parseEther(recipe.costCpu) * BigInt(input.batches);
70
+ const opex = this.opexOf(building, input.recipeId, input.batches);
71
+ return { baseCostWei: recipeCostWei + opex.wei, data: { recipeCostWei, opex } };
72
+ },
73
+ });
74
+ const { recipeCostWei, opex } = prepared.data;
75
+ const expectedBaseWei = prepared.charge.baseCostWei;
56
76
  this.logger.info('starting craft', {
57
77
  tokenId: input.tokenId,
58
78
  recipeId: input.recipeId,
@@ -60,8 +80,8 @@ export class CraftService {
60
80
  costCpu: cpuFromWei(recipeCostWei.toString()),
61
81
  opexCpu: opex.charge.costCpu,
62
82
  opexServed: opex.charge.served,
63
- switchCost: cost,
64
- switchCostExact: priced.exact,
83
+ switchCost: prepared.charge.cost,
84
+ switchCostExact: prepared.charge.exact,
65
85
  });
66
86
  const txHash = await this.cellClient.startCraft({
67
87
  cell,
@@ -77,8 +97,8 @@ export class CraftService {
77
97
  costCpu: cpuFromWei(recipeCostWei.toString()),
78
98
  opex: opex.charge,
79
99
  totalCpu: cpuFromWei(expectedBaseWei.toString()),
80
- modeSwitch: this.chargeOf(config, cost, priced.exact, confirmed.logs, expectedBaseWei),
81
- approveTxHash,
100
+ modeSwitch: this.modeSwitch.reconcile({ prepared: prepared.charge, logs: confirmed.logs }),
101
+ approveTxHash: prepared.charge.approveTxHash,
82
102
  txHash: confirmed.txHash,
83
103
  status: confirmed.status,
84
104
  blockNumber: confirmed.blockNumber,
@@ -92,43 +112,9 @@ export class CraftService {
92
112
  const wei = parseEther(perBatch) * BigInt(batches);
93
113
  return { wei, charge: { served: true, costCpu: cpuFromWei(wei.toString()) } };
94
114
  }
95
- async priceContext(config, cell, tokenId, mapView, mapMode) {
96
- try {
97
- const chain = await this.cellClient.readCellView(cell, tokenId);
98
- const view = config.buildings.find((b) => b.onChainId === chain.buildingType) ?? null;
99
- return { mode: chain.modeRecipeId === 0n ? null : chain.modeRecipeId, view, exact: true };
100
- }
101
- catch (error) {
102
- this.logger.warn('could not read the cell mode on-chain — pricing the switch off the map', {
103
- tokenId: tokenId.toString(),
104
- error,
105
- });
106
- const mode = mapMode === null ? null : recipeNameToUint64(mapMode);
107
- return { mode, view: mapView, exact: false };
108
- }
109
- }
110
- async approve(config, cell, expectedBaseWei, cost) {
111
- const totalWei = expectedBaseWei + feeWeiOf(cost);
112
- if (totalWei === 0n && cost.kind !== ModeCostKind.Unknown) {
113
- return null;
114
- }
115
- const cpuToken = this.requireCpuToken(config);
116
- const needed = cost.kind === ModeCostKind.Unknown ? MAX_APPROVE_AMOUNT : totalWei;
117
- return this.allowance.ensureAllowance(cpuToken, cell, needed);
118
- }
119
- chargeOf(config, cost, exact, logs, expectedBaseWei) {
120
- const cpuToken = config.contracts.cpuToken;
121
- if (!isAddress(cpuToken, { strict: false })) {
122
- return { cost, exact, burnedCpu: null };
123
- }
124
- const burned = decodeBurnedCpu(logs, cpuToken, this.wallet.get().getAddress());
125
- return { cost, exact, burnedCpu: cpuFromWei((burned - expectedBaseWei).toString()) };
126
- }
127
115
  async claim(tokenId) {
128
- const config = await this.appConfig.load();
129
- const wallet = this.wallet.get();
130
- this.assertChain(config, wallet);
131
- const cell = this.requireCell(config);
116
+ const action = await preparePaidAction({ appConfig: this.appConfig, wallet: this.wallet });
117
+ const cell = action.requireContract(AppContract.Cell, 'cannot craft');
132
118
  this.logger.info('claiming craft outputs', { tokenId });
133
119
  const txHash = await this.cellClient.claim({ cell, tokenId: BigInt(tokenId) });
134
120
  const confirmed = await this.contracts.confirm(txHash, 'Craft claim');
@@ -172,9 +158,10 @@ export class CraftService {
172
158
  }
173
159
  const serverTime = this.mapReader.getServerTime();
174
160
  const config = await this.appConfig.load();
175
- const settleConfig = toSettleConfig(config);
176
- const { progress } = cellProcessProgress(state, process, serverTime, settleConfig);
177
- const outputs = processOutputs(process, settleConfig.craftOutputsByRecipe);
161
+ const projection = projectCellProcess(state, serverTime, toProjectionConfig(config));
162
+ if (projection === null) {
163
+ throw new Error(`Cell ${tokenId} lost its craft process while its status was being projected.`);
164
+ }
178
165
  return {
179
166
  tokenId,
180
167
  active: true,
@@ -182,11 +169,13 @@ export class CraftService {
182
169
  recipeId: process.recipeId,
183
170
  batches: process.batches,
184
171
  claimedBatches: process.claimedBatches,
185
- ...progress,
172
+ ...projection.progress,
186
173
  startAt: process.startAt,
187
174
  durationSec: process.durationSec,
188
- stalled: process.stalled,
189
- blockedResourceIds: blockedResourceIds(outputs, state.resources),
175
+ stalled: projection.stalled,
176
+ blockedResourceIds: projection.stalled
177
+ ? projection.warehouseEffects.filter((effect) => effect.blocked).map((effect) => effect.resourceId)
178
+ : [],
190
179
  };
191
180
  }
192
181
  decodeClaimed(logs, cell) {
@@ -206,24 +195,5 @@ export class CraftService {
206
195
  outputs,
207
196
  };
208
197
  }
209
- assertChain(config, wallet) {
210
- if (config.chainId !== wallet.getChainId()) {
211
- throw new Error(`Chain mismatch: the chain config is chainId ${config.chainId} but the wallet is on ${wallet.getChainId()}. Check NETWORK.`);
212
- }
213
- }
214
- requireCell(config) {
215
- const cell = config.contracts.cell;
216
- if (!isAddress(cell, { strict: false })) {
217
- throw new Error(`Cell contract is not configured for network ${config.network}; cannot craft.`);
218
- }
219
- return cell;
220
- }
221
- requireCpuToken(config) {
222
- const cpuToken = config.contracts.cpuToken;
223
- if (!isAddress(cpuToken, { strict: false })) {
224
- throw new Error(`$CPU token is not configured for network ${config.network}; cannot pay for craft.`);
225
- }
226
- return cpuToken;
227
- }
228
198
  }
229
199
  //# sourceMappingURL=craft.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"craft.service.js","sourceRoot":"","sources":["../../src/services/craft.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"craft.service.js","sourceRoot":"","sources":["../../src/services/craft.service.ts"],"names":[],"mappings":"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"}
@@ -2,18 +2,15 @@ import { type MiningClaimResult, type MiningServiceOptions, type MiningStatusRes
2
2
  export declare class MiningService {
3
3
  private readonly wallet;
4
4
  private readonly appConfig;
5
- private readonly allowance;
6
5
  private readonly cellClient;
7
6
  private readonly contracts;
8
7
  private readonly mapReader;
9
8
  private readonly logger;
9
+ private readonly modeSwitch;
10
10
  constructor(options: MiningServiceOptions);
11
11
  getStatus(tokenId: string): Promise<MiningStatusResult>;
12
12
  claim(tokenId: string): Promise<MiningClaimResult>;
13
13
  startMining(input: StartMiningInput): Promise<StartMiningResult>;
14
- private priceContext;
15
- private approveFee;
16
- private chargeOf;
17
14
  private resolveMiningTarget;
18
15
  private pickTarget;
19
16
  private decodeMined;
@@ -1 +1 @@
1
- {"version":3,"file":"mining.service.d.ts","sourceRoot":"","sources":["../../src/services/mining.service.ts"],"names":[],"mappings":"AAIA,OAAO,EAGH,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EAGvB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAKzB,MAAM,YAAY,CAAC;AAWpB,qBAAa,aAAa;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;gBAErB,OAAO,EAAE,oBAAoB;IAUnC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA2DvD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8BlD,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAgDxD,YAAY;YAoBZ,UAAU;IAYxB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,mBAAmB;IA+C3B,OAAO,CAAC,UAAU;IAqBlB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,aAAa;CAgBxB"}
1
+ {"version":3,"file":"mining.service.d.ts","sourceRoot":"","sources":["../../src/services/mining.service.ts"],"names":[],"mappings":"AAMA,OAAO,EAGH,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAGzB,MAAM,YAAY,CAAC;AAUpB,qBAAa,aAAa;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;gBAEvC,OAAO,EAAE,oBAAoB;IAcnC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8DvD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAoBlD,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA+CtE,OAAO,CAAC,mBAAmB;IA+C3B,OAAO,CAAC,UAAU;IAqBlB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,aAAa;CAgBxB"}
@@ -1,30 +1,34 @@
1
- import { isAddress, parseEventLogs } from 'viem';
2
- import { MAX_APPROVE_AMOUNT } from './allowance.constants.js';
3
- import { decodeBurnedCpu, feeWeiOf } from './burn.utils.js';
4
- import { ModeCostKind, } from './types.js';
1
+ import { parseEventLogs } from 'viem';
2
+ import { ModeSwitchCoordinator } from './mode-switch.js';
3
+ import { ModeOperation } from './mode-switch.types.js';
4
+ import { preparePaidAction } from './paid-action.js';
5
+ import { AppContract } from './paid-action.types.js';
5
6
  import { BuildingKind } from '../api/types.js';
6
7
  import { CELL_ABI } from '../contracts/cell.abi.js';
7
- import { modeCost } from '../map/mode.utils.js';
8
- import { toSettleConfig } from '../map/reader.utils.js';
9
- import { cellProcessProgress } from '../map/settle.utils.js';
8
+ import { projectCellProcess } from '../map/process-projection.utils.js';
9
+ import { toProjectionConfig } from '../map/reader.utils.js';
10
10
  import { CellProcessKind } from '../map/types.js';
11
- import { cpuFromWei, formatUnixSeconds, resourceLabel } from '../utils/format.utils.js';
11
+ import { formatUnixSeconds, resourceLabel } from '../utils/format.utils.js';
12
12
  export class MiningService {
13
13
  wallet;
14
14
  appConfig;
15
- allowance;
16
15
  cellClient;
17
16
  contracts;
18
17
  mapReader;
19
18
  logger;
19
+ modeSwitch;
20
20
  constructor(options) {
21
21
  this.wallet = options.wallet;
22
22
  this.appConfig = options.appConfig;
23
- this.allowance = options.allowance;
24
23
  this.cellClient = options.cellClient;
25
24
  this.contracts = options.contracts;
26
25
  this.mapReader = options.mapReader;
27
26
  this.logger = options.logger;
27
+ this.modeSwitch = new ModeSwitchCoordinator({
28
+ allowance: options.allowance,
29
+ cellClient: options.cellClient,
30
+ logger: options.logger,
31
+ });
28
32
  }
29
33
  async getStatus(tokenId) {
30
34
  await this.mapReader.refresh();
@@ -61,7 +65,10 @@ export class MiningService {
61
65
  const storage = resource?.storage ?? null;
62
66
  const serverTime = this.mapReader.getServerTime();
63
67
  const config = await this.appConfig.load();
64
- const { progress, settlement } = cellProcessProgress(state, process, serverTime, toSettleConfig(config));
68
+ const projection = projectCellProcess(state, serverTime, toProjectionConfig(config));
69
+ if (projection === null) {
70
+ throw new Error(`Cell ${tokenId} lost its mining process while its status was being projected.`);
71
+ }
65
72
  return {
66
73
  tokenId,
67
74
  active: true,
@@ -72,24 +79,17 @@ export class MiningService {
72
79
  startAt: process.startAt,
73
80
  batches: process.batches,
74
81
  claimedBatches: process.claimedBatches,
75
- ...progress,
76
- claimable: settlement.minedUnits.toString(),
82
+ ...projection.progress,
83
+ claimable: projection.settlement.minedUnits.toString(),
77
84
  depositRemaining: deposit,
78
- stalled: process.stalled,
85
+ stalled: projection.stalled,
79
86
  warehouseUsed: storage?.used ?? null,
80
87
  warehouseCap: storage?.cap ?? null,
81
88
  };
82
89
  }
83
90
  async claim(tokenId) {
84
- const config = await this.appConfig.load();
85
- const wallet = this.wallet.get();
86
- if (config.chainId !== wallet.getChainId()) {
87
- throw new Error(`Chain mismatch: the chain config is chainId ${config.chainId} but the wallet is on ${wallet.getChainId()}. Check NETWORK.`);
88
- }
89
- const cell = config.contracts.cell;
90
- if (!isAddress(cell, { strict: false })) {
91
- throw new Error(`Cell contract is not configured for network ${config.network}; cannot claim.`);
92
- }
91
+ const action = await preparePaidAction({ appConfig: this.appConfig, wallet: this.wallet });
92
+ const cell = action.requireContract(AppContract.Cell, 'cannot claim');
93
93
  this.logger.info('claiming mined resources', { tokenId });
94
94
  const txHash = await this.cellClient.claim({ cell, tokenId: BigInt(tokenId) });
95
95
  const confirmed = await this.contracts.confirm(txHash, 'Mining claim');
@@ -105,28 +105,30 @@ export class MiningService {
105
105
  };
106
106
  }
107
107
  async startMining(input) {
108
- const config = await this.appConfig.load();
109
- const wallet = this.wallet.get();
110
- if (config.chainId !== wallet.getChainId()) {
111
- throw new Error(`Chain mismatch: the chain config is chainId ${config.chainId} but the wallet is on ${wallet.getChainId()}. Check NETWORK.`);
112
- }
113
- const cell = config.contracts.cell;
114
- if (!isAddress(cell, { strict: false })) {
115
- throw new Error(`Cell contract is not configured for network ${config.network}; cannot start mining.`);
116
- }
108
+ const action = await preparePaidAction({ appConfig: this.appConfig, wallet: this.wallet });
109
+ const { config, wallet } = action;
110
+ const cell = action.requireContract(AppContract.Cell, 'cannot start mining');
117
111
  await this.mapReader.refresh();
118
112
  const state = await this.mapReader.readRevealCell(input.tokenId);
119
113
  const { target, view } = this.resolveMiningTarget(config, state, input, wallet.getAddress());
120
114
  const tokenId = BigInt(input.tokenId);
121
- const priced = await this.priceContext(config, cell, tokenId, view, state?.building?.modeResource ?? null);
122
- const cost = modeCost(priced.view, priced.mode, target);
123
- const approveTxHash = await this.approveFee(config, cell, cost);
115
+ const prepared = await this.modeSwitch.prepare({
116
+ action,
117
+ cell,
118
+ tokenId,
119
+ operation: ModeOperation.Mining,
120
+ target,
121
+ mapBuilding: view,
122
+ mapMode: state?.building?.modeResource ?? null,
123
+ paymentPurpose: 'cannot pay to switch',
124
+ quote: () => ({ baseCostWei: 0n, data: null }),
125
+ });
124
126
  this.logger.info('starting mining', {
125
127
  tokenId: input.tokenId,
126
128
  target,
127
129
  batches: input.batches,
128
- switchCost: cost,
129
- switchCostExact: priced.exact,
130
+ switchCost: prepared.charge.cost,
131
+ switchCostExact: prepared.charge.exact,
130
132
  });
131
133
  const txHash = await this.cellClient.startMining({ cell, tokenId, target, batches: input.batches });
132
134
  const confirmed = await this.contracts.confirm(txHash, 'Start mining');
@@ -137,46 +139,13 @@ export class MiningService {
137
139
  yieldPerCycle: started?.yieldPerCycle ?? null,
138
140
  batches: started?.batches ?? null,
139
141
  durationSec: started?.durationSec ?? null,
140
- modeSwitch: this.chargeOf(config, cost, priced.exact, confirmed.logs),
141
- approveTxHash,
142
+ modeSwitch: this.modeSwitch.reconcile({ prepared: prepared.charge, logs: confirmed.logs }),
143
+ approveTxHash: prepared.charge.approveTxHash,
142
144
  txHash: confirmed.txHash,
143
145
  status: confirmed.status,
144
146
  blockNumber: confirmed.blockNumber,
145
147
  };
146
148
  }
147
- async priceContext(config, cell, tokenId, mapView, mapMode) {
148
- try {
149
- const chain = await this.cellClient.readCellView(cell, tokenId);
150
- const view = config.buildings.find((b) => b.onChainId === chain.buildingType) ?? null;
151
- return { mode: chain.modeResource === 0 ? null : chain.modeResource, view, exact: true };
152
- }
153
- catch (error) {
154
- this.logger.warn('could not read the cell mode on-chain — pricing the switch off the map', {
155
- tokenId: tokenId.toString(),
156
- error,
157
- });
158
- return { mode: mapMode, view: mapView, exact: false };
159
- }
160
- }
161
- async approveFee(config, cell, cost) {
162
- if (cost.kind === ModeCostKind.Free) {
163
- return null;
164
- }
165
- const cpuToken = config.contracts.cpuToken;
166
- if (!isAddress(cpuToken, { strict: false })) {
167
- throw new Error(`$CPU token is not configured for network ${config.network}; cannot pay to switch.`);
168
- }
169
- const needed = cost.kind === ModeCostKind.Paid ? feeWeiOf(cost) : MAX_APPROVE_AMOUNT;
170
- return this.allowance.ensureAllowance(cpuToken, cell, needed);
171
- }
172
- chargeOf(config, cost, exact, logs) {
173
- const cpuToken = config.contracts.cpuToken;
174
- if (!isAddress(cpuToken, { strict: false })) {
175
- return { cost, exact, burnedCpu: null };
176
- }
177
- const burned = decodeBurnedCpu(logs, cpuToken, this.wallet.get().getAddress());
178
- return { cost, exact, burnedCpu: cpuFromWei(burned.toString()) };
179
- }
180
149
  resolveMiningTarget(config, state, input, address) {
181
150
  if (state === null) {
182
151
  throw new Error(`Cell ${input.tokenId} is not in the current map; reveal it or wait for the map to sync.`);
@@ -1 +1 @@
1
- {"version":3,"file":"mining.service.js","sourceRoot":"","sources":["../../src/services/mining.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAqC,MAAM,MAAM,CAAC;AAEpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAaH,YAAY,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAoC,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGxF,MAAM,OAAO,aAAa;IACL,MAAM,CAAiB;IACvB,SAAS,CAAa;IACtB,SAAS,CAAoB;IAC7B,UAAU,CAAc;IACxB,SAAS,CAAkB;IAC3B,SAAS,CAAmB;IAC5B,MAAM,CAAU;IAEjC,YAAY,OAA6B;QACrC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAe;QAC3B,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,OAAO,6BAA6B,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;YAC9D,OAAO;gBACH,OAAO;gBACP,MAAM,EAAE,KAAK;gBACb,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE;gBAC1C,gBAAgB,EAAE,IAAI;gBACtB,aAAa,EAAE,IAAI;gBACnB,WAAW,EAAE,IAAI;gBACjB,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAC;gBACV,cAAc,EAAE,CAAC;gBACjB,gBAAgB,EAAE,CAAC;gBACnB,gBAAgB,EAAE,CAAC;gBACnB,UAAU,EAAE,KAAK;gBACjB,SAAS,EAAE,IAAI;gBACf,cAAc,EAAE,IAAI;gBACpB,SAAS,EAAE,GAAG;gBACd,gBAAgB,EAAE,GAAG;gBACrB,OAAO,EAAE,KAAK;gBACd,aAAa,EAAE,IAAI;gBACnB,YAAY,EAAE,IAAI;aACrB,CAAC;QACN,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;QACxF,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,GAAG,CAAC;QACzC,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,IAAI,IAAI,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;QAElD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC3C,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;QAEzG,OAAO;YACH,OAAO;YACP,MAAM,EAAE,IAAI;YACZ,UAAU;YACV,gBAAgB,EAAE,OAAO,CAAC,QAAQ;YAClC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,GAAG,QAAQ;YACX,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE;YAC3C,gBAAgB,EAAE,OAAO;YACzB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,aAAa,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI;YACpC,YAAY,EAAE,OAAO,EAAE,GAAG,IAAI,IAAI;SACrC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAe;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACX,+CAA+C,MAAM,CAAC,OAAO,yBAAyB,MAAM,CAAC,UAAU,EAAE,kBAAkB,CAC9H,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,+CAA+C,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;QACpG,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAErD,OAAO;YACH,OAAO;YACP,cAAc,EAAE,KAAK,EAAE,cAAc,IAAI,IAAI;YAC7C,UAAU,EAAE,KAAK,EAAE,QAAQ,IAAI,IAAI;YACnC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;YAC/C,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,WAAW,EAAE,SAAS,CAAC,WAAW;SACrC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAuB;QACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACX,+CAA+C,MAAM,CAAC,OAAO,yBAAyB,MAAM,CAAC,UAAU,EAAE,kBAAkB,CAC9H,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,+CAA+C,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAC;QAC3G,CAAC;QAED,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAE7F,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,IAAI,IAAI,CAAC,CAAC;QAC3G,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAEhE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAChC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM;YACN,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,MAAM,CAAC,KAAK;SAChC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpG,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEzD,OAAO;YACH,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,gBAAgB,EAAE,MAAM;YACxB,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,IAAI;YAC7C,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI;YACjC,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,IAAI;YACzC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC;YACrE,aAAa;YACb,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,WAAW,EAAE,SAAS,CAAC,WAAW;SACrC,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,YAAY,CACtB,MAAiB,EACjB,IAAa,EACb,OAAe,EACf,OAA4B,EAC5B,OAAsB;QAEtB,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAChE,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;YACtF,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC7F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wEAAwE,EAAE;gBACvF,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;gBAC3B,KAAK;aACR,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC1D,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,MAAiB,EAAE,IAAa,EAAE,IAAkB;QACzE,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,4CAA4C,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC;QACzG,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACrF,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAClE,CAAC;IAEO,QAAQ,CAAC,MAAiB,EAAE,IAAkB,EAAE,KAAc,EAAE,IAAgB;QACpF,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;QAC3C,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAC1C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC5C,CAAC;QACD,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/E,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;IACrE,CAAC;IAEO,mBAAmB,CACvB,MAAiB,EACjB,KAAkB,EAClB,KAAuB,EACvB,OAAe;QAEf,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,OAAO,oEAAoE,CAAC,CAAC;QAC/G,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,CAAC,OAAO,WAAW,KAAK,CAAC,KAAK,6BAA6B,CAAC,CAAC;QAC7G,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,OAAO,gEAAgE,CAAC,CAAC;QAC3G,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;QACnF,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,SAAS,EAAE,CAAC;YACxD,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC/C,MAAM,IAAI,KAAK,CACX,OAAO,IAAI,YAAY,KAAK,CAAC,OAAO,gEAAgE,CACvG,CAAC;QACN,CAAC;QACD,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;QACnD,IAAI,aAAa,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CACX,OAAO,IAAI,CAAC,IAAI,YAAY,KAAK,CAAC,OAAO,sCAAsC;gBAC3E,GAAG,iBAAiB,CAAC,aAAa,CAAC,mCAAmC,CAC7E,CAAC;QACN,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACX,QAAQ,KAAK,CAAC,OAAO,kBAAkB,KAAK,CAAC,OAAO,CAAC,IAAI,YAAY;gBACjE,2DAA2D,CAClE,CAAC;QACN,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,EAAE,OAAO,IAAI,GAAG,CAAC;QACrF,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACX,QAAQ,KAAK,CAAC,OAAO,WAAW,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,mBAAmB;gBACtF,kDAAkD,CACzD,CAAC;QACN,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAEO,UAAU,CAAC,IAAyB,EAAE,SAAwB,EAAE,MAAiB;QACrF,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACtC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAExF,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC;YAChC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,MAAM,IAAI,KAAK,CACX,OAAO,IAAI,CAAC,IAAI,6BAA6B,KAAK,EAAE,uCAAuC,CAC9F,CAAC;QACN,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACX,OAAO,IAAI,CAAC,IAAI,gBAAgB,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,eAAe,KAAK,EAAE,GAAG,CACtG,CAAC;QACN,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,WAAW,CACf,IAAgB,EAChB,IAAa;QAEb,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QACnF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACjF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;IACnH,CAAC;IAEO,aAAa,CACjB,IAAgB,EAChB,IAAa;QAEb,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QACnF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACjF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO;YACH,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;YAC7B,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW;YACnC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;YAC/C,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO;SAC9B,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"mining.service.js","sourceRoot":"","sources":["../../src/services/mining.service.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import type { Address } from 'viem';
2
2
  export declare const SEADROP_ADDRESS: Address;
3
+ export declare const NO_PUBLIC_DROP_MESSAGE: string;
3
4
  //# sourceMappingURL=mint.constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mint.constants.d.ts","sourceRoot":"","sources":["../../src/services/mint.constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAIpC,eAAO,MAAM,eAAe,EAAE,OAAsD,CAAC"}
1
+ {"version":3,"file":"mint.constants.d.ts","sourceRoot":"","sources":["../../src/services/mint.constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAIpC,eAAO,MAAM,eAAe,EAAE,OAAsD,CAAC;AAErF,eAAO,MAAM,sBAAsB,QAG8B,CAAC"}
@@ -1,4 +1,7 @@
1
1
  // Canonical OpenSea SeaDrop 1.0 router — same address across the supported chains. Mints are sent
2
2
  // here keyed by the `land` contract; it calls back into the NFT to issue the cells.
3
3
  export const SEADROP_ADDRESS = '0x00005EA00Ac477B1030CE78506496e8C2dE24bf5';
4
+ export const NO_PUBLIC_DROP_MESSAGE = 'The land contract has no mintable public drop right now: the per-wallet allowance on its public drop ' +
5
+ 'reads zero on-chain, so nothing can be minted through it at the moment. Read the terms again with ' +
6
+ '`cpu_quote_mint` to see whether that allowance has changed.';
4
7
  //# sourceMappingURL=mint.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mint.constants.js","sourceRoot":"","sources":["../../src/services/mint.constants.ts"],"names":[],"mappings":"AAEA,kGAAkG;AAClG,oFAAoF;AACpF,MAAM,CAAC,MAAM,eAAe,GAAY,4CAA4C,CAAC"}
1
+ {"version":3,"file":"mint.constants.js","sourceRoot":"","sources":["../../src/services/mint.constants.ts"],"names":[],"mappings":"AAEA,kGAAkG;AAClG,oFAAoF;AACpF,MAAM,CAAC,MAAM,eAAe,GAAY,4CAA4C,CAAC;AAErF,MAAM,CAAC,MAAM,sBAAsB,GAC/B,uGAAuG;IACvG,oGAAoG;IACpG,6DAA6D,CAAC"}
@@ -9,6 +9,5 @@ export declare class MintService implements IMintService {
9
9
  private prepare;
10
10
  private readPublicDrop;
11
11
  private resolveFeeRecipient;
12
- private assertChain;
13
12
  }
14
13
  //# sourceMappingURL=mint.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mint.service.d.ts","sourceRoot":"","sources":["../../src/services/mint.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAEH,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,kBAAkB,EAG1B,MAAM,YAAY,CAAC;AAOpB,qBAAa,WAAY,YAAW,YAAY;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;gBAErB,OAAO,EAAE,kBAAkB;IAMjC,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAc3C,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;YAmCnC,OAAO;YAmCP,cAAc;YAiBd,mBAAmB;IAejC,OAAO,CAAC,WAAW;CAOtB"}
1
+ {"version":3,"file":"mint.service.d.ts","sourceRoot":"","sources":["../../src/services/mint.service.ts"],"names":[],"mappings":"AAKA,OAAO,EAEH,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,kBAAkB,EAG1B,MAAM,YAAY,CAAC;AAOpB,qBAAa,WAAY,YAAW,YAAY;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;gBAErB,OAAO,EAAE,kBAAkB;IAMjC,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAc3C,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;YAmCnC,OAAO;YA8BP,cAAc;YAiBd,mBAAmB;CAcpC"}