@misonetwork/sdk 0.7.0 → 0.8.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 (289) hide show
  1. package/README.md +181 -139
  2. package/dist/client.d.ts +1225 -8
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +43 -19
  5. package/dist/client.js.map +1 -1
  6. package/dist/contracts/composition_credits/composition_credits.d.ts +181 -0
  7. package/dist/contracts/composition_credits/composition_credits.d.ts.map +1 -0
  8. package/dist/contracts/composition_credits/composition_credits.js +109 -0
  9. package/dist/contracts/composition_credits/composition_credits.js.map +1 -0
  10. package/dist/contracts/composition_credits/composition_party_role.d.ts +119 -0
  11. package/dist/contracts/composition_credits/composition_party_role.d.ts.map +1 -0
  12. package/dist/contracts/composition_credits/composition_party_role.js +139 -0
  13. package/dist/contracts/composition_credits/composition_party_role.js.map +1 -0
  14. package/dist/contracts/composition_credits/deps/miso_credit/credit.d.ts +24 -0
  15. package/dist/contracts/composition_credits/deps/miso_credit/credit.d.ts.map +1 -0
  16. package/dist/contracts/composition_credits/deps/miso_credit/credit.js +23 -0
  17. package/dist/contracts/composition_credits/deps/miso_credit/credit.js.map +1 -0
  18. package/dist/contracts/composition_credits/deps/sui/vec_map.d.ts +37 -0
  19. package/dist/contracts/composition_credits/deps/sui/vec_map.d.ts.map +1 -0
  20. package/dist/contracts/composition_credits/deps/sui/vec_map.js +28 -0
  21. package/dist/contracts/composition_credits/deps/sui/vec_map.js.map +1 -0
  22. package/dist/contracts/miso/composition.d.ts +1 -1
  23. package/dist/contracts/miso/composition.js +2 -2
  24. package/dist/contracts/miso/deps/bps/bps.d.ts +1 -1
  25. package/dist/contracts/miso/deps/bps/bps.js +1 -1
  26. package/dist/contracts/miso/recording.d.ts +1 -1
  27. package/dist/contracts/miso/recording.js +1 -1
  28. package/dist/contracts/miso/release.d.ts +61 -37
  29. package/dist/contracts/miso/release.d.ts.map +1 -1
  30. package/dist/contracts/miso/release.js +65 -38
  31. package/dist/contracts/miso/release.js.map +1 -1
  32. package/dist/contracts/miso/track.d.ts +2 -2
  33. package/dist/contracts/miso/track.js +2 -2
  34. package/dist/contracts/recording_advisory/recording_advisory.d.ts +194 -0
  35. package/dist/contracts/recording_advisory/recording_advisory.d.ts.map +1 -0
  36. package/dist/contracts/recording_advisory/recording_advisory.js +204 -0
  37. package/dist/contracts/recording_advisory/recording_advisory.js.map +1 -0
  38. package/dist/contracts/recording_credits/deps/miso_credit/credit.d.ts +24 -0
  39. package/dist/contracts/recording_credits/deps/miso_credit/credit.d.ts.map +1 -0
  40. package/dist/contracts/recording_credits/deps/miso_credit/credit.js +23 -0
  41. package/dist/contracts/recording_credits/deps/miso_credit/credit.js.map +1 -0
  42. package/dist/contracts/recording_credits/deps/sui/vec_map.d.ts +37 -0
  43. package/dist/contracts/recording_credits/deps/sui/vec_map.d.ts.map +1 -0
  44. package/dist/contracts/recording_credits/deps/sui/vec_map.js +28 -0
  45. package/dist/contracts/recording_credits/deps/sui/vec_map.js.map +1 -0
  46. package/dist/contracts/recording_credits/deps/sui/vec_set.d.ts +21 -0
  47. package/dist/contracts/recording_credits/deps/sui/vec_set.d.ts.map +1 -0
  48. package/dist/contracts/recording_credits/deps/sui/vec_set.js +20 -0
  49. package/dist/contracts/recording_credits/deps/sui/vec_set.js.map +1 -0
  50. package/dist/contracts/recording_credits/recording_credits.d.ts +2313 -0
  51. package/dist/contracts/recording_credits/recording_credits.d.ts.map +1 -0
  52. package/dist/contracts/recording_credits/recording_credits.js +270 -0
  53. package/dist/contracts/recording_credits/recording_credits.js.map +1 -0
  54. package/dist/contracts/recording_credits/recording_party_role.d.ts +1174 -0
  55. package/dist/contracts/recording_credits/recording_party_role.d.ts.map +1 -0
  56. package/dist/contracts/recording_credits/recording_party_role.js +692 -0
  57. package/dist/contracts/recording_credits/recording_party_role.js.map +1 -0
  58. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts +6 -0
  59. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts.map +1 -0
  60. package/dist/contracts/recording_language/deps/language_code/language_code.js +8 -0
  61. package/dist/contracts/recording_language/deps/language_code/language_code.js.map +1 -0
  62. package/dist/contracts/recording_language/recording_language.d.ts +152 -0
  63. package/dist/contracts/recording_language/recording_language.d.ts.map +1 -0
  64. package/dist/contracts/recording_language/recording_language.js +149 -0
  65. package/dist/contracts/recording_language/recording_language.js.map +1 -0
  66. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.d.ts +52 -0
  67. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.d.ts.map +1 -0
  68. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.js +37 -0
  69. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.js.map +1 -0
  70. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts +131 -0
  71. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts.map +1 -0
  72. package/dist/contracts/recording_master_reference/recording_master_reference.js +121 -0
  73. package/dist/contracts/recording_master_reference/recording_master_reference.js.map +1 -0
  74. package/dist/contracts/recording_preview/deps/ori/walrus_data.d.ts +52 -0
  75. package/dist/contracts/recording_preview/deps/ori/walrus_data.d.ts.map +1 -0
  76. package/dist/contracts/recording_preview/deps/ori/walrus_data.js +37 -0
  77. package/dist/contracts/recording_preview/deps/ori/walrus_data.js.map +1 -0
  78. package/dist/contracts/recording_preview/recording_preview.d.ts +104 -0
  79. package/dist/contracts/recording_preview/recording_preview.d.ts.map +1 -0
  80. package/dist/contracts/recording_preview/recording_preview.js +94 -0
  81. package/dist/contracts/recording_preview/recording_preview.js.map +1 -0
  82. package/dist/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.d.ts +52 -0
  83. package/dist/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.d.ts.map +1 -0
  84. package/dist/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.js +37 -0
  85. package/dist/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.js.map +1 -0
  86. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts +46 -0
  87. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts.map +1 -0
  88. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js +21 -0
  89. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js.map +1 -0
  90. package/dist/contracts/release_cover_art/deps/per_track/per_track.d.ts +33 -0
  91. package/dist/contracts/release_cover_art/deps/per_track/per_track.d.ts.map +1 -0
  92. package/dist/contracts/release_cover_art/deps/per_track/per_track.js +32 -0
  93. package/dist/contracts/release_cover_art/deps/per_track/per_track.js.map +1 -0
  94. package/dist/contracts/release_cover_art/release_cover_art.d.ts +300 -0
  95. package/dist/contracts/release_cover_art/release_cover_art.d.ts.map +1 -0
  96. package/dist/contracts/release_cover_art/release_cover_art.js +168 -0
  97. package/dist/contracts/release_cover_art/release_cover_art.js.map +1 -0
  98. package/dist/contracts/release_credits/deps/miso_credit/credit.d.ts +24 -0
  99. package/dist/contracts/release_credits/deps/miso_credit/credit.d.ts.map +1 -0
  100. package/dist/contracts/release_credits/deps/miso_credit/credit.js +23 -0
  101. package/dist/contracts/release_credits/deps/miso_credit/credit.js.map +1 -0
  102. package/dist/contracts/release_credits/deps/sui/vec_map.d.ts +37 -0
  103. package/dist/contracts/release_credits/deps/sui/vec_map.d.ts.map +1 -0
  104. package/dist/contracts/release_credits/deps/sui/vec_map.js +28 -0
  105. package/dist/contracts/release_credits/deps/sui/vec_map.js.map +1 -0
  106. package/dist/contracts/release_credits/release_credits.d.ts +142 -0
  107. package/dist/contracts/release_credits/release_credits.d.ts.map +1 -0
  108. package/dist/contracts/release_credits/release_credits.js +108 -0
  109. package/dist/contracts/release_credits/release_credits.js.map +1 -0
  110. package/dist/contracts/release_credits/release_party_role.d.ts +58 -0
  111. package/dist/contracts/release_credits/release_party_role.d.ts.map +1 -0
  112. package/dist/contracts/release_credits/release_party_role.js +66 -0
  113. package/dist/contracts/release_credits/release_party_role.js.map +1 -0
  114. package/dist/contracts/release_description/release_description.d.ts +112 -0
  115. package/dist/contracts/release_description/release_description.d.ts.map +1 -0
  116. package/dist/contracts/release_description/release_description.js +123 -0
  117. package/dist/contracts/release_description/release_description.js.map +1 -0
  118. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts +644 -0
  119. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts.map +1 -0
  120. package/dist/contracts/release_dsp_link/release_dsp_link.js +556 -0
  121. package/dist/contracts/release_dsp_link/release_dsp_link.js.map +1 -0
  122. package/dist/contracts/release_genre/deps/per_track/per_track.d.ts +33 -0
  123. package/dist/contracts/release_genre/deps/per_track/per_track.d.ts.map +1 -0
  124. package/dist/contracts/release_genre/deps/per_track/per_track.js +32 -0
  125. package/dist/contracts/release_genre/deps/per_track/per_track.js.map +1 -0
  126. package/dist/contracts/release_genre/release_genre.d.ts +193 -0
  127. package/dist/contracts/release_genre/release_genre.d.ts.map +1 -0
  128. package/dist/contracts/release_genre/release_genre.js +207 -0
  129. package/dist/contracts/release_genre/release_genre.js.map +1 -0
  130. package/dist/contracts/release_kind/release_kind.d.ts +98 -0
  131. package/dist/contracts/release_kind/release_kind.d.ts.map +1 -0
  132. package/dist/contracts/release_kind/release_kind.js +109 -0
  133. package/dist/contracts/release_kind/release_kind.js.map +1 -0
  134. package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.d.ts +52 -0
  135. package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.d.ts.map +1 -0
  136. package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.js +37 -0
  137. package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.js.map +1 -0
  138. package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.d.ts +91 -0
  139. package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.d.ts.map +1 -0
  140. package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.js +91 -0
  141. package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.js.map +1 -0
  142. package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts +54 -0
  143. package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts.map +1 -0
  144. package/dist/contracts/routed_stake/deps/royalty_pool/stake.js +37 -0
  145. package/dist/contracts/routed_stake/deps/royalty_pool/stake.js.map +1 -0
  146. package/dist/contracts/routed_stake/deps/std/type_name.d.ts +18 -0
  147. package/dist/contracts/routed_stake/deps/std/type_name.d.ts.map +1 -0
  148. package/dist/contracts/routed_stake/deps/std/type_name.js +20 -0
  149. package/dist/contracts/routed_stake/deps/std/type_name.js.map +1 -0
  150. package/dist/contracts/routed_stake/deps/sui/balance.d.ts +13 -0
  151. package/dist/contracts/routed_stake/deps/sui/balance.d.ts.map +1 -0
  152. package/dist/contracts/routed_stake/deps/sui/balance.js +15 -0
  153. package/dist/contracts/routed_stake/deps/sui/balance.js.map +1 -0
  154. package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts +37 -0
  155. package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts.map +1 -0
  156. package/dist/contracts/routed_stake/deps/sui/vec_map.js +28 -0
  157. package/dist/contracts/routed_stake/deps/sui/vec_map.js.map +1 -0
  158. package/dist/contracts/routed_stake/routed_stake.d.ts +356 -0
  159. package/dist/contracts/routed_stake/routed_stake.d.ts.map +1 -0
  160. package/dist/contracts/routed_stake/routed_stake.js +311 -0
  161. package/dist/contracts/routed_stake/routed_stake.js.map +1 -0
  162. package/dist/contracts/royalty_pool/deps/std/type_name.d.ts +18 -0
  163. package/dist/contracts/royalty_pool/deps/std/type_name.d.ts.map +1 -0
  164. package/dist/contracts/royalty_pool/deps/std/type_name.js +20 -0
  165. package/dist/contracts/royalty_pool/deps/std/type_name.js.map +1 -0
  166. package/dist/contracts/royalty_pool/deps/sui/balance.d.ts +13 -0
  167. package/dist/contracts/royalty_pool/deps/sui/balance.d.ts.map +1 -0
  168. package/dist/contracts/royalty_pool/deps/sui/balance.js +15 -0
  169. package/dist/contracts/royalty_pool/deps/sui/balance.js.map +1 -0
  170. package/dist/contracts/royalty_pool/deps/sui/vec_map.d.ts +37 -0
  171. package/dist/contracts/royalty_pool/deps/sui/vec_map.d.ts.map +1 -0
  172. package/dist/contracts/royalty_pool/deps/sui/vec_map.js +28 -0
  173. package/dist/contracts/royalty_pool/deps/sui/vec_map.js.map +1 -0
  174. package/dist/contracts/royalty_pool/pool.d.ts +394 -0
  175. package/dist/contracts/royalty_pool/pool.d.ts.map +1 -0
  176. package/dist/contracts/royalty_pool/pool.js +387 -0
  177. package/dist/contracts/royalty_pool/pool.js.map +1 -0
  178. package/dist/contracts/royalty_pool/stake.d.ts +202 -0
  179. package/dist/contracts/royalty_pool/stake.d.ts.map +1 -0
  180. package/dist/contracts/royalty_pool/stake.js +197 -0
  181. package/dist/contracts/royalty_pool/stake.js.map +1 -0
  182. package/dist/contracts.d.ts +37 -3
  183. package/dist/contracts.d.ts.map +1 -1
  184. package/dist/contracts.js +42 -8
  185. package/dist/contracts.js.map +1 -1
  186. package/dist/deployments.d.ts +46 -12
  187. package/dist/deployments.d.ts.map +1 -1
  188. package/dist/deployments.js +119 -11
  189. package/dist/deployments.js.map +1 -1
  190. package/dist/events.d.ts +1081 -0
  191. package/dist/events.d.ts.map +1 -0
  192. package/dist/events.js +124 -0
  193. package/dist/events.js.map +1 -0
  194. package/dist/execute.d.ts.map +1 -1
  195. package/dist/execute.js +0 -4
  196. package/dist/execute.js.map +1 -1
  197. package/dist/index.d.ts +3 -0
  198. package/dist/index.d.ts.map +1 -1
  199. package/dist/index.js +6 -3
  200. package/dist/index.js.map +1 -1
  201. package/dist/internal.d.ts.map +1 -1
  202. package/dist/internal.js.map +1 -1
  203. package/dist/numeric.d.ts +5 -0
  204. package/dist/numeric.d.ts.map +1 -0
  205. package/dist/numeric.js +21 -0
  206. package/dist/numeric.js.map +1 -0
  207. package/dist/packages.d.ts +159 -0
  208. package/dist/packages.d.ts.map +1 -0
  209. package/dist/packages.js +179 -0
  210. package/dist/packages.js.map +1 -0
  211. package/dist/parsers.d.ts +5 -1
  212. package/dist/parsers.d.ts.map +1 -1
  213. package/dist/parsers.js +18 -2
  214. package/dist/parsers.js.map +1 -1
  215. package/dist/queries.d.ts +92 -0
  216. package/dist/queries.d.ts.map +1 -1
  217. package/dist/queries.js +132 -23
  218. package/dist/queries.js.map +1 -1
  219. package/dist/transactions.d.ts +96 -3
  220. package/dist/transactions.d.ts.map +1 -1
  221. package/dist/transactions.js +123 -11
  222. package/dist/transactions.js.map +1 -1
  223. package/dist/types.d.ts +18 -0
  224. package/dist/types.d.ts.map +1 -1
  225. package/dist/view.d.ts +6 -5
  226. package/dist/view.d.ts.map +1 -1
  227. package/dist/view.js +8 -2
  228. package/dist/view.js.map +1 -1
  229. package/package.json +14 -4
  230. package/src/client.ts +57 -23
  231. package/src/contracts/composition_credits/composition_credits.ts +169 -0
  232. package/src/contracts/composition_credits/composition_party_role.ts +189 -0
  233. package/src/contracts/composition_credits/deps/miso_credit/credit.ts +27 -0
  234. package/src/contracts/composition_credits/deps/sui/vec_map.ts +33 -0
  235. package/src/contracts/miso/composition.ts +8 -8
  236. package/src/contracts/miso/deps/bps/bps.ts +3 -3
  237. package/src/contracts/miso/recording.ts +10 -10
  238. package/src/contracts/miso/release.ts +103 -67
  239. package/src/contracts/miso/track.ts +5 -5
  240. package/src/contracts/recording_advisory/recording_advisory.ts +315 -0
  241. package/src/contracts/recording_credits/deps/miso_credit/credit.ts +27 -0
  242. package/src/contracts/recording_credits/deps/sui/vec_map.ts +33 -0
  243. package/src/contracts/recording_credits/deps/sui/vec_set.ts +21 -0
  244. package/src/contracts/recording_credits/recording_credits.ts +458 -0
  245. package/src/contracts/recording_credits/recording_party_role.ts +1041 -0
  246. package/src/contracts/recording_language/deps/language_code/language_code.ts +7 -0
  247. package/src/contracts/recording_language/recording_language.ts +237 -0
  248. package/src/contracts/recording_master_reference/deps/ori/walrus_data.ts +36 -0
  249. package/src/contracts/recording_master_reference/recording_master_reference.ts +181 -0
  250. package/src/contracts/recording_preview/deps/ori/walrus_data.ts +36 -0
  251. package/src/contracts/recording_preview/recording_preview.ts +154 -0
  252. package/src/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.ts +36 -0
  253. package/src/contracts/release_cover_art/deps/cover_art/cover_art.ts +23 -0
  254. package/src/contracts/release_cover_art/deps/per_track/per_track.ts +36 -0
  255. package/src/contracts/release_cover_art/release_cover_art.ts +251 -0
  256. package/src/contracts/release_credits/deps/miso_credit/credit.ts +27 -0
  257. package/src/contracts/release_credits/deps/sui/vec_map.ts +33 -0
  258. package/src/contracts/release_credits/release_credits.ts +156 -0
  259. package/src/contracts/release_credits/release_party_role.ts +87 -0
  260. package/src/contracts/release_description/release_description.ts +167 -0
  261. package/src/contracts/release_dsp_link/release_dsp_link.ts +813 -0
  262. package/src/contracts/release_genre/deps/per_track/per_track.ts +36 -0
  263. package/src/contracts/release_genre/release_genre.ts +314 -0
  264. package/src/contracts/release_kind/release_kind.ts +153 -0
  265. package/src/contracts/release_snapshot_bundle/deps/ori/walrus_data.ts +36 -0
  266. package/src/contracts/release_snapshot_bundle/release_snapshot_bundle.ts +124 -0
  267. package/src/contracts/routed_stake/deps/royalty_pool/stake.ts +39 -0
  268. package/src/contracts/routed_stake/deps/std/type_name.ts +22 -0
  269. package/src/contracts/routed_stake/deps/sui/balance.ts +17 -0
  270. package/src/contracts/routed_stake/deps/sui/vec_map.ts +33 -0
  271. package/src/contracts/routed_stake/routed_stake.ts +508 -0
  272. package/src/contracts/royalty_pool/deps/std/type_name.ts +22 -0
  273. package/src/contracts/royalty_pool/deps/sui/balance.ts +17 -0
  274. package/src/contracts/royalty_pool/deps/sui/vec_map.ts +33 -0
  275. package/src/contracts/royalty_pool/pool.ts +613 -0
  276. package/src/contracts/royalty_pool/stake.ts +317 -0
  277. package/src/contracts.ts +59 -6
  278. package/src/deployments.ts +160 -22
  279. package/src/events.ts +129 -0
  280. package/src/execute.ts +0 -4
  281. package/src/index.ts +6 -3
  282. package/src/internal.ts +0 -4
  283. package/src/numeric.ts +25 -0
  284. package/src/packages.ts +251 -0
  285. package/src/parsers.ts +32 -2
  286. package/src/queries.ts +227 -25
  287. package/src/transactions.ts +254 -12
  288. package/src/types.ts +20 -0
  289. package/src/view.ts +12 -6
@@ -45,13 +45,14 @@
45
45
  * trusted and publicly attributable rather than cryptographically committed. See
46
46
  * `track::new` for the signer-side statement of this boundary.
47
47
  *
48
- * The derived id commits to a `(parent, digest)` pair, not the digest alone — so
49
- * targeting an id also consents to that namespace's liveness. If the parent object
50
- * is deleted, or its `&mut UID` becomes permanently unreachable, the release can
51
- * never exist and every track or offer targeting it is stranded — the same
52
- * blast-radius class as a release that simply never publishes. A coordinator meant
53
- * to serve as the default parent namespace should therefore be shared and
54
- * undeletable.
48
+ * The derived id commits to the canonical registry's UID and the digest, not the
49
+ * digest alone — so targeting an id also consents to that namespace's liveness. If
50
+ * that parent were deleted, or its `&mut UID` became permanently unreachable, the
51
+ * release could never exist and every track or offer targeting it would be
52
+ * stranded — the same blast-radius class as a release that simply never publishes.
53
+ * `ReleaseRegistry` is therefore created and shared exactly once at package
54
+ * initialization, and exposes neither a constructor, deletion path, nor mutable
55
+ * UID accessor.
55
56
  *
56
57
  * ### Lifecycle and trust model
57
58
  *
@@ -70,10 +71,10 @@
70
71
  * the one trust assumption that never expires: integrators should model the cap
71
72
  * holder as able to mutate or delete any extension data, forever.
72
73
  */
73
- import { MoveEnum, MoveStruct, MoveTuple, normalizeMoveArguments } from '../utils/index.js';
74
+ import { MoveEnum, MoveStruct, MoveTuple, normalizeMoveArguments } from "../utils/index.js";
74
75
  import { bcs } from '@mysten/sui/bcs';
75
76
  import {} from '@mysten/sui/transactions';
76
- import * as track from './track.js';
77
+ import * as track from "./track.js";
77
78
  const $moduleName = '@local-pkg/miso::release';
78
79
  /** Lifecycle state of a release. */
79
80
  export const ReleaseState = new MoveEnum({ name: `${$moduleName}::ReleaseState`, fields: {
@@ -95,6 +96,9 @@ export const Release = new MoveStruct({ name: `${$moduleName}::Release`, fields:
95
96
  */
96
97
  tracks: bcs.vector(track.Track)
97
98
  } });
99
+ export const ReleaseRegistry = new MoveStruct({ name: `${$moduleName}::ReleaseRegistry`, fields: {
100
+ id: bcs.Address
101
+ } });
98
102
  export const ReleaseKey = new MoveTuple({ name: `${$moduleName}::ReleaseKey`, fields: [bcs.vector(bcs.u8())] });
99
103
  export const ReleaseAdminCap = new MoveStruct({ name: `${$moduleName}::ReleaseAdminCap`, fields: {
100
104
  /** Unique identifier for this capability. */
@@ -106,22 +110,26 @@ export const ReleaseAdminCapKey = new MoveTuple({ name: `${$moduleName}::Release
106
110
  export const ReleasePublishedEvent = new MoveStruct({ name: `${$moduleName}::ReleasePublishedEvent`, fields: {
107
111
  release_id: bcs.Address
108
112
  } });
113
+ export const ReleaseRegistryCreatedEvent = new MoveStruct({ name: `${$moduleName}::ReleaseRegistryCreatedEvent`, fields: {
114
+ registry_id: bcs.Address,
115
+ created_by: bcs.Address
116
+ } });
109
117
  /**
110
- * Creates a new release with the given configuration. Claims the release's UID as
111
- * a derived child of `parent`, keyed by the release digest (see the module doc's
112
- * "Consent scope" section) so contention is per-parent, and which object serves
113
- * as parent is entirely the caller's choice. Returns the release and admin
114
- * capability.
118
+ * Assembles a release under the canonical registry namespace. This is
119
+ * permissionless: consent is carried by the supplied tracks, each of which was
120
+ * created for the exact derived release id. Returns the release and admin
121
+ * capability by value so the caller can compose `publish` and custody in the same
122
+ * PTB.
115
123
  */
116
124
  export function _new(options) {
117
125
  const packageAddress = options.package ?? '@local-pkg/miso';
118
126
  const argumentsTypes = [
127
+ null,
119
128
  '0x1::string::String',
120
129
  'vector<null>',
121
- 'u256',
122
- '0x2::object::ID'
130
+ 'u256'
123
131
  ];
124
- const parameterNames = ["title", "tracks", "nonce", "parent"];
132
+ const parameterNames = ["self", "title", "tracks", "nonce"];
125
133
  return (tx) => tx.moveCall({
126
134
  package: packageAddress,
127
135
  module: 'release',
@@ -129,6 +137,46 @@ export function _new(options) {
129
137
  arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
130
138
  });
131
139
  }
140
+ /**
141
+ * Derives the release id that `new` would claim under this registry, without
142
+ * creating a release. This immutable shared-object access remains parallelizable
143
+ * for clients preparing tracks.
144
+ */
145
+ export function deriveTargetReleaseId(options) {
146
+ const packageAddress = options.package ?? '@local-pkg/miso';
147
+ const argumentsTypes = [
148
+ null,
149
+ 'vector<0x2::object::ID>',
150
+ 'vector<u64>',
151
+ 'u256'
152
+ ];
153
+ const parameterNames = ["self", "recordingIds", "trackSplitValues", "nonce"];
154
+ return (tx) => tx.moveCall({
155
+ package: packageAddress,
156
+ module: 'release',
157
+ function: 'derive_target_release_id',
158
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
159
+ });
160
+ }
161
+ /**
162
+ * Returns the canonical registry's object ID, which is the derivation parent
163
+ * committed to by `new` and `derive_target_release_id`. Exported as the
164
+ * `ReleaseRegistry.id()` method to avoid colliding with the existing
165
+ * `release::id(&Release)` ABI function.
166
+ */
167
+ export function releaseRegistryId(options) {
168
+ const packageAddress = options.package ?? '@local-pkg/miso';
169
+ const argumentsTypes = [
170
+ null
171
+ ];
172
+ const parameterNames = ["self"];
173
+ return (tx) => tx.moveCall({
174
+ package: packageAddress,
175
+ module: 'release',
176
+ function: 'release_registry_id',
177
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
178
+ });
179
+ }
132
180
  /**
133
181
  * Publishes the release, making it immutable. Track splits must be set and sum to
134
182
  * 100% before publishing. Required State: Initialized
@@ -166,27 +214,6 @@ export function authorize(options) {
166
214
  arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
167
215
  });
168
216
  }
169
- /**
170
- * Derives the target release ID that `new()` would produce for the given inputs
171
- * and parent, without creating the object. This is the on-chain equivalent of the
172
- * client-side `deriveReleaseId()` function.
173
- */
174
- export function deriveTargetReleaseId(options) {
175
- const packageAddress = options.package ?? '@local-pkg/miso';
176
- const argumentsTypes = [
177
- 'vector<0x2::object::ID>',
178
- 'vector<u64>',
179
- 'u256',
180
- '0x2::object::ID'
181
- ];
182
- const parameterNames = ["recordingIds", "trackSplitValues", "nonce", "parent"];
183
- return (tx) => tx.moveCall({
184
- package: packageAddress,
185
- module: 'release',
186
- function: 'derive_target_release_id',
187
- arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
188
- });
189
- }
190
217
  /** Returns the release's object ID. */
191
218
  export function id(options) {
192
219
  const packageAddress = options.package ?? '@local-pkg/miso';
@@ -1 +1 @@
1
- {"version":3,"file":"release.js","sourceRoot":"","sources":["../../../src/contracts/miso/release.ts"],"names":[],"mappings":"AAAA;;gEAEgE;AAGhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AAEH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,sBAAsB,EAA+B,MAAM,mBAAmB,CAAC;AACzH,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAA8C,MAAM,0BAA0B,CAAC;AACtF,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAC/C,oCAAoC;AACpC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,gBAAgB,EAAE,MAAM,EAAE;QACjF,oDAAoD;QACpD,WAAW,EAAE,IAAI;QACjB,0EAA0E;QAC1E,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE;KACvB,EAAE,CAAC,CAAC;AACT,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,WAAW,EAAE,MAAM,EAAE;QACzE,0CAA0C;QAC1C,EAAE,EAAE,GAAG,CAAC,OAAO;QACf,+BAA+B;QAC/B,KAAK,EAAE,YAAY;QACnB,4BAA4B;QAC5B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE;QACnB;;;WAGG;QACH,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;KAClC,EAAE,CAAC,CAAC;AACT,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,cAAc,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAChH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,mBAAmB,EAAE,MAAM,EAAE;QACzF,6CAA6C;QAC7C,EAAE,EAAE,GAAG,CAAC,OAAO;QACf,kDAAkD;QAClD,UAAU,EAAE,GAAG,CAAC,OAAO;KAC1B,EAAE,CAAC,CAAC;AACT,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,sBAAsB,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;AACtH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,yBAAyB,EAAE,MAAM,EAAE;QACrG,UAAU,EAAE,GAAG,CAAC,OAAO;KAC1B,EAAE,CAAC,CAAC;AAgBT;;;;;;GAMG;AACH,MAAM,UAAU,IAAI,CAAC,OAAmB;IACpC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAC;IAC5D,MAAM,cAAc,GAAG;QACnB,qBAAqB;QACrB,cAAc;QACd,MAAM;QACN,iBAAiB;KACQ,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9D,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KACvF,CAAC,CAAC;AACP,CAAC;AAYD;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,OAAuB;IAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAC;IAC5D,MAAM,cAAc,GAAG;QACnB,IAAI;QACJ,IAAI;QACJ,mBAAmB;KACM,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KACvF,CAAC,CAAC;AACP,CAAC;AAYD,+DAA+D;AAC/D,MAAM,UAAU,SAAS,CAAC,OAAyB;IAC/C,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAC;IAC5D,MAAM,cAAc,GAAG;QACnB,IAAI;QACJ,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KACvF,CAAC,CAAC;AACP,CAAC;AAgBD;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAqC;IACvE,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAC;IAC5D,MAAM,cAAc,GAAG;QACnB,yBAAyB;QACzB,aAAa;QACb,MAAM;QACN,iBAAiB;KACQ,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,cAAc,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/E,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,0BAA0B;QACpC,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KACvF,CAAC,CAAC;AACP,CAAC;AAUD,uCAAuC;AACvC,MAAM,UAAU,EAAE,CAAC,OAAkB;IACjC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAC;IAC5D,MAAM,cAAc,GAAG;QACnB,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KACvF,CAAC,CAAC;AACP,CAAC;AAUD,iCAAiC;AACjC,MAAM,UAAU,KAAK,CAAC,OAAqB;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAC;IAC5D,MAAM,cAAc,GAAG;QACnB,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,OAAO;QACjB,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KACvF,CAAC,CAAC;AACP,CAAC;AAUD;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,OAAsB;IACzC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAC;IAC5D,MAAM,cAAc,GAAG;QACnB,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KACvF,CAAC,CAAC;AACP,CAAC;AAUD,mEAAmE;AACnE,MAAM,UAAU,wBAAwB,CAAC,OAAwC;IAC7E,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAC;IAC5D,MAAM,cAAc,GAAG;QACnB,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,8BAA8B;QACxC,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KACvF,CAAC,CAAC;AACP,CAAC;AAUD,2EAA2E;AAC3E,MAAM,UAAU,GAAG,CAAC,OAAmB;IACnC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAC;IAC5D,MAAM,cAAc,GAAG;QACnB,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KACvF,CAAC,CAAC;AACP,CAAC;AAYD;;;;;;GAMG;AACH,MAAM,UAAU,MAAM,CAAC,OAAsB;IACzC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAC;IAC5D,MAAM,cAAc,GAAG;QACnB,IAAI;QACJ,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KACvF,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"release.js","sourceRoot":"","sources":["../../../src/contracts/miso/release.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@
25
25
  * consumed off-chain and derived from the recording via `recording_id`; a `Track`
26
26
  * embeds exactly the facts on-chain consumers cannot reach any other way.
27
27
  */
28
- import { MoveEnum, MoveStruct, type RawTransactionArgument } from '../utils/index.js';
28
+ import { MoveEnum, MoveStruct, type RawTransactionArgument } from '../utils/index.ts';
29
29
  import { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';
30
30
  /**
31
31
  * Lifecycle state of a track within a release. A track is born `Unassigned`,
@@ -75,7 +75,7 @@ export declare const Track: MoveStruct<{
75
75
  * ownership at recording creation, so it is not split out here — a track routes
76
76
  * its full share to the recording.
77
77
  */
78
- split_bps: import("../utils/index.js").MoveTuple<readonly [import("@mysten/sui/bcs").BcsType<number, number, "u16">], "bps::bps::BPS">;
78
+ split_bps: import("../utils/index.ts").MoveTuple<readonly [import("@mysten/sui/bcs").BcsType<number, number, "u16">], "bps::bps::BPS">;
79
79
  }, "@local-pkg/miso::track::Track">;
80
80
  export interface NewArguments {
81
81
  _: RawTransactionArgument<string>;
@@ -25,10 +25,10 @@
25
25
  * consumed off-chain and derived from the recording via `recording_id`; a `Track`
26
26
  * embeds exactly the facts on-chain consumers cannot reach any other way.
27
27
  */
28
- import { MoveEnum, MoveStruct, normalizeMoveArguments } from '../utils/index.js';
28
+ import { MoveEnum, MoveStruct, normalizeMoveArguments } from "../utils/index.js";
29
29
  import { bcs } from '@mysten/sui/bcs';
30
30
  import {} from '@mysten/sui/transactions';
31
- import * as bps from './deps/bps/bps.js';
31
+ import * as bps from "./deps/bps/bps.js";
32
32
  const $moduleName = '@local-pkg/miso::track';
33
33
  /**
34
34
  * Lifecycle state of a track within a release. A track is born `Unassigned`,
@@ -0,0 +1,194 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ /**
5
+ * The parental advisory rating for a recording — whether its lyrics are explicit —
6
+ * stored as a dynamic field on the recording's UID and written through its
7
+ * cap-gated `uid_mut`.
8
+ *
9
+ * This is its own package on purpose. Advisory ratings are set by a different
10
+ * person, at a different time, for entirely different reasons than the other facts
11
+ * about a recording, and the standard that governs them moves on its own schedule.
12
+ * Bundling it into a general "recording metadata" object would mean that revising
13
+ * the advisory standard drags every unrelated field through the migration. Kept
14
+ * separate, a consumer implementing some future metadata profile selects this
15
+ * extension or ignores it, and swapping it touches nothing else.
16
+ *
17
+ * The rating is deliberately not a boolean. Every distributor and storefront
18
+ * distinguishes a _cleaned_ edit — an explicit recording re-issued with the
19
+ * offending content removed — from a recording that was never explicit at all.
20
+ * They are merchandised differently and a boolean cannot express the difference,
21
+ * so `Cleaned` is a first-class variant.
22
+ *
23
+ * Attaching the extension IS the statement. There is no "attached but undeclared"
24
+ * state: if a rating is present it has been asserted by the rights holder, and a
25
+ * recording with nothing attached has simply said nothing.
26
+ */
27
+ import { MoveTuple, MoveEnum, MoveStruct, type RawTransactionArgument } from '../utils/index.ts';
28
+ import { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';
29
+ export declare const ExtensionKey: MoveTuple<readonly [import("@mysten/sui/bcs").BcsType<boolean, boolean, "bool">], "@local-pkg/recording_advisory::recording_advisory::ExtensionKey">;
30
+ /** A recording's parental advisory rating. */
31
+ export declare const ExplicitRating: MoveEnum<{
32
+ /** Contains explicit content. */
33
+ Explicit: null;
34
+ /** Contains no explicit content, and never did. */
35
+ NotExplicit: null;
36
+ /** An edited version of a recording that was originally explicit. */
37
+ Cleaned: null;
38
+ }, "@local-pkg/recording_advisory::recording_advisory::ExplicitRating">;
39
+ export declare const AdvisoryRatingSetEvent: MoveStruct<{
40
+ recording_id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
41
+ rating: MoveEnum<{
42
+ /** Contains explicit content. */
43
+ Explicit: null;
44
+ /** Contains no explicit content, and never did. */
45
+ NotExplicit: null;
46
+ /** An edited version of a recording that was originally explicit. */
47
+ Cleaned: null;
48
+ }, "@local-pkg/recording_advisory::recording_advisory::ExplicitRating">;
49
+ }, "@local-pkg/recording_advisory::recording_advisory::AdvisoryRatingSetEvent">;
50
+ export declare const AdvisoryRatingUnsetEvent: MoveStruct<{
51
+ recording_id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
52
+ }, "@local-pkg/recording_advisory::recording_advisory::AdvisoryRatingUnsetEvent">;
53
+ export interface ExplicitOptions {
54
+ package?: string;
55
+ arguments?: [
56
+ ];
57
+ }
58
+ /** Contains explicit content. */
59
+ export declare function explicit(options?: ExplicitOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
60
+ export interface NotExplicitOptions {
61
+ package?: string;
62
+ arguments?: [
63
+ ];
64
+ }
65
+ /** Contains no explicit content, and never did. */
66
+ export declare function notExplicit(options?: NotExplicitOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
67
+ export interface CleanedOptions {
68
+ package?: string;
69
+ arguments?: [
70
+ ];
71
+ }
72
+ /** An edited version of a recording that was originally explicit. */
73
+ export declare function cleaned(options?: CleanedOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
74
+ export interface SetRatingArguments {
75
+ self: RawTransactionArgument<string>;
76
+ cap: RawTransactionArgument<string>;
77
+ rating: TransactionArgument;
78
+ }
79
+ export interface SetRatingOptions {
80
+ package?: string;
81
+ arguments: SetRatingArguments | [
82
+ self: RawTransactionArgument<string>,
83
+ cap: RawTransactionArgument<string>,
84
+ rating: TransactionArgument
85
+ ];
86
+ typeArguments: [
87
+ string,
88
+ string
89
+ ];
90
+ }
91
+ /** Sets (or replaces) the recording's advisory rating. */
92
+ export declare function setRating(options: SetRatingOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
93
+ export interface UnsetRatingArguments {
94
+ self: RawTransactionArgument<string>;
95
+ cap: RawTransactionArgument<string>;
96
+ }
97
+ export interface UnsetRatingOptions {
98
+ package?: string;
99
+ arguments: UnsetRatingArguments | [
100
+ self: RawTransactionArgument<string>,
101
+ cap: RawTransactionArgument<string>
102
+ ];
103
+ typeArguments: [
104
+ string,
105
+ string
106
+ ];
107
+ }
108
+ /**
109
+ * Removes the rating, if any. Idempotent — the recording is left having said
110
+ * nothing about its content, which is distinct from asserting `NotExplicit`.
111
+ */
112
+ export declare function unsetRating(options: UnsetRatingOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
113
+ export interface HasRatingArguments {
114
+ self: RawTransactionArgument<string>;
115
+ }
116
+ export interface HasRatingOptions {
117
+ package?: string;
118
+ arguments: HasRatingArguments | [
119
+ self: RawTransactionArgument<string>
120
+ ];
121
+ typeArguments: [
122
+ string,
123
+ string
124
+ ];
125
+ }
126
+ /** Whether an advisory rating is attached to this recording. */
127
+ export declare function hasRating(options: HasRatingOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
128
+ export interface RatingArguments {
129
+ self: RawTransactionArgument<string>;
130
+ }
131
+ export interface RatingOptions {
132
+ package?: string;
133
+ arguments: RatingArguments | [
134
+ self: RawTransactionArgument<string>
135
+ ];
136
+ typeArguments: [
137
+ string,
138
+ string
139
+ ];
140
+ }
141
+ /**
142
+ * The recording's advisory rating. Aborts if none is attached — callers that
143
+ * tolerate an unrated recording should check `has_rating` first, since absence is
144
+ * a meaningful state and must not be silently read as `NotExplicit`.
145
+ */
146
+ export declare function rating(options: RatingOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
147
+ export interface IsExplicitArguments {
148
+ self: TransactionArgument;
149
+ }
150
+ export interface IsExplicitOptions {
151
+ package?: string;
152
+ arguments: IsExplicitArguments | [
153
+ self: TransactionArgument
154
+ ];
155
+ }
156
+ /** Whether the recording contains explicit content. */
157
+ export declare function isExplicit(options: IsExplicitOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
158
+ export interface IsNotExplicitArguments {
159
+ self: TransactionArgument;
160
+ }
161
+ export interface IsNotExplicitOptions {
162
+ package?: string;
163
+ arguments: IsNotExplicitArguments | [
164
+ self: TransactionArgument
165
+ ];
166
+ }
167
+ /** Whether the recording contains no explicit content and never did. */
168
+ export declare function isNotExplicit(options: IsNotExplicitOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
169
+ export interface IsCleanedArguments {
170
+ self: TransactionArgument;
171
+ }
172
+ export interface IsCleanedOptions {
173
+ package?: string;
174
+ arguments: IsCleanedArguments | [
175
+ self: TransactionArgument
176
+ ];
177
+ }
178
+ /** Whether the recording is an edited version of an originally explicit one. */
179
+ export declare function isCleaned(options: IsCleanedOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
180
+ export interface NameArguments {
181
+ self: TransactionArgument;
182
+ }
183
+ export interface NameOptions {
184
+ package?: string;
185
+ arguments: NameArguments | [
186
+ self: TransactionArgument
187
+ ];
188
+ }
189
+ /**
190
+ * The rating's canonical name, for clients and indexers that need a stable string
191
+ * rather than a Move value.
192
+ */
193
+ export declare function name(options: NameOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
194
+ //# sourceMappingURL=recording_advisory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recording_advisory.d.ts","sourceRoot":"","sources":["../../../src/contracts/recording_advisory/recording_advisory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,204 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ /**
5
+ * The parental advisory rating for a recording — whether its lyrics are explicit —
6
+ * stored as a dynamic field on the recording's UID and written through its
7
+ * cap-gated `uid_mut`.
8
+ *
9
+ * This is its own package on purpose. Advisory ratings are set by a different
10
+ * person, at a different time, for entirely different reasons than the other facts
11
+ * about a recording, and the standard that governs them moves on its own schedule.
12
+ * Bundling it into a general "recording metadata" object would mean that revising
13
+ * the advisory standard drags every unrelated field through the migration. Kept
14
+ * separate, a consumer implementing some future metadata profile selects this
15
+ * extension or ignores it, and swapping it touches nothing else.
16
+ *
17
+ * The rating is deliberately not a boolean. Every distributor and storefront
18
+ * distinguishes a _cleaned_ edit — an explicit recording re-issued with the
19
+ * offending content removed — from a recording that was never explicit at all.
20
+ * They are merchandised differently and a boolean cannot express the difference,
21
+ * so `Cleaned` is a first-class variant.
22
+ *
23
+ * Attaching the extension IS the statement. There is no "attached but undeclared"
24
+ * state: if a rating is present it has been asserted by the rights holder, and a
25
+ * recording with nothing attached has simply said nothing.
26
+ */
27
+ import { MoveTuple, MoveEnum, MoveStruct, normalizeMoveArguments } from "../utils/index.js";
28
+ import { bcs } from '@mysten/sui/bcs';
29
+ import {} from '@mysten/sui/transactions';
30
+ const $moduleName = '@local-pkg/recording_advisory::recording_advisory';
31
+ export const ExtensionKey = new MoveTuple({ name: `${$moduleName}::ExtensionKey`, fields: [bcs.bool()] });
32
+ /** A recording's parental advisory rating. */
33
+ export const ExplicitRating = new MoveEnum({ name: `${$moduleName}::ExplicitRating`, fields: {
34
+ /** Contains explicit content. */
35
+ Explicit: null,
36
+ /** Contains no explicit content, and never did. */
37
+ NotExplicit: null,
38
+ /** An edited version of a recording that was originally explicit. */
39
+ Cleaned: null
40
+ } });
41
+ export const AdvisoryRatingSetEvent = new MoveStruct({ name: `${$moduleName}::AdvisoryRatingSetEvent`, fields: {
42
+ recording_id: bcs.Address,
43
+ rating: ExplicitRating
44
+ } });
45
+ export const AdvisoryRatingUnsetEvent = new MoveStruct({ name: `${$moduleName}::AdvisoryRatingUnsetEvent`, fields: {
46
+ recording_id: bcs.Address
47
+ } });
48
+ /** Contains explicit content. */
49
+ export function explicit(options = {}) {
50
+ const packageAddress = options.package ?? '@local-pkg/recording_advisory';
51
+ return (tx) => tx.moveCall({
52
+ package: packageAddress,
53
+ module: 'recording_advisory',
54
+ function: 'explicit',
55
+ });
56
+ }
57
+ /** Contains no explicit content, and never did. */
58
+ export function notExplicit(options = {}) {
59
+ const packageAddress = options.package ?? '@local-pkg/recording_advisory';
60
+ return (tx) => tx.moveCall({
61
+ package: packageAddress,
62
+ module: 'recording_advisory',
63
+ function: 'not_explicit',
64
+ });
65
+ }
66
+ /** An edited version of a recording that was originally explicit. */
67
+ export function cleaned(options = {}) {
68
+ const packageAddress = options.package ?? '@local-pkg/recording_advisory';
69
+ return (tx) => tx.moveCall({
70
+ package: packageAddress,
71
+ module: 'recording_advisory',
72
+ function: 'cleaned',
73
+ });
74
+ }
75
+ /** Sets (or replaces) the recording's advisory rating. */
76
+ export function setRating(options) {
77
+ const packageAddress = options.package ?? '@local-pkg/recording_advisory';
78
+ const argumentsTypes = [
79
+ null,
80
+ null,
81
+ null
82
+ ];
83
+ const parameterNames = ["self", "cap", "rating"];
84
+ return (tx) => tx.moveCall({
85
+ package: packageAddress,
86
+ module: 'recording_advisory',
87
+ function: 'set_rating',
88
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
89
+ typeArguments: options.typeArguments
90
+ });
91
+ }
92
+ /**
93
+ * Removes the rating, if any. Idempotent — the recording is left having said
94
+ * nothing about its content, which is distinct from asserting `NotExplicit`.
95
+ */
96
+ export function unsetRating(options) {
97
+ const packageAddress = options.package ?? '@local-pkg/recording_advisory';
98
+ const argumentsTypes = [
99
+ null,
100
+ null
101
+ ];
102
+ const parameterNames = ["self", "cap"];
103
+ return (tx) => tx.moveCall({
104
+ package: packageAddress,
105
+ module: 'recording_advisory',
106
+ function: 'unset_rating',
107
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
108
+ typeArguments: options.typeArguments
109
+ });
110
+ }
111
+ /** Whether an advisory rating is attached to this recording. */
112
+ export function hasRating(options) {
113
+ const packageAddress = options.package ?? '@local-pkg/recording_advisory';
114
+ const argumentsTypes = [
115
+ null
116
+ ];
117
+ const parameterNames = ["self"];
118
+ return (tx) => tx.moveCall({
119
+ package: packageAddress,
120
+ module: 'recording_advisory',
121
+ function: 'has_rating',
122
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
123
+ typeArguments: options.typeArguments
124
+ });
125
+ }
126
+ /**
127
+ * The recording's advisory rating. Aborts if none is attached — callers that
128
+ * tolerate an unrated recording should check `has_rating` first, since absence is
129
+ * a meaningful state and must not be silently read as `NotExplicit`.
130
+ */
131
+ export function rating(options) {
132
+ const packageAddress = options.package ?? '@local-pkg/recording_advisory';
133
+ const argumentsTypes = [
134
+ null
135
+ ];
136
+ const parameterNames = ["self"];
137
+ return (tx) => tx.moveCall({
138
+ package: packageAddress,
139
+ module: 'recording_advisory',
140
+ function: 'rating',
141
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
142
+ typeArguments: options.typeArguments
143
+ });
144
+ }
145
+ /** Whether the recording contains explicit content. */
146
+ export function isExplicit(options) {
147
+ const packageAddress = options.package ?? '@local-pkg/recording_advisory';
148
+ const argumentsTypes = [
149
+ null
150
+ ];
151
+ const parameterNames = ["self"];
152
+ return (tx) => tx.moveCall({
153
+ package: packageAddress,
154
+ module: 'recording_advisory',
155
+ function: 'is_explicit',
156
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
157
+ });
158
+ }
159
+ /** Whether the recording contains no explicit content and never did. */
160
+ export function isNotExplicit(options) {
161
+ const packageAddress = options.package ?? '@local-pkg/recording_advisory';
162
+ const argumentsTypes = [
163
+ null
164
+ ];
165
+ const parameterNames = ["self"];
166
+ return (tx) => tx.moveCall({
167
+ package: packageAddress,
168
+ module: 'recording_advisory',
169
+ function: 'is_not_explicit',
170
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
171
+ });
172
+ }
173
+ /** Whether the recording is an edited version of an originally explicit one. */
174
+ export function isCleaned(options) {
175
+ const packageAddress = options.package ?? '@local-pkg/recording_advisory';
176
+ const argumentsTypes = [
177
+ null
178
+ ];
179
+ const parameterNames = ["self"];
180
+ return (tx) => tx.moveCall({
181
+ package: packageAddress,
182
+ module: 'recording_advisory',
183
+ function: 'is_cleaned',
184
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
185
+ });
186
+ }
187
+ /**
188
+ * The rating's canonical name, for clients and indexers that need a stable string
189
+ * rather than a Move value.
190
+ */
191
+ export function name(options) {
192
+ const packageAddress = options.package ?? '@local-pkg/recording_advisory';
193
+ const argumentsTypes = [
194
+ null
195
+ ];
196
+ const parameterNames = ["self"];
197
+ return (tx) => tx.moveCall({
198
+ package: packageAddress,
199
+ module: 'recording_advisory',
200
+ function: 'name',
201
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
202
+ });
203
+ }
204
+ //# sourceMappingURL=recording_advisory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recording_advisory.js","sourceRoot":"","sources":["../../../src/contracts/recording_advisory/recording_advisory.ts"],"names":[],"mappings":"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"}