@misofm/sdk 0.9.0 → 0.11.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 (265) hide show
  1. package/README.md +88 -56
  2. package/dist/client.d.ts +121 -18
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +200 -44
  5. package/dist/client.js.map +1 -1
  6. package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts +205 -0
  7. package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts.map +1 -0
  8. package/dist/contracts/composition_routed_stake/composition_routed_stake.js +184 -0
  9. package/dist/contracts/composition_routed_stake/composition_routed_stake.js.map +1 -0
  10. package/dist/contracts/composition_routed_stake/witness.d.ts +7 -0
  11. package/dist/contracts/composition_routed_stake/witness.d.ts.map +1 -0
  12. package/dist/contracts/composition_routed_stake/witness.js +9 -0
  13. package/dist/contracts/composition_routed_stake/witness.js.map +1 -0
  14. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts +89 -28
  15. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts.map +1 -1
  16. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js +84 -23
  17. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js.map +1 -1
  18. package/dist/contracts/composition_royalty_pool/witness.d.ts +6 -0
  19. package/dist/contracts/composition_royalty_pool/witness.d.ts.map +1 -0
  20. package/dist/contracts/composition_royalty_pool/witness.js +8 -0
  21. package/dist/contracts/composition_royalty_pool/witness.js.map +1 -0
  22. package/dist/contracts/genre/genre.d.ts +96 -0
  23. package/dist/contracts/genre/genre.d.ts.map +1 -0
  24. package/dist/contracts/genre/genre.js +107 -0
  25. package/dist/contracts/genre/genre.js.map +1 -0
  26. package/dist/contracts/recording_advisory/recording_advisory.d.ts +194 -0
  27. package/dist/contracts/recording_advisory/recording_advisory.d.ts.map +1 -0
  28. package/dist/contracts/recording_advisory/recording_advisory.js +204 -0
  29. package/dist/contracts/recording_advisory/recording_advisory.js.map +1 -0
  30. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts +6 -0
  31. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts.map +1 -0
  32. package/dist/contracts/recording_language/deps/language_code/language_code.js +8 -0
  33. package/dist/contracts/recording_language/deps/language_code/language_code.js.map +1 -0
  34. package/dist/contracts/recording_language/recording_language.d.ts +152 -0
  35. package/dist/contracts/recording_language/recording_language.d.ts.map +1 -0
  36. package/dist/contracts/recording_language/recording_language.js +149 -0
  37. package/dist/contracts/recording_language/recording_language.js.map +1 -0
  38. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.d.ts +52 -0
  39. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.d.ts.map +1 -0
  40. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.js +37 -0
  41. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.js.map +1 -0
  42. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts +131 -0
  43. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts.map +1 -0
  44. package/dist/contracts/recording_master_reference/recording_master_reference.js +121 -0
  45. package/dist/contracts/recording_master_reference/recording_master_reference.js.map +1 -0
  46. package/dist/contracts/recording_preview/deps/ori/walrus_data.d.ts +52 -0
  47. package/dist/contracts/recording_preview/deps/ori/walrus_data.d.ts.map +1 -0
  48. package/dist/contracts/recording_preview/deps/ori/walrus_data.js +37 -0
  49. package/dist/contracts/recording_preview/deps/ori/walrus_data.js.map +1 -0
  50. package/dist/contracts/recording_preview/recording_preview.d.ts +104 -0
  51. package/dist/contracts/recording_preview/recording_preview.d.ts.map +1 -0
  52. package/dist/contracts/recording_preview/recording_preview.js +94 -0
  53. package/dist/contracts/recording_preview/recording_preview.js.map +1 -0
  54. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts +90 -28
  55. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts.map +1 -1
  56. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js +84 -23
  57. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js.map +1 -1
  58. package/dist/contracts/recording_royalty_pool/witness.d.ts +6 -0
  59. package/dist/contracts/recording_royalty_pool/witness.d.ts.map +1 -0
  60. package/dist/contracts/recording_royalty_pool/witness.js +8 -0
  61. package/dist/contracts/recording_royalty_pool/witness.js.map +1 -0
  62. package/dist/contracts/release_description/release_description.d.ts +112 -0
  63. package/dist/contracts/release_description/release_description.d.ts.map +1 -0
  64. package/dist/contracts/release_description/release_description.js +123 -0
  65. package/dist/contracts/release_description/release_description.js.map +1 -0
  66. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts +644 -0
  67. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts.map +1 -0
  68. package/dist/contracts/release_dsp_link/release_dsp_link.js +556 -0
  69. package/dist/contracts/release_dsp_link/release_dsp_link.js.map +1 -0
  70. package/dist/contracts/release_genre/deps/per_track/per_track.d.ts +33 -0
  71. package/dist/contracts/release_genre/deps/per_track/per_track.d.ts.map +1 -0
  72. package/dist/contracts/release_genre/deps/per_track/per_track.js +32 -0
  73. package/dist/contracts/release_genre/deps/per_track/per_track.js.map +1 -0
  74. package/dist/contracts/release_genre/release_genre.d.ts +193 -0
  75. package/dist/contracts/release_genre/release_genre.d.ts.map +1 -0
  76. package/dist/contracts/release_genre/release_genre.js +207 -0
  77. package/dist/contracts/release_genre/release_genre.js.map +1 -0
  78. package/dist/contracts/release_kind/release_kind.d.ts +98 -0
  79. package/dist/contracts/release_kind/release_kind.d.ts.map +1 -0
  80. package/dist/contracts/release_kind/release_kind.js +109 -0
  81. package/dist/contracts/release_kind/release_kind.js.map +1 -0
  82. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts +106 -0
  83. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts.map +1 -0
  84. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js +113 -0
  85. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js.map +1 -0
  86. package/dist/contracts/release_revenue_distributor/witness.d.ts +7 -0
  87. package/dist/contracts/release_revenue_distributor/witness.d.ts.map +1 -0
  88. package/dist/contracts/release_revenue_distributor/witness.js +9 -0
  89. package/dist/contracts/release_revenue_distributor/witness.js.map +1 -0
  90. package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts +54 -0
  91. package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts.map +1 -0
  92. package/dist/contracts/routed_stake/deps/royalty_pool/stake.js +37 -0
  93. package/dist/contracts/routed_stake/deps/royalty_pool/stake.js.map +1 -0
  94. package/dist/contracts/routed_stake/deps/std/type_name.d.ts +18 -0
  95. package/dist/contracts/routed_stake/deps/std/type_name.d.ts.map +1 -0
  96. package/dist/contracts/routed_stake/deps/std/type_name.js +20 -0
  97. package/dist/contracts/routed_stake/deps/std/type_name.js.map +1 -0
  98. package/dist/contracts/routed_stake/deps/sui/balance.d.ts +13 -0
  99. package/dist/contracts/routed_stake/deps/sui/balance.d.ts.map +1 -0
  100. package/dist/contracts/routed_stake/deps/sui/balance.js +15 -0
  101. package/dist/contracts/routed_stake/deps/sui/balance.js.map +1 -0
  102. package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts +37 -0
  103. package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts.map +1 -0
  104. package/dist/contracts/routed_stake/deps/sui/vec_map.js +28 -0
  105. package/dist/contracts/routed_stake/deps/sui/vec_map.js.map +1 -0
  106. package/dist/contracts/routed_stake/routed_stake.d.ts +356 -0
  107. package/dist/contracts/routed_stake/routed_stake.d.ts.map +1 -0
  108. package/dist/contracts/routed_stake/routed_stake.js +311 -0
  109. package/dist/contracts/routed_stake/routed_stake.js.map +1 -0
  110. package/dist/contracts/royalty_pool/pool.d.ts +27 -17
  111. package/dist/contracts/royalty_pool/pool.d.ts.map +1 -1
  112. package/dist/contracts/royalty_pool/pool.js +26 -17
  113. package/dist/contracts/royalty_pool/pool.js.map +1 -1
  114. package/dist/contracts/vault/deps/sui/bag.d.ts +35 -0
  115. package/dist/contracts/vault/deps/sui/bag.d.ts.map +1 -0
  116. package/dist/contracts/vault/deps/sui/bag.js +37 -0
  117. package/dist/contracts/vault/deps/sui/bag.js.map +1 -0
  118. package/dist/contracts/vault/deps/sui/borrow.d.ts +20 -0
  119. package/dist/contracts/vault/deps/sui/borrow.d.ts.map +1 -0
  120. package/dist/contracts/vault/deps/sui/borrow.js +21 -0
  121. package/dist/contracts/vault/deps/sui/borrow.js.map +1 -0
  122. package/dist/contracts/vault/vault.d.ts +276 -0
  123. package/dist/contracts/vault/vault.d.ts.map +1 -0
  124. package/dist/contracts/vault/vault.js +274 -0
  125. package/dist/contracts/vault/vault.js.map +1 -0
  126. package/dist/contracts.d.ts +13 -2
  127. package/dist/contracts.d.ts.map +1 -1
  128. package/dist/contracts.js +15 -7
  129. package/dist/contracts.js.map +1 -1
  130. package/dist/cover.d.ts +17 -3
  131. package/dist/cover.d.ts.map +1 -1
  132. package/dist/cover.js +43 -20
  133. package/dist/cover.js.map +1 -1
  134. package/dist/credits.d.ts +31 -12
  135. package/dist/credits.d.ts.map +1 -1
  136. package/dist/credits.js +41 -25
  137. package/dist/credits.js.map +1 -1
  138. package/dist/deployments.d.ts +30 -57
  139. package/dist/deployments.d.ts.map +1 -1
  140. package/dist/deployments.js +5 -53
  141. package/dist/deployments.js.map +1 -1
  142. package/dist/index.d.ts +4 -2
  143. package/dist/index.d.ts.map +1 -1
  144. package/dist/index.js +6 -5
  145. package/dist/index.js.map +1 -1
  146. package/dist/pressing.d.ts +8 -7
  147. package/dist/pressing.d.ts.map +1 -1
  148. package/dist/pressing.js +91 -32
  149. package/dist/pressing.js.map +1 -1
  150. package/dist/read/artist.js +3 -3
  151. package/dist/read/artist.js.map +1 -1
  152. package/dist/read/catalog.d.ts +14 -9
  153. package/dist/read/catalog.d.ts.map +1 -1
  154. package/dist/read/catalog.js +71 -37
  155. package/dist/read/catalog.js.map +1 -1
  156. package/dist/read/client.d.ts +4 -2
  157. package/dist/read/client.d.ts.map +1 -1
  158. package/dist/read/client.js +15 -4
  159. package/dist/read/client.js.map +1 -1
  160. package/dist/read/config.d.ts +14 -11
  161. package/dist/read/config.d.ts.map +1 -1
  162. package/dist/read/config.js +10 -37
  163. package/dist/read/config.js.map +1 -1
  164. package/dist/read/index.d.ts +2 -2
  165. package/dist/read/index.d.ts.map +1 -1
  166. package/dist/read/index.js +1 -1
  167. package/dist/read/index.js.map +1 -1
  168. package/dist/read/receipts.d.ts +24 -7
  169. package/dist/read/receipts.d.ts.map +1 -1
  170. package/dist/read/receipts.js +78 -25
  171. package/dist/read/receipts.js.map +1 -1
  172. package/dist/read/types.d.ts +43 -25
  173. package/dist/read/types.d.ts.map +1 -1
  174. package/dist/read/types.js +2 -2
  175. package/dist/read/types.js.map +1 -1
  176. package/dist/recording-extensions.d.ts +37 -0
  177. package/dist/recording-extensions.d.ts.map +1 -0
  178. package/dist/recording-extensions.js +61 -0
  179. package/dist/recording-extensions.js.map +1 -0
  180. package/dist/release-extensions.d.ts +84 -0
  181. package/dist/release-extensions.d.ts.map +1 -0
  182. package/dist/release-extensions.js +160 -0
  183. package/dist/release-extensions.js.map +1 -0
  184. package/dist/release-graph.d.ts +17 -26
  185. package/dist/release-graph.d.ts.map +1 -1
  186. package/dist/release-graph.js +55 -49
  187. package/dist/release-graph.js.map +1 -1
  188. package/dist/transactions.d.ts +43 -24
  189. package/dist/transactions.d.ts.map +1 -1
  190. package/dist/transactions.js +48 -27
  191. package/dist/transactions.js.map +1 -1
  192. package/dist/vault.d.ts +268 -0
  193. package/dist/vault.d.ts.map +1 -0
  194. package/dist/vault.js +389 -0
  195. package/dist/vault.js.map +1 -0
  196. package/package.json +17 -11
  197. package/src/client.ts +399 -61
  198. package/src/contracts/composition_routed_stake/composition_routed_stake.ts +346 -0
  199. package/src/contracts/composition_routed_stake/witness.ts +11 -0
  200. package/src/contracts/composition_royalty_pool/composition_royalty_pool.ts +151 -35
  201. package/src/contracts/composition_royalty_pool/witness.ts +7 -0
  202. package/src/contracts/genre/genre.ts +151 -0
  203. package/src/contracts/recording_advisory/recording_advisory.ts +315 -0
  204. package/src/contracts/recording_language/deps/language_code/language_code.ts +7 -0
  205. package/src/contracts/recording_language/recording_language.ts +237 -0
  206. package/src/contracts/recording_master_reference/deps/ori/walrus_data.ts +36 -0
  207. package/src/contracts/recording_master_reference/recording_master_reference.ts +181 -0
  208. package/src/contracts/recording_preview/deps/ori/walrus_data.ts +36 -0
  209. package/src/contracts/recording_preview/recording_preview.ts +154 -0
  210. package/src/contracts/recording_royalty_pool/recording_royalty_pool.ts +152 -35
  211. package/src/contracts/recording_royalty_pool/witness.ts +7 -0
  212. package/src/contracts/release_description/release_description.ts +167 -0
  213. package/src/contracts/release_dsp_link/release_dsp_link.ts +813 -0
  214. package/src/contracts/release_genre/deps/per_track/per_track.ts +36 -0
  215. package/src/contracts/release_genre/release_genre.ts +314 -0
  216. package/src/contracts/release_kind/release_kind.ts +153 -0
  217. package/src/contracts/release_revenue_distributor/release_revenue_distributor.ts +178 -0
  218. package/src/contracts/release_revenue_distributor/witness.ts +11 -0
  219. package/src/contracts/routed_stake/deps/royalty_pool/stake.ts +39 -0
  220. package/src/contracts/routed_stake/deps/std/type_name.ts +22 -0
  221. package/src/contracts/routed_stake/deps/sui/balance.ts +17 -0
  222. package/src/contracts/routed_stake/deps/sui/vec_map.ts +33 -0
  223. package/src/contracts/routed_stake/routed_stake.ts +508 -0
  224. package/src/contracts/royalty_pool/pool.ts +34 -24
  225. package/src/contracts/vault/deps/sui/bag.ts +39 -0
  226. package/src/contracts/vault/deps/sui/borrow.ts +25 -0
  227. package/src/contracts/vault/vault.ts +454 -0
  228. package/src/contracts.ts +16 -9
  229. package/src/cover.ts +62 -37
  230. package/src/credits.ts +64 -51
  231. package/src/deployments.ts +35 -97
  232. package/src/index.ts +11 -5
  233. package/src/pressing.ts +135 -39
  234. package/src/read/artist.ts +3 -3
  235. package/src/read/catalog.ts +99 -44
  236. package/src/read/client.ts +20 -4
  237. package/src/read/config.ts +23 -49
  238. package/src/read/index.ts +3 -1
  239. package/src/read/receipts.ts +103 -26
  240. package/src/read/types.ts +44 -27
  241. package/src/recording-extensions.ts +102 -0
  242. package/src/release-extensions.ts +261 -0
  243. package/src/release-graph.ts +68 -81
  244. package/src/transactions.ts +79 -53
  245. package/src/vault.ts +777 -0
  246. package/dist/contracts/miso_drop/drop.d.ts +0 -550
  247. package/dist/contracts/miso_drop/drop.d.ts.map +0 -1
  248. package/dist/contracts/miso_drop/drop.js +0 -523
  249. package/dist/contracts/miso_drop/drop.js.map +0 -1
  250. package/dist/contracts/release_registry/release_registry.d.ts +0 -114
  251. package/dist/contracts/release_registry/release_registry.d.ts.map +0 -1
  252. package/dist/contracts/release_registry/release_registry.js +0 -119
  253. package/dist/contracts/release_registry/release_registry.js.map +0 -1
  254. package/dist/drop.d.ts +0 -127
  255. package/dist/drop.d.ts.map +0 -1
  256. package/dist/drop.js +0 -202
  257. package/dist/drop.js.map +0 -1
  258. package/dist/extensions/royalty-pool.d.ts +0 -32
  259. package/dist/extensions/royalty-pool.d.ts.map +0 -1
  260. package/dist/extensions/royalty-pool.js +0 -33
  261. package/dist/extensions/royalty-pool.js.map +0 -1
  262. package/src/contracts/miso_drop/drop.ts +0 -798
  263. package/src/contracts/release_registry/release_registry.ts +0 -160
  264. package/src/drop.ts +0 -376
  265. package/src/extensions/royalty-pool.ts +0 -90
@@ -6,16 +6,16 @@
6
6
  // callers get different answers, which is what makes this layer edge-cacheable.
7
7
  //
8
8
  // The composition of these reads is the point. A pressing page used to cost the
9
- // browser five sequential round-trips to the chain (drop → release → cover →
9
+ // browser five sequential round-trips to the chain (pressing → release → cover →
10
10
  // credits → recordings); the same work happens once here, inside one datacenter,
11
11
  // and every subsequent visitor is served from cache.
12
- import { getCurrentDrops, getDrop } from "../drop.js";
12
+ import { getPressing, getSale, } from "../pressing.js";
13
13
  import { getReleaseCoversByIds, parseReleaseCoverContent, releaseCoverFieldId, } from "../cover.js";
14
14
  import { getReleaseCreditsByIds, parseReleaseCreditsContent, releaseCreditsFieldId, } from "../credits.js";
15
15
  import { getTrackCreditsByRecordingIds } from "../catalog.js";
16
16
  import { getReleaseById, getReleasesByIds, isNotFound } from "@misonetwork/sdk";
17
17
  import { getRecordingTitles, parseReleaseObject } from "./works.js";
18
- import { gte, int, ms, msOrNull, u64, u64OrNull } from "./internal/scalars.js";
18
+ import { int, u64 } from "./internal/scalars.js";
19
19
  import { quiltPatchId, u256ToB64Url } from "./internal/walrus.js";
20
20
  // ── Walrus URLs ──────────────────────────────────────────────────────────────
21
21
  /** Aggregator URL for a cover image ref, whichever Walrus variant it is. */
@@ -58,26 +58,38 @@ export function currencyInfo(type) {
58
58
  };
59
59
  }
60
60
  // ── Projections ──────────────────────────────────────────────────────────────
61
- function toPressingView(drop) {
62
- const quantitySold = u64(drop.quantitySold);
63
- const maxSupply = u64OrNull(drop.maxSupply);
61
+ function toPressingView(pressing) {
62
+ return {
63
+ id: pressing.id,
64
+ releaseId: pressing.releaseId,
65
+ state: pressing.state.kind === "scheduled"
66
+ ? {
67
+ kind: "scheduled",
68
+ startTimestampMs: Number(pressing.state.startTimestampMs ?? 0n),
69
+ }
70
+ : pressing.state.kind === "paused"
71
+ ? { kind: "paused" }
72
+ : { kind: "active" },
73
+ supply: u64(pressing.supply),
74
+ };
75
+ }
76
+ function toListingView(listing) {
64
77
  const price = {
65
- kind: drop.price.kind,
66
- amount: u64(drop.price.amount),
78
+ kind: listing.price.kind,
79
+ amount: u64(listing.price.amount),
67
80
  };
68
81
  return {
69
- id: drop.id,
70
- releaseId: drop.releaseId,
71
- edition: int(drop.edition),
82
+ id: listing.id,
83
+ pressingId: listing.pressingId,
84
+ releaseId: listing.releaseId,
72
85
  price,
73
- currency: currencyInfo(drop.currencyType),
74
- quantitySold,
75
- maxSupply,
76
- startTimestampMs: ms(drop.startTimestampMs),
77
- endTimestampMs: msOrNull(drop.endTimestampMs),
78
- soldOut: maxSupply !== null && gte(quantitySold, maxSupply),
86
+ currency: currencyInfo(listing.currencyType),
87
+ state: listing.state,
79
88
  };
80
89
  }
90
+ function toSaleView(pressing, listing) {
91
+ return { pressing: toPressingView(pressing), listing: toListingView(listing) };
92
+ }
81
93
  function toWorkState(state) {
82
94
  return state.type === "Published"
83
95
  ? { type: "Published", timestampMs: state.timestampMs }
@@ -240,9 +252,9 @@ export async function getTrackCredits(client, releaseId) {
240
252
  return getTrackCreditsForRecordingIds(client, recordingIds);
241
253
  }
242
254
  // ── Pressing ─────────────────────────────────────────────────────────────────
243
- /** Everything the pressing buy page renders. `null` when no such pressing exists. */
255
+ /** Everything a Pressing page renders. `null` when no such Pressing exists. */
244
256
  export async function getPressingDetail(client, pressingId, options = {}) {
245
- const pressing = await getDrop(client.protocol, pressingId);
257
+ const pressing = await getPressing(client.protocol, pressingId, client.config.protocol.pressing);
246
258
  if (!pressing)
247
259
  return null;
248
260
  const release = await getReleaseDetail(client, pressing.releaseId, options);
@@ -250,37 +262,59 @@ export async function getPressingDetail(client, pressingId, options = {}) {
250
262
  }
251
263
  /**
252
264
  * The confirmation preview behind "paste a pressing id to pin it". Verifies the
253
- * object really is a `Drop` before spending reads on it — a release id or a
265
+ * object really is a `Pressing` before spending reads on it — a release id or a
254
266
  * record id pasted by mistake must come back as `null`, not as a half-built card.
255
267
  */
256
- export async function getDropPreview(client, dropId) {
257
- const pressing = await getDrop(client.protocol, dropId);
258
- if (!pressing?.currencyType)
268
+ export async function getPressingPreview(client, pressingId) {
269
+ const pressing = await getPressing(client.protocol, pressingId, client.config.protocol.pressing);
270
+ if (!pressing)
259
271
  return null;
260
272
  const { release, cover } = await getReleaseResources(client, pressing.releaseId, ["cover"]);
261
273
  return {
262
- pressingId: dropId,
263
- currency: currencyInfo(pressing.currencyType),
274
+ pressingId,
264
275
  title: release.title,
265
276
  subtitle: null,
266
277
  coverUrl: cover?.still.url ?? null,
267
- price: { kind: pressing.price.kind, amount: u64(pressing.price.amount) },
278
+ state: toPressingView(pressing).state,
279
+ supply: u64(pressing.supply),
268
280
  trackCount: release.tracks.length,
269
281
  };
270
282
  }
283
+ /**
284
+ * Everything a currency-specific buy page renders. The Listing is derived from
285
+ * the release's Pressing and the requested currency, never found through an old
286
+ * drop pointer.
287
+ */
288
+ export async function getSaleDetail(client, releaseId, currencyType, options = {}) {
289
+ const sale = await getSale(client.protocol, {
290
+ releaseId,
291
+ currencyType,
292
+ misoPressingPackageId: client.config.protocol.pressing,
293
+ });
294
+ if (!sale.pressing || !sale.listing)
295
+ return null;
296
+ const release = await getReleaseDetail(client, sale.pressing.releaseId, options);
297
+ return { sale: toSaleView(sale.pressing, sale.listing), release };
298
+ }
271
299
  // ── Discover ─────────────────────────────────────────────────────────────────
272
300
  /**
273
301
  * The records currently on sale.
274
302
  *
275
- * Configured by RELEASE id, never by drop id: a release id is permanent, while a
276
- * drop is superseded (and the old `Drop` destroyed) whenever a new edition opens.
277
- * Following the release's `CurrentDropKey` pointer keeps this list pointing at the
278
- * live edition without anyone touching the config.
303
+ * Configured by release + currency: Pressing and Listing ids are deterministic,
304
+ * permanent derived addresses. There is no `CurrentDropKey` pointer or edition
305
+ * replacement in the current ABI.
279
306
  */
280
307
  export async function getDiscoverShelf(client) {
281
- const configuredIds = [...client.config.discoverReleaseIds];
282
- const drops = await getCurrentDrops(client.protocol, configuredIds, client.config.protocol.drop);
283
- const releaseIds = configuredIds.filter((releaseId) => drops[releaseId]);
308
+ const configuredSales = [...client.config.discoverSales];
309
+ const settled = await Promise.all(configuredSales.map(async (configured) => ({
310
+ configured,
311
+ result: await getSale(client.protocol, {
312
+ ...configured,
313
+ misoPressingPackageId: client.config.protocol.pressing,
314
+ }),
315
+ })));
316
+ const available = settled.filter((item) => item.result.pressing !== null && item.result.listing !== null);
317
+ const releaseIds = [...new Set(available.map((item) => item.result.pressing.releaseId))];
284
318
  if (releaseIds.length === 0)
285
319
  return [];
286
320
  const [releases, coverViews, credits] = await Promise.all([
@@ -288,15 +322,15 @@ export async function getDiscoverShelf(client) {
288
322
  getReleaseCoversByIds(client.protocol, releaseIds, client.config.protocol.releaseCoverArt).catch(() => ({})),
289
323
  getReleaseCreditsByIds(client.protocol, releaseIds, client.config.protocol.releaseCredits).catch(() => ({})),
290
324
  ]);
291
- return releaseIds.flatMap((releaseId) => {
292
- const drop = drops[releaseId];
325
+ return available.flatMap(({ result }) => {
326
+ const releaseId = result.pressing.releaseId;
293
327
  const release = releases[releaseId];
294
- if (!drop || !release)
328
+ if (!release)
295
329
  return [];
296
330
  const cover = toCover(client.config.walrusAggregatorUrl, coverViews[releaseId] ?? null);
297
331
  return [
298
332
  {
299
- pressing: toPressingView(drop),
333
+ sale: toSaleView(result.pressing, result.listing),
300
334
  releaseId,
301
335
  title: release.title,
302
336
  artist: primaryArtistNames(toCredits(credits[releaseId] ?? null)).join(", "),
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/read/catalog.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AACtC,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;AAChF,gFAAgF;AAChF,EAAE;AACF,gFAAgF;AAChF,6EAA6E;AAC7E,iFAAiF;AACjF,qDAAqD;AAErD,OAAO,EAAE,eAAe,EAAE,OAAO,EAAiB,MAAM,YAAY,CAAC;AACrE,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,GAGpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,GAEtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGhF,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAkBlE,gFAAgF;AAEhF,4EAA4E;AAC5E,SAAS,QAAQ,CAAC,UAAkB,EAAE,GAAkB;IACtD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;QACrB,OAAO,GAAG,IAAI,aAAa,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;IACxD,MAAM,KAAK,GAAG,YAAY,CACxB,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,QAAQ,CACb,CAAC;IACF,OAAO,GAAG,IAAI,+BAA+B,KAAK,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,OAAO,CACd,UAAkB,EAClB,IAA6B;IAE7B,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,KAAK,GAAG,CAAC,GAAkB,EAAc,EAAE,CAAC,CAAC;QACjD,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,GAAG,EAAE,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC;KAC/B,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;KACtD,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAmB;IAC9C,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC9D,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAClD,IAAI,IAAI,KAAK,eAAe;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC1E,OAAO;QACL,IAAI;QACJ,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE;QACxD,QAAQ,EAAE,CAAC;KACZ,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,SAAS,cAAc,CAAC,IAAc;IACpC,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAU;QACnB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;QACrB,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;KAC/B,CAAC;IACF,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAC1B,KAAK;QACL,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;QACzC,YAAY;QACZ,SAAS;QACT,gBAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAC3C,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC;QAC7C,OAAO,EAAE,SAAS,KAAK,IAAI,IAAI,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAuB;IAC1C,OAAO,KAAK,CAAC,IAAI,KAAK,WAAW;QAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;QACvD,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,SAAS,CAAC,OAA4B;IAC7C,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjC,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;KACpB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,kBAAkB,CAAC,OAAiB;IAClD,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;SAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,SAAS,QAAQ,CACf,OAAgB,EAChB,MAA8B;IAE9B,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3C,EAAE,EAAE,GAAG,KAAK,GAAG,CAAC,EAAE;QAClB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,UAAU;QAC9C,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QACnC,IAAI,EAAE,CAAC;KACR,CAAC,CAAC,CAAC;AACN,CAAC;AAED,gFAAgF;AAEhF,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAkB,EAClB,SAAiB;IAEjB,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,qBAAqB,CACxC,MAAM,CAAC,QAAQ,EACf,CAAC,SAAS,CAAC,EACX,eAAe,CAChB,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAA8C,CAAC,CAAC;IACjE,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC;AAC/E,CAAC;AAUD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAkB,EAClB,SAAiB,EACjB,UAA6C,EAAE;IAE/C,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,UAAU;QAC9B,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC1E,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,cAAc,GAAG,YAAY;QACjC,CAAC,CAAC,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;QACzE,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,SAAS,GAAG;QAChB,SAAS;QACT,GAAG,aAAa;QAChB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C,CAAC;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;QACxD,SAAS;QACT,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;KAC3B,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;IACvE,IAAI,aAAa,YAAY,KAAK;QAAE,MAAM,aAAa,CAAC;IACxD,IAAI,CAAC,aAAa,CAAC,OAAO;QACxB,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,kBAAkB,CAChC,aAAa,CAAC,QAAQ,EACtB,aAAa,CAAC,OAAO,CACtB,CAAC;IAEF,IAAI,KAA+B,CAAC;IACpC,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,IAAI,GAA4B,IAAI,CAAC;QACzC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,IAAI,MAAM,YAAY,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,SAAS;YACpE,IAAI,CAAC;gBACH,IAAI,GAAG,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClD,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;YACD,IAAI,IAAI;gBAAE,MAAM;QAClB,CAAC;QACD,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,OAA6B,CAAC;IAClC,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,IAAI,GAAiB,EAAE,CAAC;QAC5B,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,YAAY,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC3D,IAAI,CAAC;gBACH,IAAI,GAAG,0BAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,GAAG,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO;QACL,OAAO;QACP,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC;AAmBD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAkB,EAClB,SAAiB,EACjB,UAA6B,EAAE;IAE/B,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,mBAAmB,CAC3D,MAAM,EACN,SAAS,EACT,CAAC,OAAO,EAAE,SAAS,CAAC,CACrB,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACtE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/C,kBAAkB,CAChB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,OAAO,EACd,YAAY,EACZ,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAC5B;QACD,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC;YACvC,CAAC,CAAC,8BAA8B,CAAC,MAAM,EAAE,YAAY,CAAC;YACtD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;KAC/B,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,OAAO,IAAI,EAAE,CAAC;IAClC,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;QACjC,aAAa,EACX,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;QACvE,KAAK,EAAE,KAAK,IAAI,IAAI;QACpB,OAAO,EAAE,WAAW;QACpB,cAAc,EAAE,kBAAkB,CAAC,WAAW,CAAC;QAC/C,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACjC,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC3C,MAAkB,EAClB,YAA+B;IAE/B,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC9E,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAChD,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,OAAO,EACd,YAAY,EACZ;QACE,aAAa,EAAE,IAAI;QACnB,2BAA2B,EAAE,kBAAkB;QAC/C,yBAAyB,EAAE,gBAAgB;KAC5C,CACF,CAAC;IACF,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAC1C,EAAE;QACF;YACE,kBAAkB,EAAE,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC;YACvD,gBAAgB,EAAE;gBAChB,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC;gBAClD,gBAAgB,EAAE,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;gBAC9D,iBAAiB,EAAE,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;aACjE;SACqB;KACzB,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAkB,EAClB,SAAiB;IAEjB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACtE,OAAO,8BAA8B,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAC9D,CAAC;AAED,gFAAgF;AAEhF,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAkB,EAClB,UAAkB,EAClB,UAA6B,EAAE;IAE/B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC5D,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5E,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;AACzD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAkB,EAClB,MAAc;IAEd,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,QAAQ,EAAE,YAAY;QAAE,OAAO,IAAI,CAAC;IAEzC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,mBAAmB,CAClD,MAAM,EACN,QAAQ,CAAC,SAAS,EAClB,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,OAAO;QACL,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC7C,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI;QAClC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACxE,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;KAClC,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAkB;IAElB,MAAM,aAAa,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,MAAM,eAAe,CACjC,MAAM,CAAC,QAAQ,EACf,aAAa,EACb,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAC5B,CAAC;IACF,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IACzE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxD,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC;QAC7C,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAA8C,CAAC;QACzJ,sBAAsB,CACpB,MAAM,CAAC,QAAQ,EACf,UAAU,EACV,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CACtC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAA0C,CAAC;KAC7D,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,OAAO,CACnB,MAAM,CAAC,MAAM,CAAC,mBAAmB,EACjC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAC9B,CAAC;QACF,OAAO;YACL;gBACE,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC;gBAC9B,SAAS;gBACT,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,kBAAkB,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CACpE,IAAI,CACL;gBACD,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI;aACnC;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAgBD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAkB,EAClB,QAAgB,EAChB,UAAiC,EAAE;IAEnC,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;YACtD,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SACxB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAA4B,CAAC;QAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;QAC5B,MAAM,SAAS,GAAG,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9D,MAAM,cAAc,GAClB,OAAO,CAAC,OAAO,EAAE,IAAI,CACnB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,cAAc,CACxD,IAAI,KAAK,CAAC;QACb,MAAM,OAAO,GACX,cAAc,IAAI,SAAS;YACzB,CAAC,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE;gBACxC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC;oBAChD,CAAC,CAAC,CAAC,cAAc,CAAC;oBAClB,CAAC,CAAC,EAAE;aACP,CAAC;YACJ,CAAC,CAAC,cAAc;gBACd,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,SAAS,CAAC;QAClB,OAAO;YACL,QAAQ;YACR,SAAS;YACT,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvC,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/B,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/read/catalog.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AACtC,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;AAChF,gFAAgF;AAChF,EAAE;AACF,gFAAgF;AAChF,iFAAiF;AACjF,iFAAiF;AACjF,qDAAqD;AAErD,OAAO,EACL,WAAW,EACX,OAAO,GAGR,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,GAGpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,GAEtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGhF,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAqBlE,gFAAgF;AAEhF,4EAA4E;AAC5E,SAAS,QAAQ,CAAC,UAAkB,EAAE,GAAkB;IACtD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;QACrB,OAAO,GAAG,IAAI,aAAa,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;IACxD,MAAM,KAAK,GAAG,YAAY,CACxB,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,OAAO,EACX,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,QAAQ,CACb,CAAC;IACF,OAAO,GAAG,IAAI,+BAA+B,KAAK,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,OAAO,CACd,UAAkB,EAClB,IAA6B;IAE7B,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,KAAK,GAAG,CAAC,GAAkB,EAAc,EAAE,CAAC,CAAC;QACjD,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,GAAG,EAAE,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC;KAC/B,CAAC,CAAC;IACH,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;KACtD,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAmB;IAC9C,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC9D,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAClD,IAAI,IAAI,KAAK,eAAe;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC1E,OAAO;QACL,IAAI;QACJ,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE;QACxD,QAAQ,EAAE,CAAC;KACZ,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,SAAS,cAAc,CAAC,QAA8B;IACpD,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,KAAK,EACH,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW;YACjC,CAAC,CAAC;gBACE,IAAI,EAAE,WAAW;gBACjB,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC;aAChE;YACH,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAChC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,OAA4B;IACjD,MAAM,KAAK,GAAU;QACnB,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;QACxB,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;KAClC,CAAC;IACF,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,KAAK;QACL,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC;QAC5C,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CACjB,QAA8B,EAC9B,OAA4B;IAE5B,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;AACjF,CAAC;AAED,SAAS,WAAW,CAAC,KAAuB;IAC1C,OAAO,KAAK,CAAC,IAAI,KAAK,WAAW;QAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;QACvD,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,SAAS,CAAC,OAA4B;IAC7C,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjC,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;KACpB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,kBAAkB,CAAC,OAAiB;IAClD,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;SAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,SAAS,QAAQ,CACf,OAAgB,EAChB,MAA8B;IAE9B,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3C,EAAE,EAAE,GAAG,KAAK,GAAG,CAAC,EAAE;QAClB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,UAAU;QAC9C,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QACnC,IAAI,EAAE,CAAC;KACR,CAAC,CAAC,CAAC;AACN,CAAC;AAED,gFAAgF;AAEhF,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAkB,EAClB,SAAiB;IAEjB,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,qBAAqB,CACxC,MAAM,CAAC,QAAQ,EACf,CAAC,SAAS,CAAC,EACX,eAAe,CAChB,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAA8C,CAAC,CAAC;IACjE,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC;AAC/E,CAAC;AAUD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAkB,EAClB,SAAiB,EACjB,UAA6C,EAAE;IAE/C,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,UAAU;QAC9B,CAAC,CAAC,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAC1E,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,cAAc,GAAG,YAAY;QACjC,CAAC,CAAC,qBAAqB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC;QACzE,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,SAAS,GAAG;QAChB,SAAS;QACT,GAAG,aAAa;QAChB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C,CAAC;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;QACxD,SAAS;QACT,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;KAC3B,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;IACvE,IAAI,aAAa,YAAY,KAAK;QAAE,MAAM,aAAa,CAAC;IACxD,IAAI,CAAC,aAAa,CAAC,OAAO;QACxB,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,kBAAkB,CAChC,aAAa,CAAC,QAAQ,EACtB,aAAa,CAAC,OAAO,CACtB,CAAC;IAEF,IAAI,KAA+B,CAAC;IACpC,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,IAAI,GAA4B,IAAI,CAAC;QACzC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,IAAI,MAAM,YAAY,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,SAAS;YACpE,IAAI,CAAC;gBACH,IAAI,GAAG,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClD,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;YACD,IAAI,IAAI;gBAAE,MAAM;QAClB,CAAC;QACD,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,OAA6B,CAAC;IAClC,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,IAAI,GAAiB,EAAE,CAAC;QAC5B,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,YAAY,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC3D,IAAI,CAAC;gBACH,IAAI,GAAG,0BAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACpD,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,GAAG,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO;QACL,OAAO;QACP,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC;AAmBD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAkB,EAClB,SAAiB,EACjB,UAA6B,EAAE;IAE/B,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,mBAAmB,CAC3D,MAAM,EACN,SAAS,EACT,CAAC,OAAO,EAAE,SAAS,CAAC,CACrB,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACtE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/C,kBAAkB,CAChB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,OAAO,EACd,YAAY,EACZ,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAC5B;QACD,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC;YACvC,CAAC,CAAC,8BAA8B,CAAC,MAAM,EAAE,YAAY,CAAC;YACtD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;KAC/B,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,OAAO,IAAI,EAAE,CAAC;IAClC,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;QACjC,aAAa,EACX,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;QACvE,KAAK,EAAE,KAAK,IAAI,IAAI;QACpB,OAAO,EAAE,WAAW;QACpB,cAAc,EAAE,kBAAkB,CAAC,WAAW,CAAC;QAC/C,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACjC,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC3C,MAAkB,EAClB,YAA+B;IAE/B,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC9E,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAChD,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,OAAO,EACd,YAAY,EACZ;QACE,aAAa,EAAE,IAAI;QACnB,2BAA2B,EAAE,kBAAkB;QAC/C,yBAAyB,EAAE,gBAAgB;KAC5C,CACF,CAAC;IACF,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAC1C,EAAE;QACF;YACE,kBAAkB,EAAE,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC;YACvD,gBAAgB,EAAE;gBAChB,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC;gBAClD,gBAAgB,EAAE,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;gBAC9D,iBAAiB,EAAE,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;aACjE;SACqB;KACzB,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAkB,EAClB,SAAiB;IAEjB,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACtE,OAAO,8BAA8B,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAC9D,CAAC;AAED,gFAAgF;AAEhF,+EAA+E;AAC/E,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAkB,EAClB,UAAkB,EAClB,UAA6B,EAAE;IAE/B,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjG,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5E,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;AACzD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAkB,EAClB,UAAkB;IAElB,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjG,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,mBAAmB,CAClD,MAAM,EACN,QAAQ,CAAC,SAAS,EAClB,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,OAAO;QACL,UAAU;QACV,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI;QAClC,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,KAAK;QACrC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5B,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;KAClC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAkB,EAClB,SAAiB,EACjB,YAAoB,EACpB,UAA6B,EAAE;IAE/B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;QAC1C,SAAS;QACT,YAAY;QACZ,qBAAqB,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ;KACvD,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACjF,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;AACpE,CAAC;AAED,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAkB;IAElB,MAAM,eAAe,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QACzC,UAAU;QACV,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;YACrC,GAAG,UAAU;YACb,qBAAqB,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ;SACvD,CAAC;KACH,CAAC,CAAC,CACJ,CAAC;IACF,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAC9B,CAAC,IAAI,EAEH,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CACnE,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACzF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxD,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC;QAC7C,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAA8C,CAAC;QACzJ,sBAAsB,CACpB,MAAM,CAAC,QAAQ,EACf,UAAU,EACV,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CACtC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAA0C,CAAC;KAC7D,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACtC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,OAAO,CACnB,MAAM,CAAC,MAAM,CAAC,mBAAmB,EACjC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAC9B,CAAC;QACF,OAAO;YACL;gBACE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;gBACjD,SAAS;gBACT,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,kBAAkB,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CACpE,IAAI,CACL;gBACD,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI;aACnC;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAgBD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAkB,EAClB,QAAgB,EAChB,UAAiC,EAAE;IAEnC,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;YACtD,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SACxB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAA4B,CAAC;QAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;QAC5B,MAAM,SAAS,GAAG,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9D,MAAM,cAAc,GAClB,OAAO,CAAC,OAAO,EAAE,IAAI,CACnB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,cAAc,CACxD,IAAI,KAAK,CAAC;QACb,MAAM,OAAO,GACX,cAAc,IAAI,SAAS;YACzB,CAAC,CAAC,MAAM,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE;gBACxC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC;oBAChD,CAAC,CAAC,CAAC,cAAc,CAAC;oBAClB,CAAC,CAAC,EAAE;aACP,CAAC;YACJ,CAAC,CAAC,cAAc;gBACd,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,SAAS,CAAC;QAClB,OAAO;YACL,QAAQ;YACR,SAAS;YACT,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvC,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/B,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC"}
@@ -27,10 +27,12 @@ export interface MisoClient {
27
27
  export interface CreateMisoClientOptions extends MisoConfigOverrides {
28
28
  /** "testnet" | "mainnet". A bare string (e.g. a Worker's `NETWORK` var) is accepted. */
29
29
  network?: Network | string;
30
+ /** Complete verified configuration; required until a deployment is bundled. */
31
+ config?: MisoConfig;
30
32
  }
31
33
  /**
32
- * Build the client for a network. Endpoint overrides let a deployment point at a
33
- * private fullnode or an indexer without forking the config.
34
+ * Build the client from a complete verified configuration. The network-only
35
+ * shortcut remains for a future bundled deployment, but currently fails closed.
34
36
  */
35
37
  export declare function createMisoClient(options?: CreateMisoClientOptions): MisoClient;
36
38
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/read/client.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAS,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAA2B,KAAK,UAAU,EAAE,KAAK,mBAAmB,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAE/G;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,kBAAkB,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7F,oFAAoF;AACpF,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAErD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,uFAAuF;IACvF,GAAG,EAAE,aAAa,GAAG;QAAE,KAAK,EAAE,WAAW,CAAA;KAAE,CAAC;IAC5C,kEAAkE;IAClE,QAAQ,EAAE,cAAc,CAAC;IACzB,wEAAwE;IACxE,OAAO,EAAE,qBAAqB,CAAC;IAC/B,wFAAwF;IACxF,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,wFAAwF;IACxF,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,UAAU,CAiBlF"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/read/client.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAS,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAA2B,KAAK,UAAU,EAAE,KAAK,mBAAmB,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAM/G;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,kBAAkB,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7F,oFAAoF;AACpF,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAErD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,uFAAuF;IACvF,GAAG,EAAE,aAAa,GAAG;QAAE,KAAK,EAAE,WAAW,CAAA;KAAE,CAAC;IAC5C,kEAAkE;IAClE,QAAQ,EAAE,cAAc,CAAC;IACzB,wEAAwE;IACxE,OAAO,EAAE,qBAAqB,CAAC;IAC/B,wFAAwF;IACxF,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,wFAAwF;IACxF,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,+EAA+E;IAC/E,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,UAAU,CA2BlF"}
@@ -24,13 +24,24 @@ import { SuiGrpcClient } from "@mysten/sui/grpc";
24
24
  import { SuiGraphQLClient } from "@mysten/sui/graphql";
25
25
  import { party } from "@misonetwork/miso-party/client";
26
26
  import { misoConfig, networkFrom } from "./config.js";
27
+ function definedOverrides(value) {
28
+ return Object.fromEntries(Object.entries(value).filter(([, item]) => item !== undefined));
29
+ }
27
30
  /**
28
- * Build the client for a network. Endpoint overrides let a deployment point at a
29
- * private fullnode or an indexer without forking the config.
31
+ * Build the client from a complete verified configuration. The network-only
32
+ * shortcut remains for a future bundled deployment, but currently fails closed.
30
33
  */
31
34
  export function createMisoClient(options = {}) {
32
- const { network, ...overrides } = options;
33
- const config = misoConfig(networkFrom(network), overrides);
35
+ const { network, config: providedConfig, ...overrides } = options;
36
+ const requestedNetwork = networkFrom(network);
37
+ // A caller-supplied verified deployment may still override transport URLs or
38
+ // the discover shelf; undefined fields never erase verified config values.
39
+ const config = providedConfig
40
+ ? { ...providedConfig, ...definedOverrides(overrides) }
41
+ : misoConfig(requestedNetwork, overrides);
42
+ if (network !== undefined && config.network !== requestedNetwork) {
43
+ throw new Error(`@misofm/sdk/read: provided config is for ${config.network}, not ${requestedNetwork}.`);
44
+ }
34
45
  const grpc = new SuiGrpcClient({ baseUrl: config.grpcUrl, network: config.network });
35
46
  const graphqlRaw = new SuiGraphQLClient({ url: config.graphqlUrl, network: config.network });
36
47
  const registration = party(config.party);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/read/client.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AACtC,EAAE;AACF,sDAAsD;AACtD,EAAE;AACF,8CAA8C;AAC9C,6EAA6E;AAC7E,6DAA6D;AAC7D,iFAAiF;AACjF,iFAAiF;AACjF,yEAAyE;AACzE,EAAE;AACF,mFAAmF;AACnF,6DAA6D;AAC7D,EAAE;AACF,kFAAkF;AAClF,wEAAwE;AACxE,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,4EAA4E;AAC5E,kDAAkD;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,KAAK,EAAoB,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,WAAW,EAA2D,MAAM,aAAa,CAAC;AA8B/G;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAmC,EAAE;IACpE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC;IAC1C,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;IAE3D,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,IAAI,gBAAgB,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAE7F,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAwE,CAAC;IAChH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEvC,OAAO;QACL,MAAM;QACN,GAAG;QACH,QAAQ,EAAE,GAAgC;QAC1C,OAAO,EAAE,UAA8C;QACvD,UAAU;KACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/read/client.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AACtC,EAAE;AACF,sDAAsD;AACtD,EAAE;AACF,8CAA8C;AAC9C,6EAA6E;AAC7E,6DAA6D;AAC7D,iFAAiF;AACjF,iFAAiF;AACjF,yEAAyE;AACzE,EAAE;AACF,mFAAmF;AACnF,6DAA6D;AAC7D,EAAE;AACF,kFAAkF;AAClF,wEAAwE;AACxE,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,4EAA4E;AAC5E,kDAAkD;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,KAAK,EAAoB,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,WAAW,EAA2D,MAAM,aAAa,CAAC;AAE/G,SAAS,gBAAgB,CAAmB,KAAQ;IAClD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAe,CAAC;AAC1G,CAAC;AAgCD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAmC,EAAE;IACpE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC;IAClE,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9C,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,MAAM,GAAG,cAAc;QAC3B,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE;QACvD,CAAC,CAAC,UAAU,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAC5C,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CACb,4CAA4C,MAAM,CAAC,OAAO,SAAS,gBAAgB,GAAG,CACvF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,IAAI,gBAAgB,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAE7F,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAwE,CAAC;IAChH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEvC,OAAO;QACL,MAAM;QACN,GAAG;QACH,QAAQ,EAAE,GAAgC;QAC1C,OAAO,EAAE,UAA8C;QACvD,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -5,15 +5,12 @@ export declare function networkFrom(value: string | undefined): Network;
5
5
  export interface ProtocolIds {
6
6
  /** `miso` core — Composition / Recording / Release, and the origin of every derived admin cap. */
7
7
  miso: string;
8
- /** `miso_drop` — `drop::buy` and the `Drop` objects the pressing pages read. */
9
- drop: string;
8
+ /** `miso_pressing` — permanent Pressing runs and per-currency Listings. */
9
+ pressing: string;
10
10
  /** `miso_record` package — the exact owner/type namespace for `record::Record`. */
11
11
  record: string;
12
12
  /** `miso_record` shared `Settings` object — the mint witness authorizer. */
13
13
  recordSettings: string;
14
- /** Release coordinator package and its shared derivation-parent object. */
15
- releaseRegistry: string;
16
- releaseRegistryId: string;
17
14
  /** `release_cover_art` — the release cover extension. */
18
15
  releaseCoverArt: string;
19
16
  /** `composition_credits` / `recording_credits` / `release_credits` extensions. */
@@ -43,7 +40,7 @@ export interface PartyIds {
43
40
  }
44
41
  /** The currency the app prices records in, and where test dollars come from. */
45
42
  export interface MoneyIds {
46
- /** Coin type balances, drops, and purchases are denominated in. */
43
+ /** Coin type balances, listings, and purchases are denominated in. */
47
44
  usdCoinType: string;
48
45
  usdDecimals: number;
49
46
  }
@@ -68,14 +65,20 @@ export interface MisoConfig {
68
65
  * public host to hand back a URL a browser can actually fetch.
69
66
  */
70
67
  apiBaseUrl: string;
71
- /** Releases the Discover shelf lists, in display order. Resolved to their live drop at read time. */
72
- discoverReleaseIds: readonly string[];
68
+ /** Explicit currency offers on the Discover shelf, in display order. */
69
+ discoverSales: readonly DiscoverSale[];
70
+ }
71
+ /** One release/currency pair to resolve by Pressing and Listing derived address. */
72
+ export interface DiscoverSale {
73
+ releaseId: string;
74
+ currencyType: string;
73
75
  }
74
76
  /** Fields a deployment may override without forking the whole config (endpoints, shelf). */
75
- export type MisoConfigOverrides = Partial<Pick<MisoConfig, "grpcUrl" | "graphqlUrl" | "walrusAggregatorUrl" | "apiBaseUrl" | "discoverReleaseIds">>;
77
+ export type MisoConfigOverrides = Partial<Pick<MisoConfig, "grpcUrl" | "graphqlUrl" | "walrusAggregatorUrl" | "apiBaseUrl" | "discoverSales">>;
76
78
  /**
77
- * The config for `network`. Mainnet throws until its packages are deployed and
78
- * filled in here a mainnet worker must fail loudly, never read testnet ids.
79
+ * Bundled read configuration is disabled until the admin-cli publish flow has
80
+ * recorded every new immutable package and singleton object. This is fail-closed
81
+ * by design: old testnet types cannot be mistaken for the current ABI.
79
82
  */
80
83
  export declare function misoConfig(network: Network, overrides?: MisoConfigOverrides): MisoConfig;
81
84
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/read/config.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAE5C,qFAAqF;AACrF,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAI9D;AAED,wFAAwF;AACxF,MAAM,WAAW,WAAW;IAC1B,kGAAkG;IAClG,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,cAAc,EAAE,MAAM,CAAC;IACvB,2EAA2E;IAC3E,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,yDAAyD;IACzD,eAAe,EAAE,MAAM,CAAC;IACxB,kFAAkF;IAClF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,oFAAoF;AACpF,MAAM,WAAW,QAAQ;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,0BAA0B,EAAE,MAAM,CAAC;IACnC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,0BAA0B,EAAE,MAAM,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,gFAAgF;AAChF,MAAM,WAAW,QAAQ;IACvB,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,QAAQ,CAAC;IAChB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,qGAAqG;IACrG,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AA8BD,4FAA4F;AAC5F,MAAM,MAAM,mBAAmB,GAAG,OAAO,CACvC,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,YAAY,GAAG,qBAAqB,GAAG,YAAY,GAAG,oBAAoB,CAAC,CACzG,CAAC;AAEF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,GAAE,mBAAwB,GAAG,UAAU,CAO5F"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/read/config.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAE5C,qFAAqF;AACrF,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAI9D;AAED,wFAAwF;AACxF,MAAM,WAAW,WAAW;IAC1B,kGAAkG;IAClG,IAAI,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,cAAc,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,eAAe,EAAE,MAAM,CAAC;IACxB,kFAAkF;IAClF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,oFAAoF;AACpF,MAAM,WAAW,QAAQ;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,0BAA0B,EAAE,MAAM,CAAC;IACnC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,0BAA0B,EAAE,MAAM,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,gFAAgF;AAChF,MAAM,WAAW,QAAQ;IACvB,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,QAAQ,CAAC;IAChB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;CACxC;AAED,oFAAoF;AACpF,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,4FAA4F;AAC5F,MAAM,MAAM,mBAAmB,GAAG,OAAO,CACvC,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,YAAY,GAAG,qBAAqB,GAAG,YAAY,GAAG,eAAe,CAAC,CACpG,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,GAAE,mBAAwB,GAAG,UAAU,CAM5F"}
@@ -4,12 +4,12 @@
4
4
  // Per-network on-chain identity: which packages the reads address, which objects
5
5
  // they read, and which endpoints they read through. Every id that used to be a
6
6
  // hard-coded constant inside miso-app (`lib/party.ts`, `lib/release.ts`,
7
- // `lib/money.ts`, `lib/drops.ts`) lives here instead, so a redeploy is a change
7
+ // `lib/money.ts`, `lib/pressing.ts`) lives here instead, so a redeploy is a change
8
8
  // in ONE file that every surface picks up.
9
9
  //
10
- // Testnet values are baked from the verified 2026-08-19 deployment. Mainnet is
11
- // deliberately unavailable until this ABI is deployed there.
12
- import { MISO_PLATFORM_DEPLOYMENTS } from "../deployments.js";
10
+ // There are intentionally no baked network IDs while the immutable stack is
11
+ // republished. A read client must receive a complete verified configuration from
12
+ // its caller; silently retaining the old ABI would be unsafe.
13
13
  /** Missing defaults to Testnet for local development; invalid values fail closed. */
14
14
  export function networkFrom(value) {
15
15
  if (value === undefined || value === "testnet")
@@ -18,42 +18,15 @@ export function networkFrom(value) {
18
18
  return "mainnet";
19
19
  throw new Error(`@misofm/sdk/read: unsupported network "${value}".`);
20
20
  }
21
- const TESTNET = {
22
- network: "testnet",
23
- protocol: {
24
- miso: MISO_PLATFORM_DEPLOYMENTS.testnet.protocol.packageId,
25
- drop: MISO_PLATFORM_DEPLOYMENTS.testnet.packages.drop,
26
- record: MISO_PLATFORM_DEPLOYMENTS.testnet.packages.record,
27
- recordSettings: MISO_PLATFORM_DEPLOYMENTS.testnet.objects.recordSettings,
28
- releaseRegistry: MISO_PLATFORM_DEPLOYMENTS.testnet.packages.releaseRegistry,
29
- releaseRegistryId: MISO_PLATFORM_DEPLOYMENTS.testnet.objects.releaseRegistry,
30
- releaseCoverArt: MISO_PLATFORM_DEPLOYMENTS.testnet.packages.releaseCoverArt,
31
- compositionCredits: MISO_PLATFORM_DEPLOYMENTS.testnet.packages.compositionCredits,
32
- recordingCredits: MISO_PLATFORM_DEPLOYMENTS.testnet.packages.recordingCredits,
33
- releaseCredits: MISO_PLATFORM_DEPLOYMENTS.testnet.packages.releaseCredits,
34
- credit: MISO_PLATFORM_DEPLOYMENTS.testnet.packages.credit,
35
- },
36
- party: MISO_PLATFORM_DEPLOYMENTS.testnet.party,
37
- money: {
38
- usdCoinType: "0x77774cb7b8cb5622b4ef2658101bf5f1e965418297fe874b683df8f760b6e749::fakeusd::FakeUsd",
39
- usdDecimals: 6,
40
- },
41
- grpcUrl: "https://fullnode.testnet.sui.io",
42
- graphqlUrl: "https://graphql.testnet.sui.io/graphql",
43
- walrusAggregatorUrl: "https://aggregator.walrus-testnet.walrus.space",
44
- apiBaseUrl: "https://api.testnet.miso.fm",
45
- // Content from the retired deployment is intentionally not carried forward.
46
- discoverReleaseIds: [],
47
- };
48
21
  /**
49
- * The config for `network`. Mainnet throws until its packages are deployed and
50
- * filled in here a mainnet worker must fail loudly, never read testnet ids.
22
+ * Bundled read configuration is disabled until the admin-cli publish flow has
23
+ * recorded every new immutable package and singleton object. This is fail-closed
24
+ * by design: old testnet types cannot be mistaken for the current ABI.
51
25
  */
52
26
  export function misoConfig(network, overrides = {}) {
53
- if (network === "mainnet") {
54
- throw new Error(`@misofm/sdk/read: no bundled Miso platform deployment for network "${network}".`);
55
- }
56
- return { ...TESTNET, ...stripUndefined(overrides) };
27
+ void overrides;
28
+ throw new Error(`@misofm/sdk/read: no bundled Miso platform deployment for network "${network}". ` +
29
+ "Pass a complete verified MisoConfig to createMisoClient instead.");
57
30
  }
58
31
  /** `{ a: undefined }` must not clobber a real default when spread. */
59
32
  function stripUndefined(o) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/read/config.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AACtC,EAAE;AACF,iFAAiF;AACjF,+EAA+E;AAC/E,yEAAyE;AACzE,gFAAgF;AAChF,2CAA2C;AAC3C,EAAE;AACF,+EAA+E;AAC/E,6DAA6D;AAE7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAI9D,qFAAqF;AACrF,MAAM,UAAU,WAAW,CAAC,KAAyB;IACnD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACjE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,IAAI,CAAC,CAAC;AACvE,CAAC;AA4ED,MAAM,OAAO,GAAe;IAC1B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE;QACR,IAAI,EAAE,yBAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS;QAC1D,IAAI,EAAE,yBAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI;QACrD,MAAM,EAAE,yBAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM;QACzD,cAAc,EAAE,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc;QACxE,eAAe,EAAE,yBAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe;QAC3E,iBAAiB,EAAE,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe;QAC5E,eAAe,EAAE,yBAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe;QAC3E,kBAAkB,EAAE,yBAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;QACjF,gBAAgB,EAAE,yBAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;QAC7E,cAAc,EAAE,yBAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc;QACzE,MAAM,EAAE,yBAAyB,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM;KAC1D;IACD,KAAK,EAAE,yBAAyB,CAAC,OAAO,CAAC,KAAK;IAC9C,KAAK,EAAE;QACL,WAAW,EAAE,sFAAsF;QACnG,WAAW,EAAE,CAAC;KACf;IACD,OAAO,EAAE,iCAAiC;IAC1C,UAAU,EAAE,wCAAwC;IACpD,mBAAmB,EAAE,gDAAgD;IACrE,UAAU,EAAE,6BAA6B;IACzC,4EAA4E;IAC5E,kBAAkB,EAAE,EAAE;CACvB,CAAC;AAOF;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,YAAiC,EAAE;IAC9E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,sEAAsE,OAAO,IAAI,CAClF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,sEAAsE;AACtE,SAAS,cAAc,CAAmB,CAAI;IAC5C,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAe,CAAC;AAChG,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/read/config.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AACtC,EAAE;AACF,iFAAiF;AACjF,+EAA+E;AAC/E,yEAAyE;AACzE,mFAAmF;AACnF,2CAA2C;AAC3C,EAAE;AACF,4EAA4E;AAC5E,iFAAiF;AACjF,8DAA8D;AAI9D,qFAAqF;AACrF,MAAM,UAAU,WAAW,CAAC,KAAyB;IACnD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACjE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,IAAI,CAAC,CAAC;AACvE,CAAC;AAoFD;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,YAAiC,EAAE;IAC9E,KAAK,SAAS,CAAC;IACf,MAAM,IAAI,KAAK,CACb,sEAAsE,OAAO,KAAK;QAChF,kEAAkE,CACrE,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,SAAS,cAAc,CAAmB,CAAI;IAC5C,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAe,CAAC;AAChG,CAAC"}
@@ -1,8 +1,8 @@
1
1
  export { createMisoClient } from "./client.ts";
2
2
  export type { MisoClient, CreateMisoClientOptions } from "./client.ts";
3
3
  export { misoConfig, networkFrom } from "./config.ts";
4
- export type { MisoConfig, MisoConfigOverrides, MoneyIds, Network, PartyIds, ProtocolIds, } from "./config.ts";
5
- export { currencyInfo, getDiscoverShelf, getDropPreview, getPressingDetail, getRecordAlbum, getReleaseDetail, getReleaseResources, getTrackCredits, primaryArtistNames, readReleaseCover, } from "./catalog.ts";
4
+ export type { MisoConfig, MisoConfigOverrides, DiscoverSale, MoneyIds, Network, PartyIds, ProtocolIds, } from "./config.ts";
5
+ export { currencyInfo, getDiscoverShelf, getPressingDetail, getPressingPreview, getRecordAlbum, getReleaseDetail, getReleaseResources, getTrackCredits, getSaleDetail, primaryArtistNames, readReleaseCover, } from "./catalog.ts";
6
6
  export type { GetRecordAlbumOptions, GetReleaseOptions, RecordAlbumInclude, ReleaseInclude, ReleaseResourceInclude, } from "./catalog.ts";
7
7
  export type { ReleaseResources } from "./catalog.ts";
8
8
  export { getArtistProfile, getFeaturedRelease, getPartySummaries, partyAvatarUrl, } from "./artist.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/read/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,YAAY,EACV,UAAU,EACV,mBAAmB,EACnB,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EACL,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,SAAS,EACT,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE9D,mBAAmB,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/read/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,YAAY,EACV,UAAU,EACV,mBAAmB,EACnB,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EACL,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,SAAS,EACT,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE9D,mBAAmB,YAAY,CAAC"}
@@ -15,7 +15,7 @@
15
15
  // const pressing = await getPressingDetail(miso, pressingId)
16
16
  export { createMisoClient } from "./client.js";
17
17
  export { misoConfig, networkFrom } from "./config.js";
18
- export { currencyInfo, getDiscoverShelf, getDropPreview, getPressingDetail, getRecordAlbum, getReleaseDetail, getReleaseResources, getTrackCredits, primaryArtistNames, readReleaseCover, } from "./catalog.js";
18
+ export { currencyInfo, getDiscoverShelf, getPressingDetail, getPressingPreview, getRecordAlbum, getReleaseDetail, getReleaseResources, getTrackCredits, getSaleDetail, primaryArtistNames, readReleaseCover, } from "./catalog.js";
19
19
  export { getArtistProfile, getFeaturedRelease, getPartySummaries, partyAvatarUrl, } from "./artist.js";
20
20
  export { resolveGenreNames } from "./genres.js";
21
21
  export { getBalance, getOwnedParties, getPendingMemberships, getOwnedRecords, getOwnedWorks, getWorkByCap, ownsParty, ownsRecord, } from "./wallet.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/read/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AACtC,EAAE;AACF,8DAA8D;AAC9D,EAAE;AACF,iFAAiF;AACjF,sEAAsE;AACtE,kFAAkF;AAClF,sDAAsD;AACtD,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,EAAE;AACF,0DAA0D;AAC1D,+DAA+D;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAUtD,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAUtB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EACL,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,SAAS,EACT,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/read/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AACtC,EAAE;AACF,8DAA8D;AAC9D,EAAE;AACF,iFAAiF;AACjF,sEAAsE;AACtE,kFAAkF;AAClF,sDAAsD;AACtD,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,EAAE;AACF,0DAA0D;AAC1D,+DAA+D;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAWtD,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAUtB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EACL,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,SAAS,EACT,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
@@ -1,7 +1,24 @@
1
1
  import type { MisoClient } from "./client.ts";
2
- import type { PressingDetail, PurchaseReceipt, TrackRoyalty } from "./types.ts";
2
+ import type { PressingDetail, PurchaseReceipt, RecordSale, TrackRoyalty } from "./types.ts";
3
3
  /** Composition royalty rate (bps) per recording id. Sparse — an unresolved parent has no entry. */
4
4
  type CompositionRates = Record<string, number | undefined>;
5
+ /**
6
+ * Whether `eventType` is this deployment's `listing::RecordSoldEvent<Currency>`.
7
+ *
8
+ * Event BCS is structural, so a same-shaped event from another package must never
9
+ * be decoded as a Miso sale. Normalize both package/type tags and require exactly
10
+ * one (possibly nested) currency type argument.
11
+ */
12
+ export declare function isRecordSoldEventType(eventType: string, misoPressingPackageId: string): boolean;
13
+ /**
14
+ * The sale a transaction recorded, or null if it emitted none. BCS is the stable
15
+ * shape (a JSON projection's field names vary by transport), so it is tried first.
16
+ */
17
+ export declare function findRecordSale(events: {
18
+ eventType: string;
19
+ bcs: Uint8Array;
20
+ json: Record<string, unknown> | null;
21
+ }[], misoPressingPackageId: string): RecordSale | null;
5
22
  /**
6
23
  * Split `paid` across the release's tracks by their `splitBps`, then split each
7
24
  * track's share between its composition and its recording. All BigInt — the same
@@ -10,13 +27,13 @@ type CompositionRates = Record<string, number | undefined>;
10
27
  */
11
28
  export declare function breakdown(tracks: PressingDetail["release"]["tracks"], paid: string, compositionRates: CompositionRates): TrackRoyalty[];
12
29
  /**
13
- * The receipt for `txDigest`, a purchase from `pressingId`.
30
+ * The receipt for `txDigest`. The event identifies the exact immutable Pressing
31
+ * and Listing; callers cannot accidentally reinterpret a Pressing id as a
32
+ * retired drop id.
14
33
  *
15
- * The sale and the pressing detail are fetched together arriving from the buy
16
- * button costs one round of work, not two. `null` when the pressing no longer
17
- * exists (a superseded edition), which the caller renders as "not found" rather
18
- * than as an error.
34
+ * The sale identifies the Pressing before its detail is fetched. `null` only when
35
+ * that immutable Pressing cannot be read; it is never superseded or destroyed.
19
36
  */
20
- export declare function getPurchaseReceipt(client: MisoClient, pressingId: string, txDigest: string): Promise<PurchaseReceipt | null>;
37
+ export declare function getPurchaseReceipt(client: MisoClient, txDigest: string): Promise<PurchaseReceipt | null>;
21
38
  export {};
22
39
  //# sourceMappingURL=receipts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"receipts.d.ts","sourceRoot":"","sources":["../../src/read/receipts.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAc,YAAY,EAAE,MAAM,YAAY,CAAC;AAe5F,mGAAmG;AACnG,KAAK,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAgK3D;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAC3C,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,gBAAgB,GACjC,YAAY,EAAE,CAgBhB;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAmBjC"}
1
+ {"version":3,"file":"receipts.d.ts","sourceRoot":"","sources":["../../src/read/receipts.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAS,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAenG,mGAAmG;AACnG,KAAK,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAiD3D;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,qBAAqB,EAAE,MAAM,GAC5B,OAAO,CAwBT;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE;IACN,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,UAAU,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACtC,EAAE,EACH,qBAAqB,EAAE,MAAM,GAC5B,UAAU,GAAG,IAAI,CAyBnB;AAoHD;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAC3C,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,gBAAgB,GACjC,YAAY,EAAE,CAgBhB;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAmBjC"}