@misonetwork/sdk 0.6.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 (296) hide show
  1. package/README.md +181 -124
  2. package/dist/client.d.ts +1229 -15
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +43 -21
  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 +17 -39
  23. package/dist/contracts/miso/composition.d.ts.map +1 -1
  24. package/dist/contracts/miso/composition.js +18 -39
  25. package/dist/contracts/miso/composition.js.map +1 -1
  26. package/dist/contracts/miso/deps/bps/bps.d.ts +1 -1
  27. package/dist/contracts/miso/deps/bps/bps.js +1 -1
  28. package/dist/contracts/miso/recording.d.ts +44 -19
  29. package/dist/contracts/miso/recording.d.ts.map +1 -1
  30. package/dist/contracts/miso/recording.js +46 -20
  31. package/dist/contracts/miso/recording.js.map +1 -1
  32. package/dist/contracts/miso/release.d.ts +63 -37
  33. package/dist/contracts/miso/release.d.ts.map +1 -1
  34. package/dist/contracts/miso/release.js +65 -38
  35. package/dist/contracts/miso/release.js.map +1 -1
  36. package/dist/contracts/miso/track.d.ts +41 -10
  37. package/dist/contracts/miso/track.d.ts.map +1 -1
  38. package/dist/contracts/miso/track.js +44 -10
  39. package/dist/contracts/miso/track.js.map +1 -1
  40. package/dist/contracts/recording_advisory/recording_advisory.d.ts +194 -0
  41. package/dist/contracts/recording_advisory/recording_advisory.d.ts.map +1 -0
  42. package/dist/contracts/recording_advisory/recording_advisory.js +204 -0
  43. package/dist/contracts/recording_advisory/recording_advisory.js.map +1 -0
  44. package/dist/contracts/recording_credits/deps/miso_credit/credit.d.ts +24 -0
  45. package/dist/contracts/recording_credits/deps/miso_credit/credit.d.ts.map +1 -0
  46. package/dist/contracts/recording_credits/deps/miso_credit/credit.js +23 -0
  47. package/dist/contracts/recording_credits/deps/miso_credit/credit.js.map +1 -0
  48. package/dist/contracts/recording_credits/deps/sui/vec_map.d.ts +37 -0
  49. package/dist/contracts/recording_credits/deps/sui/vec_map.d.ts.map +1 -0
  50. package/dist/contracts/recording_credits/deps/sui/vec_map.js +28 -0
  51. package/dist/contracts/recording_credits/deps/sui/vec_map.js.map +1 -0
  52. package/dist/contracts/recording_credits/deps/sui/vec_set.d.ts +21 -0
  53. package/dist/contracts/recording_credits/deps/sui/vec_set.d.ts.map +1 -0
  54. package/dist/contracts/recording_credits/deps/sui/vec_set.js +20 -0
  55. package/dist/contracts/recording_credits/deps/sui/vec_set.js.map +1 -0
  56. package/dist/contracts/recording_credits/recording_credits.d.ts +2313 -0
  57. package/dist/contracts/recording_credits/recording_credits.d.ts.map +1 -0
  58. package/dist/contracts/recording_credits/recording_credits.js +270 -0
  59. package/dist/contracts/recording_credits/recording_credits.js.map +1 -0
  60. package/dist/contracts/recording_credits/recording_party_role.d.ts +1174 -0
  61. package/dist/contracts/recording_credits/recording_party_role.d.ts.map +1 -0
  62. package/dist/contracts/recording_credits/recording_party_role.js +692 -0
  63. package/dist/contracts/recording_credits/recording_party_role.js.map +1 -0
  64. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts +6 -0
  65. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts.map +1 -0
  66. package/dist/contracts/recording_language/deps/language_code/language_code.js +8 -0
  67. package/dist/contracts/recording_language/deps/language_code/language_code.js.map +1 -0
  68. package/dist/contracts/recording_language/recording_language.d.ts +152 -0
  69. package/dist/contracts/recording_language/recording_language.d.ts.map +1 -0
  70. package/dist/contracts/recording_language/recording_language.js +149 -0
  71. package/dist/contracts/recording_language/recording_language.js.map +1 -0
  72. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.d.ts +52 -0
  73. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.d.ts.map +1 -0
  74. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.js +37 -0
  75. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.js.map +1 -0
  76. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts +131 -0
  77. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts.map +1 -0
  78. package/dist/contracts/recording_master_reference/recording_master_reference.js +121 -0
  79. package/dist/contracts/recording_master_reference/recording_master_reference.js.map +1 -0
  80. package/dist/contracts/recording_preview/deps/ori/walrus_data.d.ts +52 -0
  81. package/dist/contracts/recording_preview/deps/ori/walrus_data.d.ts.map +1 -0
  82. package/dist/contracts/recording_preview/deps/ori/walrus_data.js +37 -0
  83. package/dist/contracts/recording_preview/deps/ori/walrus_data.js.map +1 -0
  84. package/dist/contracts/recording_preview/recording_preview.d.ts +104 -0
  85. package/dist/contracts/recording_preview/recording_preview.d.ts.map +1 -0
  86. package/dist/contracts/recording_preview/recording_preview.js +94 -0
  87. package/dist/contracts/recording_preview/recording_preview.js.map +1 -0
  88. package/dist/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.d.ts +52 -0
  89. package/dist/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.d.ts.map +1 -0
  90. package/dist/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.js +37 -0
  91. package/dist/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.js.map +1 -0
  92. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts +46 -0
  93. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts.map +1 -0
  94. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js +21 -0
  95. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js.map +1 -0
  96. package/dist/contracts/release_cover_art/deps/per_track/per_track.d.ts +33 -0
  97. package/dist/contracts/release_cover_art/deps/per_track/per_track.d.ts.map +1 -0
  98. package/dist/contracts/release_cover_art/deps/per_track/per_track.js +32 -0
  99. package/dist/contracts/release_cover_art/deps/per_track/per_track.js.map +1 -0
  100. package/dist/contracts/release_cover_art/release_cover_art.d.ts +300 -0
  101. package/dist/contracts/release_cover_art/release_cover_art.d.ts.map +1 -0
  102. package/dist/contracts/release_cover_art/release_cover_art.js +168 -0
  103. package/dist/contracts/release_cover_art/release_cover_art.js.map +1 -0
  104. package/dist/contracts/release_credits/deps/miso_credit/credit.d.ts +24 -0
  105. package/dist/contracts/release_credits/deps/miso_credit/credit.d.ts.map +1 -0
  106. package/dist/contracts/release_credits/deps/miso_credit/credit.js +23 -0
  107. package/dist/contracts/release_credits/deps/miso_credit/credit.js.map +1 -0
  108. package/dist/contracts/release_credits/deps/sui/vec_map.d.ts +37 -0
  109. package/dist/contracts/release_credits/deps/sui/vec_map.d.ts.map +1 -0
  110. package/dist/contracts/release_credits/deps/sui/vec_map.js +28 -0
  111. package/dist/contracts/release_credits/deps/sui/vec_map.js.map +1 -0
  112. package/dist/contracts/release_credits/release_credits.d.ts +142 -0
  113. package/dist/contracts/release_credits/release_credits.d.ts.map +1 -0
  114. package/dist/contracts/release_credits/release_credits.js +108 -0
  115. package/dist/contracts/release_credits/release_credits.js.map +1 -0
  116. package/dist/contracts/release_credits/release_party_role.d.ts +58 -0
  117. package/dist/contracts/release_credits/release_party_role.d.ts.map +1 -0
  118. package/dist/contracts/release_credits/release_party_role.js +66 -0
  119. package/dist/contracts/release_credits/release_party_role.js.map +1 -0
  120. package/dist/contracts/release_description/release_description.d.ts +112 -0
  121. package/dist/contracts/release_description/release_description.d.ts.map +1 -0
  122. package/dist/contracts/release_description/release_description.js +123 -0
  123. package/dist/contracts/release_description/release_description.js.map +1 -0
  124. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts +644 -0
  125. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts.map +1 -0
  126. package/dist/contracts/release_dsp_link/release_dsp_link.js +556 -0
  127. package/dist/contracts/release_dsp_link/release_dsp_link.js.map +1 -0
  128. package/dist/contracts/release_genre/deps/per_track/per_track.d.ts +33 -0
  129. package/dist/contracts/release_genre/deps/per_track/per_track.d.ts.map +1 -0
  130. package/dist/contracts/release_genre/deps/per_track/per_track.js +32 -0
  131. package/dist/contracts/release_genre/deps/per_track/per_track.js.map +1 -0
  132. package/dist/contracts/release_genre/release_genre.d.ts +193 -0
  133. package/dist/contracts/release_genre/release_genre.d.ts.map +1 -0
  134. package/dist/contracts/release_genre/release_genre.js +207 -0
  135. package/dist/contracts/release_genre/release_genre.js.map +1 -0
  136. package/dist/contracts/release_kind/release_kind.d.ts +98 -0
  137. package/dist/contracts/release_kind/release_kind.d.ts.map +1 -0
  138. package/dist/contracts/release_kind/release_kind.js +109 -0
  139. package/dist/contracts/release_kind/release_kind.js.map +1 -0
  140. package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.d.ts +52 -0
  141. package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.d.ts.map +1 -0
  142. package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.js +37 -0
  143. package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.js.map +1 -0
  144. package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.d.ts +91 -0
  145. package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.d.ts.map +1 -0
  146. package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.js +91 -0
  147. package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.js.map +1 -0
  148. package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts +54 -0
  149. package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts.map +1 -0
  150. package/dist/contracts/routed_stake/deps/royalty_pool/stake.js +37 -0
  151. package/dist/contracts/routed_stake/deps/royalty_pool/stake.js.map +1 -0
  152. package/dist/contracts/routed_stake/deps/std/type_name.d.ts +18 -0
  153. package/dist/contracts/routed_stake/deps/std/type_name.d.ts.map +1 -0
  154. package/dist/contracts/routed_stake/deps/std/type_name.js +20 -0
  155. package/dist/contracts/routed_stake/deps/std/type_name.js.map +1 -0
  156. package/dist/contracts/routed_stake/deps/sui/balance.d.ts +13 -0
  157. package/dist/contracts/routed_stake/deps/sui/balance.d.ts.map +1 -0
  158. package/dist/contracts/routed_stake/deps/sui/balance.js +15 -0
  159. package/dist/contracts/routed_stake/deps/sui/balance.js.map +1 -0
  160. package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts +37 -0
  161. package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts.map +1 -0
  162. package/dist/contracts/routed_stake/deps/sui/vec_map.js +28 -0
  163. package/dist/contracts/routed_stake/deps/sui/vec_map.js.map +1 -0
  164. package/dist/contracts/routed_stake/routed_stake.d.ts +356 -0
  165. package/dist/contracts/routed_stake/routed_stake.d.ts.map +1 -0
  166. package/dist/contracts/routed_stake/routed_stake.js +311 -0
  167. package/dist/contracts/routed_stake/routed_stake.js.map +1 -0
  168. package/dist/contracts/royalty_pool/deps/std/type_name.d.ts +18 -0
  169. package/dist/contracts/royalty_pool/deps/std/type_name.d.ts.map +1 -0
  170. package/dist/contracts/royalty_pool/deps/std/type_name.js +20 -0
  171. package/dist/contracts/royalty_pool/deps/std/type_name.js.map +1 -0
  172. package/dist/contracts/royalty_pool/deps/sui/balance.d.ts +13 -0
  173. package/dist/contracts/royalty_pool/deps/sui/balance.d.ts.map +1 -0
  174. package/dist/contracts/royalty_pool/deps/sui/balance.js +15 -0
  175. package/dist/contracts/royalty_pool/deps/sui/balance.js.map +1 -0
  176. package/dist/contracts/royalty_pool/deps/sui/vec_map.d.ts +37 -0
  177. package/dist/contracts/royalty_pool/deps/sui/vec_map.d.ts.map +1 -0
  178. package/dist/contracts/royalty_pool/deps/sui/vec_map.js +28 -0
  179. package/dist/contracts/royalty_pool/deps/sui/vec_map.js.map +1 -0
  180. package/dist/contracts/royalty_pool/pool.d.ts +394 -0
  181. package/dist/contracts/royalty_pool/pool.d.ts.map +1 -0
  182. package/dist/contracts/royalty_pool/pool.js +387 -0
  183. package/dist/contracts/royalty_pool/pool.js.map +1 -0
  184. package/dist/contracts/royalty_pool/stake.d.ts +202 -0
  185. package/dist/contracts/royalty_pool/stake.d.ts.map +1 -0
  186. package/dist/contracts/royalty_pool/stake.js +197 -0
  187. package/dist/contracts/royalty_pool/stake.js.map +1 -0
  188. package/dist/contracts.d.ts +37 -3
  189. package/dist/contracts.d.ts.map +1 -1
  190. package/dist/contracts.js +42 -8
  191. package/dist/contracts.js.map +1 -1
  192. package/dist/deployments.d.ts +46 -12
  193. package/dist/deployments.d.ts.map +1 -1
  194. package/dist/deployments.js +119 -11
  195. package/dist/deployments.js.map +1 -1
  196. package/dist/events.d.ts +1081 -0
  197. package/dist/events.d.ts.map +1 -0
  198. package/dist/events.js +124 -0
  199. package/dist/events.js.map +1 -0
  200. package/dist/execute.d.ts.map +1 -1
  201. package/dist/execute.js +0 -4
  202. package/dist/execute.js.map +1 -1
  203. package/dist/index.d.ts +3 -0
  204. package/dist/index.d.ts.map +1 -1
  205. package/dist/index.js +6 -3
  206. package/dist/index.js.map +1 -1
  207. package/dist/internal.d.ts.map +1 -1
  208. package/dist/internal.js +2 -0
  209. package/dist/internal.js.map +1 -1
  210. package/dist/numeric.d.ts +5 -0
  211. package/dist/numeric.d.ts.map +1 -0
  212. package/dist/numeric.js +21 -0
  213. package/dist/numeric.js.map +1 -0
  214. package/dist/packages.d.ts +159 -0
  215. package/dist/packages.d.ts.map +1 -0
  216. package/dist/packages.js +179 -0
  217. package/dist/packages.js.map +1 -0
  218. package/dist/parsers.d.ts +5 -2
  219. package/dist/parsers.d.ts.map +1 -1
  220. package/dist/parsers.js +19 -7
  221. package/dist/parsers.js.map +1 -1
  222. package/dist/queries.d.ts +92 -0
  223. package/dist/queries.d.ts.map +1 -1
  224. package/dist/queries.js +132 -23
  225. package/dist/queries.js.map +1 -1
  226. package/dist/transactions.d.ts +96 -12
  227. package/dist/transactions.d.ts.map +1 -1
  228. package/dist/transactions.js +124 -14
  229. package/dist/transactions.js.map +1 -1
  230. package/dist/types.d.ts +35 -8
  231. package/dist/types.d.ts.map +1 -1
  232. package/dist/view.d.ts +6 -5
  233. package/dist/view.d.ts.map +1 -1
  234. package/dist/view.js +8 -2
  235. package/dist/view.js.map +1 -1
  236. package/package.json +14 -4
  237. package/src/client.ts +57 -25
  238. package/src/contracts/composition_credits/composition_credits.ts +169 -0
  239. package/src/contracts/composition_credits/composition_party_role.ts +189 -0
  240. package/src/contracts/composition_credits/deps/miso_credit/credit.ts +27 -0
  241. package/src/contracts/composition_credits/deps/sui/vec_map.ts +33 -0
  242. package/src/contracts/miso/composition.ts +24 -61
  243. package/src/contracts/miso/deps/bps/bps.ts +3 -3
  244. package/src/contracts/miso/recording.ts +69 -32
  245. package/src/contracts/miso/release.ts +103 -67
  246. package/src/contracts/miso/track.ts +56 -13
  247. package/src/contracts/recording_advisory/recording_advisory.ts +315 -0
  248. package/src/contracts/recording_credits/deps/miso_credit/credit.ts +27 -0
  249. package/src/contracts/recording_credits/deps/sui/vec_map.ts +33 -0
  250. package/src/contracts/recording_credits/deps/sui/vec_set.ts +21 -0
  251. package/src/contracts/recording_credits/recording_credits.ts +458 -0
  252. package/src/contracts/recording_credits/recording_party_role.ts +1041 -0
  253. package/src/contracts/recording_language/deps/language_code/language_code.ts +7 -0
  254. package/src/contracts/recording_language/recording_language.ts +237 -0
  255. package/src/contracts/recording_master_reference/deps/ori/walrus_data.ts +36 -0
  256. package/src/contracts/recording_master_reference/recording_master_reference.ts +181 -0
  257. package/src/contracts/recording_preview/deps/ori/walrus_data.ts +36 -0
  258. package/src/contracts/recording_preview/recording_preview.ts +154 -0
  259. package/src/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.ts +36 -0
  260. package/src/contracts/release_cover_art/deps/cover_art/cover_art.ts +23 -0
  261. package/src/contracts/release_cover_art/deps/per_track/per_track.ts +36 -0
  262. package/src/contracts/release_cover_art/release_cover_art.ts +251 -0
  263. package/src/contracts/release_credits/deps/miso_credit/credit.ts +27 -0
  264. package/src/contracts/release_credits/deps/sui/vec_map.ts +33 -0
  265. package/src/contracts/release_credits/release_credits.ts +156 -0
  266. package/src/contracts/release_credits/release_party_role.ts +87 -0
  267. package/src/contracts/release_description/release_description.ts +167 -0
  268. package/src/contracts/release_dsp_link/release_dsp_link.ts +813 -0
  269. package/src/contracts/release_genre/deps/per_track/per_track.ts +36 -0
  270. package/src/contracts/release_genre/release_genre.ts +314 -0
  271. package/src/contracts/release_kind/release_kind.ts +153 -0
  272. package/src/contracts/release_snapshot_bundle/deps/ori/walrus_data.ts +36 -0
  273. package/src/contracts/release_snapshot_bundle/release_snapshot_bundle.ts +124 -0
  274. package/src/contracts/routed_stake/deps/royalty_pool/stake.ts +39 -0
  275. package/src/contracts/routed_stake/deps/std/type_name.ts +22 -0
  276. package/src/contracts/routed_stake/deps/sui/balance.ts +17 -0
  277. package/src/contracts/routed_stake/deps/sui/vec_map.ts +33 -0
  278. package/src/contracts/routed_stake/routed_stake.ts +508 -0
  279. package/src/contracts/royalty_pool/deps/std/type_name.ts +22 -0
  280. package/src/contracts/royalty_pool/deps/sui/balance.ts +17 -0
  281. package/src/contracts/royalty_pool/deps/sui/vec_map.ts +33 -0
  282. package/src/contracts/royalty_pool/pool.ts +613 -0
  283. package/src/contracts/royalty_pool/stake.ts +317 -0
  284. package/src/contracts.ts +59 -6
  285. package/src/deployments.ts +160 -22
  286. package/src/events.ts +129 -0
  287. package/src/execute.ts +0 -4
  288. package/src/index.ts +6 -3
  289. package/src/internal.ts +2 -4
  290. package/src/numeric.ts +25 -0
  291. package/src/packages.ts +251 -0
  292. package/src/parsers.ts +32 -11
  293. package/src/queries.ts +227 -25
  294. package/src/transactions.ts +255 -23
  295. package/src/types.ts +37 -9
  296. package/src/view.ts +12 -6
@@ -0,0 +1,167 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+
5
+
6
+ /**
7
+ * What a release says about itself — the paragraph that runs under the title,
8
+ * written by whoever holds the release's admin cap, and believed.
9
+ *
10
+ * A free string, deliberately. Nothing on-chain reads it and nothing derives from
11
+ * it: this is editorial prose, not a fact the protocol can check. The facts a
12
+ * release carries that _are_ checkable — its tracklist, its splits, its state —
13
+ * live on the core object, and the claims two releases have to agree about to be
14
+ * comparable (genre, credits, languages) each get their own typed extension so
15
+ * they can be queried rather than read. What is left over is what a person wants
16
+ * to say, and the only useful thing to do with it is store it and attribute it to
17
+ * the cap holder.
18
+ *
19
+ * One slot, not a set. A release has one thing to say about itself; per-track
20
+ * notes and per-language translations are different concerns and would be
21
+ * different extensions. Folding either in here would turn a paragraph into a
22
+ * schema, and a schema is exactly what prose is not.
23
+ *
24
+ * The 8 KB ceiling is storage hygiene, not an editorial opinion — a backstop
25
+ * against pathological bloat in a shared object, deliberately set well above any
26
+ * description anyone is expected to write. It is the most generous free-text bound
27
+ * in the stack, and that is the intended asymmetry: this package publishes
28
+ * immutable, so a ceiling that turns out to be too low can never be raised, while
29
+ * one that is too high costs only the gas of the writer who fills it. A
30
+ * description is also edited rarely, so the cost of rewriting the field in full
31
+ * lands on almost nobody.
32
+ *
33
+ * Genuinely long-form writing — an essay, a full set of liner notes — still
34
+ * belongs where the artwork goes, in a Walrus blob referenced by an extension.
35
+ * Nothing here stops someone using the whole 8 KB; the bound is a limit, not a
36
+ * recommendation.
37
+ *
38
+ * Attaching nothing and attaching a description are distinct states: absence means
39
+ * nobody has written one, which is why an empty string is rejected rather than
40
+ * stored. There is no such thing as an empty description.
41
+ */
42
+
43
+ import { MoveTuple, MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.ts';
44
+ import { bcs } from '@mysten/sui/bcs';
45
+ import { type Transaction } from '@mysten/sui/transactions';
46
+ const $moduleName = '@local-pkg/release_description::release_description';
47
+ export const ExtensionKey = new MoveTuple({ name: `${$moduleName}::ExtensionKey`, fields: [bcs.bool()] });
48
+ export const DescriptionSetEvent = new MoveStruct({ name: `${$moduleName}::DescriptionSetEvent`, fields: {
49
+ release_id: bcs.Address,
50
+ description: bcs.string()
51
+ } });
52
+ export const DescriptionClearedEvent = new MoveStruct({ name: `${$moduleName}::DescriptionClearedEvent`, fields: {
53
+ release_id: bcs.Address
54
+ } });
55
+ export interface SetDescriptionArguments {
56
+ self: RawTransactionArgument<string>;
57
+ cap: RawTransactionArgument<string>;
58
+ description: RawTransactionArgument<string>;
59
+ }
60
+ export interface SetDescriptionOptions {
61
+ package?: string;
62
+ arguments: SetDescriptionArguments | [
63
+ self: RawTransactionArgument<string>,
64
+ cap: RawTransactionArgument<string>,
65
+ description: RawTransactionArgument<string>
66
+ ];
67
+ }
68
+ /**
69
+ * Sets (or replaces) what the release says about itself.
70
+ *
71
+ * Stored exactly as given — whitespace, line breaks and case included. It is the
72
+ * release's own words, and normalising them here would be the protocol editing
73
+ * prose it has already declined to interpret.
74
+ */
75
+ export function setDescription(options: SetDescriptionOptions) {
76
+ const packageAddress = options.package ?? '@local-pkg/release_description';
77
+ const argumentsTypes = [
78
+ null,
79
+ null,
80
+ '0x1::string::String'
81
+ ] satisfies (string | null)[];
82
+ const parameterNames = ["self", "cap", "description"];
83
+ return (tx: Transaction) => tx.moveCall({
84
+ package: packageAddress,
85
+ module: 'release_description',
86
+ function: 'set_description',
87
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
88
+ });
89
+ }
90
+ export interface ClearDescriptionArguments {
91
+ self: RawTransactionArgument<string>;
92
+ cap: RawTransactionArgument<string>;
93
+ }
94
+ export interface ClearDescriptionOptions {
95
+ package?: string;
96
+ arguments: ClearDescriptionArguments | [
97
+ self: RawTransactionArgument<string>,
98
+ cap: RawTransactionArgument<string>
99
+ ];
100
+ }
101
+ /**
102
+ * Removes the description, if any. Idempotent. Leaves the release having said
103
+ * nothing about itself, which is where every release starts.
104
+ */
105
+ export function clearDescription(options: ClearDescriptionOptions) {
106
+ const packageAddress = options.package ?? '@local-pkg/release_description';
107
+ const argumentsTypes = [
108
+ null,
109
+ null
110
+ ] satisfies (string | null)[];
111
+ const parameterNames = ["self", "cap"];
112
+ return (tx: Transaction) => tx.moveCall({
113
+ package: packageAddress,
114
+ module: 'release_description',
115
+ function: 'clear_description',
116
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
117
+ });
118
+ }
119
+ export interface HasDescriptionArguments {
120
+ self: RawTransactionArgument<string>;
121
+ }
122
+ export interface HasDescriptionOptions {
123
+ package?: string;
124
+ arguments: HasDescriptionArguments | [
125
+ self: RawTransactionArgument<string>
126
+ ];
127
+ }
128
+ /** Whether a description is attached to this release. */
129
+ export function hasDescription(options: HasDescriptionOptions) {
130
+ const packageAddress = options.package ?? '@local-pkg/release_description';
131
+ const argumentsTypes = [
132
+ null
133
+ ] satisfies (string | null)[];
134
+ const parameterNames = ["self"];
135
+ return (tx: Transaction) => tx.moveCall({
136
+ package: packageAddress,
137
+ module: 'release_description',
138
+ function: 'has_description',
139
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
140
+ });
141
+ }
142
+ export interface DescriptionArguments {
143
+ self: RawTransactionArgument<string>;
144
+ }
145
+ export interface DescriptionOptions {
146
+ package?: string;
147
+ arguments: DescriptionArguments | [
148
+ self: RawTransactionArgument<string>
149
+ ];
150
+ }
151
+ /**
152
+ * What the release says about itself. Aborts if nothing is attached — absence is a
153
+ * distinct state and must not collapse into an empty string.
154
+ */
155
+ export function description(options: DescriptionOptions) {
156
+ const packageAddress = options.package ?? '@local-pkg/release_description';
157
+ const argumentsTypes = [
158
+ null
159
+ ] satisfies (string | null)[];
160
+ const parameterNames = ["self"];
161
+ return (tx: Transaction) => tx.moveCall({
162
+ package: packageAddress,
163
+ module: 'release_description',
164
+ function: 'description',
165
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
166
+ });
167
+ }