@misofm/platform 0.24.0 → 0.26.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 (635) hide show
  1. package/README.md +262 -95
  2. package/dist/auth.d.ts +8 -13
  3. package/dist/auth.d.ts.map +1 -1
  4. package/dist/auth.js +78 -59
  5. package/dist/auth.js.map +1 -1
  6. package/dist/catalog.d.ts +6 -6
  7. package/dist/catalog.d.ts.map +1 -1
  8. package/dist/catalog.js +33 -21
  9. package/dist/catalog.js.map +1 -1
  10. package/dist/client.d.ts +124 -127
  11. package/dist/client.d.ts.map +1 -1
  12. package/dist/client.js +112 -114
  13. package/dist/client.js.map +1 -1
  14. package/dist/contracts/composition_credits/composition_credits.d.ts +181 -0
  15. package/dist/contracts/composition_credits/composition_credits.d.ts.map +1 -0
  16. package/dist/contracts/composition_credits/composition_credits.js +109 -0
  17. package/dist/contracts/composition_credits/composition_credits.js.map +1 -0
  18. package/dist/contracts/composition_credits/composition_party_role.d.ts +119 -0
  19. package/dist/contracts/composition_credits/composition_party_role.d.ts.map +1 -0
  20. package/dist/contracts/composition_credits/composition_party_role.js +139 -0
  21. package/dist/contracts/composition_credits/composition_party_role.js.map +1 -0
  22. package/dist/contracts/composition_credits/deps/credit/credit.d.ts +24 -0
  23. package/dist/contracts/composition_credits/deps/credit/credit.d.ts.map +1 -0
  24. package/dist/contracts/composition_credits/deps/credit/credit.js +23 -0
  25. package/dist/contracts/composition_credits/deps/credit/credit.js.map +1 -0
  26. package/dist/contracts/composition_credits/deps/sui/vec_map.d.ts +37 -0
  27. package/dist/contracts/composition_credits/deps/sui/vec_map.d.ts.map +1 -0
  28. package/dist/contracts/composition_credits/deps/sui/vec_map.js +28 -0
  29. package/dist/contracts/composition_credits/deps/sui/vec_map.js.map +1 -0
  30. package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts +143 -0
  31. package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts.map +1 -0
  32. package/dist/contracts/composition_routed_stake/composition_routed_stake.js +125 -0
  33. package/dist/contracts/composition_routed_stake/composition_routed_stake.js.map +1 -0
  34. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts +93 -0
  35. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts.map +1 -0
  36. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js +86 -0
  37. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js.map +1 -0
  38. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.d.ts +90 -0
  39. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.d.ts.map +1 -0
  40. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.js +85 -0
  41. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.js.map +1 -0
  42. package/dist/contracts/composition_royalty_pool_plugin/witness.d.ts +6 -0
  43. package/dist/contracts/composition_royalty_pool_plugin/witness.d.ts.map +1 -0
  44. package/dist/contracts/composition_royalty_pool_plugin/witness.js +8 -0
  45. package/dist/contracts/composition_royalty_pool_plugin/witness.js.map +1 -0
  46. package/dist/contracts/cover_art/cover_art.d.ts +83 -0
  47. package/dist/contracts/cover_art/cover_art.d.ts.map +1 -0
  48. package/dist/contracts/cover_art/cover_art.js +66 -0
  49. package/dist/contracts/cover_art/cover_art.js.map +1 -0
  50. package/dist/contracts/cover_art/deps/ori/confidentiality.d.ts +24 -0
  51. package/dist/contracts/cover_art/deps/ori/confidentiality.d.ts.map +1 -0
  52. package/dist/contracts/cover_art/deps/ori/confidentiality.js +24 -0
  53. package/dist/contracts/cover_art/deps/ori/confidentiality.js.map +1 -0
  54. package/dist/contracts/cover_art/deps/ori/data.d.ts +16 -0
  55. package/dist/contracts/cover_art/deps/ori/data.d.ts.map +1 -0
  56. package/dist/contracts/cover_art/deps/ori/data.js +12 -0
  57. package/dist/contracts/cover_art/deps/ori/data.js.map +1 -0
  58. package/dist/contracts/genre/genre.d.ts +78 -0
  59. package/dist/contracts/genre/genre.d.ts.map +1 -0
  60. package/dist/contracts/genre/genre.js +87 -0
  61. package/dist/contracts/genre/genre.js.map +1 -0
  62. package/dist/contracts/party_cta/party_cta.d.ts +120 -0
  63. package/dist/contracts/party_cta/party_cta.d.ts.map +1 -0
  64. package/dist/contracts/party_cta/party_cta.js +139 -0
  65. package/dist/contracts/party_cta/party_cta.js.map +1 -0
  66. package/dist/contracts/party_genre/party_genre.d.ts +117 -0
  67. package/dist/contracts/party_genre/party_genre.d.ts.map +1 -0
  68. package/dist/contracts/party_genre/party_genre.js +131 -0
  69. package/dist/contracts/party_genre/party_genre.js.map +1 -0
  70. package/dist/contracts/party_media/party_media.d.ts +86 -0
  71. package/dist/contracts/party_media/party_media.d.ts.map +1 -0
  72. package/dist/contracts/party_media/party_media.js +97 -0
  73. package/dist/contracts/party_media/party_media.js.map +1 -0
  74. package/dist/contracts/party_music/party_music.d.ts +209 -0
  75. package/dist/contracts/party_music/party_music.d.ts.map +1 -0
  76. package/dist/contracts/party_music/party_music.js +259 -0
  77. package/dist/contracts/party_music/party_music.js.map +1 -0
  78. package/dist/contracts/party_platform_link/party_platform_link.d.ts +89 -0
  79. package/dist/contracts/party_platform_link/party_platform_link.d.ts.map +1 -0
  80. package/dist/contracts/party_platform_link/party_platform_link.js +92 -0
  81. package/dist/contracts/party_platform_link/party_platform_link.js.map +1 -0
  82. package/dist/contracts/party_pro_link/party_pro_link.d.ts +233 -0
  83. package/dist/contracts/party_pro_link/party_pro_link.d.ts.map +1 -0
  84. package/dist/contracts/party_pro_link/party_pro_link.js +289 -0
  85. package/dist/contracts/party_pro_link/party_pro_link.js.map +1 -0
  86. package/dist/contracts/party_profile/deps/country_code/country_code.d.ts +15 -0
  87. package/dist/contracts/party_profile/deps/country_code/country_code.d.ts.map +1 -0
  88. package/dist/contracts/party_profile/deps/country_code/country_code.js +17 -0
  89. package/dist/contracts/party_profile/deps/country_code/country_code.js.map +1 -0
  90. package/dist/contracts/party_profile/deps/language_code/language_code.d.ts +6 -0
  91. package/dist/contracts/party_profile/deps/language_code/language_code.d.ts.map +1 -0
  92. package/dist/contracts/party_profile/deps/language_code/language_code.js +8 -0
  93. package/dist/contracts/party_profile/deps/language_code/language_code.js.map +1 -0
  94. package/dist/contracts/party_profile/party_profile.d.ts +133 -0
  95. package/dist/contracts/party_profile/party_profile.d.ts.map +1 -0
  96. package/dist/contracts/party_profile/party_profile.js +153 -0
  97. package/dist/contracts/party_profile/party_profile.js.map +1 -0
  98. package/dist/contracts/party_roles/party_roles.d.ts +201 -0
  99. package/dist/contracts/party_roles/party_roles.d.ts.map +1 -0
  100. package/dist/contracts/party_roles/party_roles.js +237 -0
  101. package/dist/contracts/party_roles/party_roles.js.map +1 -0
  102. package/dist/contracts/party_social/party_social.d.ts +258 -0
  103. package/dist/contracts/party_social/party_social.d.ts.map +1 -0
  104. package/dist/contracts/party_social/party_social.js +320 -0
  105. package/dist/contracts/party_social/party_social.js.map +1 -0
  106. package/dist/contracts/party_tags/party_tags.d.ts +116 -0
  107. package/dist/contracts/party_tags/party_tags.d.ts.map +1 -0
  108. package/dist/contracts/party_tags/party_tags.js +130 -0
  109. package/dist/contracts/party_tags/party_tags.js.map +1 -0
  110. package/dist/contracts/party_wallet/party_wallet.d.ts +112 -0
  111. package/dist/contracts/party_wallet/party_wallet.d.ts.map +1 -0
  112. package/dist/contracts/party_wallet/party_wallet.js +114 -0
  113. package/dist/contracts/party_wallet/party_wallet.js.map +1 -0
  114. package/dist/contracts/record/deps/std/type_name.d.ts +18 -0
  115. package/dist/contracts/record/deps/std/type_name.d.ts.map +1 -0
  116. package/dist/contracts/record/deps/std/type_name.js +20 -0
  117. package/dist/contracts/record/deps/std/type_name.js.map +1 -0
  118. package/dist/contracts/record/deps/sui/vec_set.d.ts +21 -0
  119. package/dist/contracts/record/deps/sui/vec_set.d.ts.map +1 -0
  120. package/dist/contracts/record/deps/sui/vec_set.js +20 -0
  121. package/dist/contracts/record/deps/sui/vec_set.js.map +1 -0
  122. package/dist/contracts/record/pressing.d.ts +327 -0
  123. package/dist/contracts/record/pressing.d.ts.map +1 -0
  124. package/dist/contracts/record/pressing.js +345 -0
  125. package/dist/contracts/record/pressing.js.map +1 -0
  126. package/dist/contracts/record/record.d.ts +190 -0
  127. package/dist/contracts/record/record.d.ts.map +1 -0
  128. package/dist/contracts/record/record.js +226 -0
  129. package/dist/contracts/record/record.js.map +1 -0
  130. package/dist/contracts/record_shop/deps/std/type_name.d.ts +18 -0
  131. package/dist/contracts/record_shop/deps/std/type_name.d.ts.map +1 -0
  132. package/dist/contracts/record_shop/deps/std/type_name.js +20 -0
  133. package/dist/contracts/record_shop/deps/std/type_name.js.map +1 -0
  134. package/dist/contracts/record_shop/listing.d.ts +387 -0
  135. package/dist/contracts/record_shop/listing.d.ts.map +1 -0
  136. package/dist/contracts/record_shop/listing.js +380 -0
  137. package/dist/contracts/record_shop/listing.js.map +1 -0
  138. package/dist/contracts/record_shop/witness.d.ts +7 -0
  139. package/dist/contracts/record_shop/witness.d.ts.map +1 -0
  140. package/dist/contracts/record_shop/witness.js +9 -0
  141. package/dist/contracts/record_shop/witness.js.map +1 -0
  142. package/dist/contracts/recording_advisory/recording_advisory.d.ts +194 -0
  143. package/dist/contracts/recording_advisory/recording_advisory.d.ts.map +1 -0
  144. package/dist/contracts/recording_advisory/recording_advisory.js +204 -0
  145. package/dist/contracts/recording_advisory/recording_advisory.js.map +1 -0
  146. package/dist/contracts/recording_credits/deps/credit/credit.d.ts +24 -0
  147. package/dist/contracts/recording_credits/deps/credit/credit.d.ts.map +1 -0
  148. package/dist/contracts/recording_credits/deps/credit/credit.js +23 -0
  149. package/dist/contracts/recording_credits/deps/credit/credit.js.map +1 -0
  150. package/dist/contracts/recording_credits/deps/sui/vec_map.d.ts +37 -0
  151. package/dist/contracts/recording_credits/deps/sui/vec_map.d.ts.map +1 -0
  152. package/dist/contracts/recording_credits/deps/sui/vec_map.js +28 -0
  153. package/dist/contracts/recording_credits/deps/sui/vec_map.js.map +1 -0
  154. package/dist/contracts/recording_credits/deps/sui/vec_set.d.ts +21 -0
  155. package/dist/contracts/recording_credits/deps/sui/vec_set.d.ts.map +1 -0
  156. package/dist/contracts/recording_credits/deps/sui/vec_set.js +20 -0
  157. package/dist/contracts/recording_credits/deps/sui/vec_set.js.map +1 -0
  158. package/dist/contracts/recording_credits/recording_credits.d.ts +2313 -0
  159. package/dist/contracts/recording_credits/recording_credits.d.ts.map +1 -0
  160. package/dist/contracts/recording_credits/recording_credits.js +270 -0
  161. package/dist/contracts/recording_credits/recording_credits.js.map +1 -0
  162. package/dist/contracts/recording_credits/recording_party_role.d.ts +1174 -0
  163. package/dist/contracts/recording_credits/recording_party_role.d.ts.map +1 -0
  164. package/dist/contracts/recording_credits/recording_party_role.js +692 -0
  165. package/dist/contracts/recording_credits/recording_party_role.js.map +1 -0
  166. package/dist/contracts/recording_engine_session/deps/ori/confidentiality.d.ts +24 -0
  167. package/dist/contracts/recording_engine_session/deps/ori/confidentiality.d.ts.map +1 -0
  168. package/dist/contracts/recording_engine_session/deps/ori/confidentiality.js +24 -0
  169. package/dist/contracts/recording_engine_session/deps/ori/confidentiality.js.map +1 -0
  170. package/dist/contracts/recording_engine_session/deps/ori/data.d.ts +16 -0
  171. package/dist/contracts/recording_engine_session/deps/ori/data.d.ts.map +1 -0
  172. package/dist/contracts/recording_engine_session/deps/ori/data.js +12 -0
  173. package/dist/contracts/recording_engine_session/deps/ori/data.js.map +1 -0
  174. package/dist/contracts/recording_engine_session/recording_engine_session.d.ts +296 -0
  175. package/dist/contracts/recording_engine_session/recording_engine_session.d.ts.map +1 -0
  176. package/dist/contracts/recording_engine_session/recording_engine_session.js +216 -0
  177. package/dist/contracts/recording_engine_session/recording_engine_session.js.map +1 -0
  178. package/dist/contracts/recording_genre/recording_genre.d.ts +173 -0
  179. package/dist/contracts/recording_genre/recording_genre.d.ts.map +1 -0
  180. package/dist/contracts/recording_genre/recording_genre.js +170 -0
  181. package/dist/contracts/recording_genre/recording_genre.js.map +1 -0
  182. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts +6 -0
  183. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts.map +1 -0
  184. package/dist/contracts/recording_language/deps/language_code/language_code.js +8 -0
  185. package/dist/contracts/recording_language/deps/language_code/language_code.js.map +1 -0
  186. package/dist/contracts/recording_language/recording_language.d.ts +152 -0
  187. package/dist/contracts/recording_language/recording_language.d.ts.map +1 -0
  188. package/dist/contracts/recording_language/recording_language.js +149 -0
  189. package/dist/contracts/recording_language/recording_language.js.map +1 -0
  190. package/dist/contracts/recording_master_reference/deps/ori/confidentiality.d.ts +24 -0
  191. package/dist/contracts/recording_master_reference/deps/ori/confidentiality.d.ts.map +1 -0
  192. package/dist/contracts/recording_master_reference/deps/ori/confidentiality.js +24 -0
  193. package/dist/contracts/recording_master_reference/deps/ori/confidentiality.js.map +1 -0
  194. package/dist/contracts/recording_master_reference/deps/ori/data.d.ts +16 -0
  195. package/dist/contracts/recording_master_reference/deps/ori/data.d.ts.map +1 -0
  196. package/dist/contracts/recording_master_reference/deps/ori/data.js +12 -0
  197. package/dist/contracts/recording_master_reference/deps/ori/data.js.map +1 -0
  198. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts +129 -0
  199. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts.map +1 -0
  200. package/dist/contracts/recording_master_reference/recording_master_reference.js +119 -0
  201. package/dist/contracts/recording_master_reference/recording_master_reference.js.map +1 -0
  202. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts +96 -0
  203. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts.map +1 -0
  204. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js +85 -0
  205. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js.map +1 -0
  206. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.d.ts +92 -0
  207. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.d.ts.map +1 -0
  208. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.js +85 -0
  209. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.js.map +1 -0
  210. package/dist/contracts/recording_royalty_pool_plugin/witness.d.ts +6 -0
  211. package/dist/contracts/recording_royalty_pool_plugin/witness.d.ts.map +1 -0
  212. package/dist/contracts/recording_royalty_pool_plugin/witness.js +8 -0
  213. package/dist/contracts/recording_royalty_pool_plugin/witness.js.map +1 -0
  214. package/dist/contracts/recording_streaming_transcode/deps/ori/data.d.ts +8 -0
  215. package/dist/contracts/recording_streaming_transcode/deps/ori/data.d.ts.map +1 -0
  216. package/dist/contracts/recording_streaming_transcode/deps/ori/data.js +10 -0
  217. package/dist/contracts/recording_streaming_transcode/deps/ori/data.js.map +1 -0
  218. package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.d.ts +124 -0
  219. package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.d.ts.map +1 -0
  220. package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.js +124 -0
  221. package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.js.map +1 -0
  222. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/confidentiality.d.ts +24 -0
  223. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/confidentiality.d.ts.map +1 -0
  224. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/confidentiality.js +24 -0
  225. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/confidentiality.js.map +1 -0
  226. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/data.d.ts +16 -0
  227. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/data.d.ts.map +1 -0
  228. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/data.js +12 -0
  229. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/data.js.map +1 -0
  230. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts +47 -0
  231. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts.map +1 -0
  232. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js +22 -0
  233. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js.map +1 -0
  234. package/dist/contracts/release_cover_art/deps/per_track/per_track.d.ts +33 -0
  235. package/dist/contracts/release_cover_art/deps/per_track/per_track.d.ts.map +1 -0
  236. package/dist/contracts/release_cover_art/deps/per_track/per_track.js +32 -0
  237. package/dist/contracts/release_cover_art/deps/per_track/per_track.js.map +1 -0
  238. package/dist/contracts/release_cover_art/release_cover_art.d.ts +300 -0
  239. package/dist/contracts/release_cover_art/release_cover_art.d.ts.map +1 -0
  240. package/dist/contracts/release_cover_art/release_cover_art.js +168 -0
  241. package/dist/contracts/release_cover_art/release_cover_art.js.map +1 -0
  242. package/dist/contracts/release_credits/deps/credit/credit.d.ts +24 -0
  243. package/dist/contracts/release_credits/deps/credit/credit.d.ts.map +1 -0
  244. package/dist/contracts/release_credits/deps/credit/credit.js +23 -0
  245. package/dist/contracts/release_credits/deps/credit/credit.js.map +1 -0
  246. package/dist/contracts/release_credits/deps/sui/vec_map.d.ts +37 -0
  247. package/dist/contracts/release_credits/deps/sui/vec_map.d.ts.map +1 -0
  248. package/dist/contracts/release_credits/deps/sui/vec_map.js +28 -0
  249. package/dist/contracts/release_credits/deps/sui/vec_map.js.map +1 -0
  250. package/dist/contracts/release_credits/release_credits.d.ts +142 -0
  251. package/dist/contracts/release_credits/release_credits.d.ts.map +1 -0
  252. package/dist/contracts/release_credits/release_credits.js +108 -0
  253. package/dist/contracts/release_credits/release_credits.js.map +1 -0
  254. package/dist/contracts/release_credits/release_party_role.d.ts +58 -0
  255. package/dist/contracts/release_credits/release_party_role.d.ts.map +1 -0
  256. package/dist/contracts/release_credits/release_party_role.js +66 -0
  257. package/dist/contracts/release_credits/release_party_role.js.map +1 -0
  258. package/dist/contracts/release_description/release_description.d.ts +112 -0
  259. package/dist/contracts/release_description/release_description.d.ts.map +1 -0
  260. package/dist/contracts/release_description/release_description.js +123 -0
  261. package/dist/contracts/release_description/release_description.js.map +1 -0
  262. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts +643 -0
  263. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts.map +1 -0
  264. package/dist/contracts/release_dsp_link/release_dsp_link.js +555 -0
  265. package/dist/contracts/release_dsp_link/release_dsp_link.js.map +1 -0
  266. package/dist/contracts/release_genre/release_genre.d.ts +145 -0
  267. package/dist/contracts/release_genre/release_genre.d.ts.map +1 -0
  268. package/dist/contracts/release_genre/release_genre.js +154 -0
  269. package/dist/contracts/release_genre/release_genre.js.map +1 -0
  270. package/dist/contracts/release_kind/release_kind.d.ts +98 -0
  271. package/dist/contracts/release_kind/release_kind.d.ts.map +1 -0
  272. package/dist/contracts/release_kind/release_kind.js +109 -0
  273. package/dist/contracts/release_kind/release_kind.js.map +1 -0
  274. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts +91 -0
  275. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts.map +1 -0
  276. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js +92 -0
  277. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js.map +1 -0
  278. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.d.ts +73 -0
  279. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.d.ts.map +1 -0
  280. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.js +80 -0
  281. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.js.map +1 -0
  282. package/dist/contracts/release_revenue_distributor_plugin/witness.d.ts +6 -0
  283. package/dist/contracts/release_revenue_distributor_plugin/witness.d.ts.map +1 -0
  284. package/dist/contracts/release_revenue_distributor_plugin/witness.js +8 -0
  285. package/dist/contracts/release_revenue_distributor_plugin/witness.js.map +1 -0
  286. package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts +67 -0
  287. package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts.map +1 -0
  288. package/dist/contracts/routed_stake/deps/royalty_pool/stake.js +50 -0
  289. package/dist/contracts/routed_stake/deps/royalty_pool/stake.js.map +1 -0
  290. package/dist/contracts/routed_stake/deps/std/type_name.d.ts +18 -0
  291. package/dist/contracts/routed_stake/deps/std/type_name.d.ts.map +1 -0
  292. package/dist/contracts/routed_stake/deps/std/type_name.js +20 -0
  293. package/dist/contracts/routed_stake/deps/std/type_name.js.map +1 -0
  294. package/dist/contracts/routed_stake/deps/sui/balance.d.ts +13 -0
  295. package/dist/contracts/routed_stake/deps/sui/balance.d.ts.map +1 -0
  296. package/dist/contracts/routed_stake/deps/sui/balance.js +15 -0
  297. package/dist/contracts/routed_stake/deps/sui/balance.js.map +1 -0
  298. package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts +37 -0
  299. package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts.map +1 -0
  300. package/dist/contracts/routed_stake/deps/sui/vec_map.js +28 -0
  301. package/dist/contracts/routed_stake/deps/sui/vec_map.js.map +1 -0
  302. package/dist/contracts/routed_stake/routed_stake.d.ts +347 -0
  303. package/dist/contracts/routed_stake/routed_stake.d.ts.map +1 -0
  304. package/dist/contracts/routed_stake/routed_stake.js +302 -0
  305. package/dist/contracts/routed_stake/routed_stake.js.map +1 -0
  306. package/dist/contracts/royalty_pool/deps/std/type_name.d.ts +18 -0
  307. package/dist/contracts/royalty_pool/deps/std/type_name.d.ts.map +1 -0
  308. package/dist/contracts/royalty_pool/deps/std/type_name.js +20 -0
  309. package/dist/contracts/royalty_pool/deps/std/type_name.js.map +1 -0
  310. package/dist/contracts/royalty_pool/deps/sui/balance.d.ts +13 -0
  311. package/dist/contracts/royalty_pool/deps/sui/balance.d.ts.map +1 -0
  312. package/dist/contracts/royalty_pool/deps/sui/balance.js +15 -0
  313. package/dist/contracts/royalty_pool/deps/sui/balance.js.map +1 -0
  314. package/dist/contracts/royalty_pool/deps/sui/vec_map.d.ts +37 -0
  315. package/dist/contracts/royalty_pool/deps/sui/vec_map.d.ts.map +1 -0
  316. package/dist/contracts/royalty_pool/deps/sui/vec_map.js +28 -0
  317. package/dist/contracts/royalty_pool/deps/sui/vec_map.js.map +1 -0
  318. package/dist/contracts/royalty_pool/pool.d.ts +414 -0
  319. package/dist/contracts/royalty_pool/pool.d.ts.map +1 -0
  320. package/dist/contracts/royalty_pool/pool.js +409 -0
  321. package/dist/contracts/royalty_pool/pool.js.map +1 -0
  322. package/dist/contracts/royalty_pool/stake.d.ts +202 -0
  323. package/dist/contracts/royalty_pool/stake.d.ts.map +1 -0
  324. package/dist/contracts/royalty_pool/stake.js +196 -0
  325. package/dist/contracts/royalty_pool/stake.js.map +1 -0
  326. package/dist/contracts/utils/index.d.ts +104 -0
  327. package/dist/contracts/utils/index.d.ts.map +1 -0
  328. package/dist/contracts/utils/index.js +272 -0
  329. package/dist/contracts/utils/index.js.map +1 -0
  330. package/dist/contracts/vault/deps/sui/bag.d.ts +35 -0
  331. package/dist/contracts/vault/deps/sui/bag.d.ts.map +1 -0
  332. package/dist/contracts/vault/deps/sui/bag.js +37 -0
  333. package/dist/contracts/vault/deps/sui/bag.js.map +1 -0
  334. package/dist/contracts/vault/deps/sui/borrow.d.ts +20 -0
  335. package/dist/contracts/vault/deps/sui/borrow.d.ts.map +1 -0
  336. package/dist/contracts/vault/deps/sui/borrow.js +21 -0
  337. package/dist/contracts/vault/deps/sui/borrow.js.map +1 -0
  338. package/dist/contracts/vault/vault.d.ts +316 -0
  339. package/dist/contracts/vault/vault.d.ts.map +1 -0
  340. package/dist/contracts/vault/vault.js +308 -0
  341. package/dist/contracts/vault/vault.js.map +1 -0
  342. package/dist/contracts.d.ts +57 -33
  343. package/dist/contracts.d.ts.map +1 -1
  344. package/dist/contracts.js +63 -41
  345. package/dist/contracts.js.map +1 -1
  346. package/dist/cover.d.ts +4 -3
  347. package/dist/cover.d.ts.map +1 -1
  348. package/dist/cover.js +30 -19
  349. package/dist/cover.js.map +1 -1
  350. package/dist/credits.d.ts +12 -10
  351. package/dist/credits.d.ts.map +1 -1
  352. package/dist/credits.js +66 -39
  353. package/dist/credits.js.map +1 -1
  354. package/dist/deployments.d.ts +122 -74
  355. package/dist/deployments.d.ts.map +1 -1
  356. package/dist/deployments.js +239 -58
  357. package/dist/deployments.js.map +1 -1
  358. package/dist/errors.d.ts +91 -0
  359. package/dist/errors.d.ts.map +1 -0
  360. package/dist/errors.js +111 -0
  361. package/dist/errors.js.map +1 -0
  362. package/dist/events.d.ts +1045 -0
  363. package/dist/events.d.ts.map +1 -0
  364. package/dist/events.js +116 -0
  365. package/dist/events.js.map +1 -0
  366. package/dist/execute.d.ts +5 -3
  367. package/dist/execute.d.ts.map +1 -1
  368. package/dist/execute.js +11 -6
  369. package/dist/execute.js.map +1 -1
  370. package/dist/genre.d.ts +108 -0
  371. package/dist/genre.d.ts.map +1 -0
  372. package/dist/genre.js +289 -0
  373. package/dist/genre.js.map +1 -0
  374. package/dist/index.d.ts +4 -0
  375. package/dist/index.d.ts.map +1 -1
  376. package/dist/index.js +9 -1
  377. package/dist/index.js.map +1 -1
  378. package/dist/internal.js +2 -2
  379. package/dist/internal.js.map +1 -1
  380. package/dist/packages.d.ts +4185 -0
  381. package/dist/packages.d.ts.map +1 -0
  382. package/dist/packages.js +190 -0
  383. package/dist/packages.js.map +1 -0
  384. package/dist/party/client.d.ts +327 -0
  385. package/dist/party/client.d.ts.map +1 -0
  386. package/dist/party/client.js +225 -0
  387. package/dist/party/client.js.map +1 -0
  388. package/dist/party/extensions/ctas.d.ts +19 -0
  389. package/dist/party/extensions/ctas.d.ts.map +1 -0
  390. package/dist/party/extensions/ctas.js +25 -0
  391. package/dist/party/extensions/ctas.js.map +1 -0
  392. package/dist/party/extensions/genres.d.ts +27 -0
  393. package/dist/party/extensions/genres.d.ts.map +1 -0
  394. package/dist/party/extensions/genres.js +31 -0
  395. package/dist/party/extensions/genres.js.map +1 -0
  396. package/dist/party/extensions/links.d.ts +66 -0
  397. package/dist/party/extensions/links.d.ts.map +1 -0
  398. package/dist/party/extensions/links.js +118 -0
  399. package/dist/party/extensions/links.js.map +1 -0
  400. package/dist/party/extensions/media.d.ts +36 -0
  401. package/dist/party/extensions/media.d.ts.map +1 -0
  402. package/dist/party/extensions/media.js +45 -0
  403. package/dist/party/extensions/media.js.map +1 -0
  404. package/dist/party/extensions/profile.d.ts +24 -0
  405. package/dist/party/extensions/profile.d.ts.map +1 -0
  406. package/dist/party/extensions/profile.js +48 -0
  407. package/dist/party/extensions/profile.js.map +1 -0
  408. package/dist/party/extensions/roles.d.ts +37 -0
  409. package/dist/party/extensions/roles.d.ts.map +1 -0
  410. package/dist/party/extensions/roles.js +46 -0
  411. package/dist/party/extensions/roles.js.map +1 -0
  412. package/dist/party/extensions/tags.d.ts +25 -0
  413. package/dist/party/extensions/tags.d.ts.map +1 -0
  414. package/dist/party/extensions/tags.js +25 -0
  415. package/dist/party/extensions/tags.js.map +1 -0
  416. package/dist/party/index.d.ts +12 -0
  417. package/dist/party/index.d.ts.map +1 -0
  418. package/dist/party/index.js +18 -0
  419. package/dist/party/index.js.map +1 -0
  420. package/dist/party/internal.d.ts +14 -0
  421. package/dist/party/internal.d.ts.map +1 -0
  422. package/dist/party/internal.js +89 -0
  423. package/dist/party/internal.js.map +1 -0
  424. package/dist/party/queries.d.ts +18 -0
  425. package/dist/party/queries.d.ts.map +1 -0
  426. package/dist/party/queries.js +124 -0
  427. package/dist/party/queries.js.map +1 -0
  428. package/dist/party/types.d.ts +54 -0
  429. package/dist/party/types.d.ts.map +1 -0
  430. package/dist/party/types.js +85 -0
  431. package/dist/party/types.js.map +1 -0
  432. package/dist/pressing.d.ts +55 -35
  433. package/dist/pressing.d.ts.map +1 -1
  434. package/dist/pressing.js +102 -79
  435. package/dist/pressing.js.map +1 -1
  436. package/dist/publication.d.ts +4 -8
  437. package/dist/publication.d.ts.map +1 -1
  438. package/dist/publication.js +53 -40
  439. package/dist/publication.js.map +1 -1
  440. package/dist/queries.d.ts +1 -1
  441. package/dist/queries.d.ts.map +1 -1
  442. package/dist/queries.js +5 -4
  443. package/dist/queries.js.map +1 -1
  444. package/dist/read/artist.d.ts +6 -4
  445. package/dist/read/artist.d.ts.map +1 -1
  446. package/dist/read/artist.js +29 -27
  447. package/dist/read/artist.js.map +1 -1
  448. package/dist/read/catalog.d.ts +21 -18
  449. package/dist/read/catalog.d.ts.map +1 -1
  450. package/dist/read/catalog.js +120 -141
  451. package/dist/read/catalog.js.map +1 -1
  452. package/dist/read/client.d.ts +15 -11
  453. package/dist/read/client.d.ts.map +1 -1
  454. package/dist/read/client.js +5 -1
  455. package/dist/read/client.js.map +1 -1
  456. package/dist/read/config.d.ts +7 -2
  457. package/dist/read/config.d.ts.map +1 -1
  458. package/dist/read/config.js +2 -0
  459. package/dist/read/config.js.map +1 -1
  460. package/dist/read/genres.d.ts +5 -3
  461. package/dist/read/genres.d.ts.map +1 -1
  462. package/dist/read/genres.js +18 -15
  463. package/dist/read/genres.js.map +1 -1
  464. package/dist/read/index.d.ts.map +1 -1
  465. package/dist/read/index.js +8 -2
  466. package/dist/read/index.js.map +1 -1
  467. package/dist/read/receipts.d.ts +15 -6
  468. package/dist/read/receipts.d.ts.map +1 -1
  469. package/dist/read/receipts.js +76 -63
  470. package/dist/read/receipts.js.map +1 -1
  471. package/dist/read/types.d.ts +1 -1
  472. package/dist/read/types.d.ts.map +1 -1
  473. package/dist/read/wallet.d.ts +12 -10
  474. package/dist/read/wallet.d.ts.map +1 -1
  475. package/dist/read/wallet.js +122 -136
  476. package/dist/read/wallet.js.map +1 -1
  477. package/dist/read/works.d.ts +9 -16
  478. package/dist/read/works.d.ts.map +1 -1
  479. package/dist/read/works.js +48 -117
  480. package/dist/read/works.js.map +1 -1
  481. package/dist/recording-extensions.d.ts +8 -7
  482. package/dist/recording-extensions.d.ts.map +1 -1
  483. package/dist/recording-extensions.js +36 -69
  484. package/dist/recording-extensions.js.map +1 -1
  485. package/dist/release-extensions.d.ts +3 -20
  486. package/dist/release-extensions.d.ts.map +1 -1
  487. package/dist/release-extensions.js +13 -59
  488. package/dist/release-extensions.js.map +1 -1
  489. package/dist/release-graph.js +2 -2
  490. package/dist/release-graph.js.map +1 -1
  491. package/dist/royalty.d.ts +87 -0
  492. package/dist/royalty.d.ts.map +1 -0
  493. package/dist/royalty.js +160 -0
  494. package/dist/royalty.js.map +1 -0
  495. package/dist/share.d.ts +7 -6
  496. package/dist/share.d.ts.map +1 -1
  497. package/dist/share.js +38 -31
  498. package/dist/share.js.map +1 -1
  499. package/dist/transactions.d.ts +2 -2
  500. package/dist/transactions.d.ts.map +1 -1
  501. package/dist/transactions.js +6 -6
  502. package/dist/transactions.js.map +1 -1
  503. package/dist/vault.d.ts +20 -8
  504. package/dist/vault.d.ts.map +1 -1
  505. package/dist/vault.js +37 -21
  506. package/dist/vault.js.map +1 -1
  507. package/package.json +31 -10
  508. package/src/auth.ts +89 -70
  509. package/src/catalog.ts +35 -51
  510. package/src/client.ts +220 -141
  511. package/src/contracts/composition_credits/composition_credits.ts +170 -0
  512. package/src/contracts/composition_credits/composition_party_role.ts +190 -0
  513. package/src/contracts/composition_credits/deps/credit/credit.ts +28 -0
  514. package/src/contracts/composition_credits/deps/sui/vec_map.ts +34 -0
  515. package/src/contracts/composition_routed_stake/composition_routed_stake.ts +239 -0
  516. package/src/contracts/composition_royalty_pool/composition_royalty_pool.ts +154 -0
  517. package/src/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.ts +165 -0
  518. package/src/contracts/composition_royalty_pool_plugin/witness.ts +8 -0
  519. package/src/contracts/cover_art/cover_art.ts +98 -0
  520. package/src/contracts/cover_art/deps/ori/confidentiality.ts +24 -0
  521. package/src/contracts/cover_art/deps/ori/data.ts +12 -0
  522. package/src/contracts/genre/genre.ts +121 -0
  523. package/src/contracts/party_cta/party_cta.ts +213 -0
  524. package/src/contracts/party_genre/party_genre.ts +200 -0
  525. package/src/contracts/party_media/party_media.ts +142 -0
  526. package/src/contracts/party_music/party_music.ts +406 -0
  527. package/src/contracts/party_platform_link/party_platform_link.ts +149 -0
  528. package/src/contracts/party_pro_link/party_pro_link.ts +454 -0
  529. package/src/contracts/party_profile/deps/country_code/country_code.ts +20 -0
  530. package/src/contracts/party_profile/deps/language_code/language_code.ts +8 -0
  531. package/src/contracts/party_profile/party_profile.ts +240 -0
  532. package/src/contracts/party_roles/party_roles.ts +364 -0
  533. package/src/contracts/party_social/party_social.ts +503 -0
  534. package/src/contracts/party_tags/party_tags.ts +199 -0
  535. package/src/contracts/party_wallet/party_wallet.ts +174 -0
  536. package/src/contracts/record/deps/std/type_name.ts +23 -0
  537. package/src/contracts/record/deps/sui/vec_set.ts +22 -0
  538. package/src/contracts/record/pressing.ts +523 -0
  539. package/src/contracts/record/record.ts +339 -0
  540. package/src/contracts/record_shop/deps/std/type_name.ts +23 -0
  541. package/src/contracts/record_shop/listing.ts +603 -0
  542. package/src/contracts/record_shop/witness.ts +12 -0
  543. package/src/contracts/recording_advisory/recording_advisory.ts +316 -0
  544. package/src/contracts/recording_credits/deps/credit/credit.ts +28 -0
  545. package/src/contracts/recording_credits/deps/sui/vec_map.ts +34 -0
  546. package/src/contracts/recording_credits/deps/sui/vec_set.ts +22 -0
  547. package/src/contracts/recording_credits/recording_credits.ts +459 -0
  548. package/src/contracts/recording_credits/recording_party_role.ts +1042 -0
  549. package/src/contracts/recording_engine_session/deps/ori/confidentiality.ts +24 -0
  550. package/src/contracts/recording_engine_session/deps/ori/data.ts +12 -0
  551. package/src/contracts/recording_engine_session/recording_engine_session.ts +335 -0
  552. package/src/contracts/recording_genre/recording_genre.ts +235 -0
  553. package/src/contracts/recording_language/deps/language_code/language_code.ts +8 -0
  554. package/src/contracts/recording_language/recording_language.ts +238 -0
  555. package/src/contracts/recording_master_reference/deps/ori/confidentiality.ts +24 -0
  556. package/src/contracts/recording_master_reference/deps/ori/data.ts +12 -0
  557. package/src/contracts/recording_master_reference/recording_master_reference.ts +180 -0
  558. package/src/contracts/recording_royalty_pool/recording_royalty_pool.ts +157 -0
  559. package/src/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.ts +167 -0
  560. package/src/contracts/recording_royalty_pool_plugin/witness.ts +8 -0
  561. package/src/contracts/recording_streaming_transcode/deps/ori/data.ts +10 -0
  562. package/src/contracts/recording_streaming_transcode/recording_streaming_transcode.ts +203 -0
  563. package/src/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/confidentiality.ts +24 -0
  564. package/src/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/data.ts +12 -0
  565. package/src/contracts/release_cover_art/deps/cover_art/cover_art.ts +25 -0
  566. package/src/contracts/release_cover_art/deps/per_track/per_track.ts +37 -0
  567. package/src/contracts/release_cover_art/release_cover_art.ts +252 -0
  568. package/src/contracts/release_credits/deps/credit/credit.ts +28 -0
  569. package/src/contracts/release_credits/deps/sui/vec_map.ts +34 -0
  570. package/src/contracts/release_credits/release_credits.ts +157 -0
  571. package/src/contracts/release_credits/release_party_role.ts +87 -0
  572. package/src/contracts/release_description/release_description.ts +168 -0
  573. package/src/contracts/release_dsp_link/release_dsp_link.ts +813 -0
  574. package/src/contracts/release_genre/release_genre.ts +203 -0
  575. package/src/contracts/release_kind/release_kind.ts +154 -0
  576. package/src/contracts/release_revenue_distributor/release_revenue_distributor.ts +141 -0
  577. package/src/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.ts +143 -0
  578. package/src/contracts/release_revenue_distributor_plugin/witness.ts +8 -0
  579. package/src/contracts/routed_stake/deps/royalty_pool/stake.ts +53 -0
  580. package/src/contracts/routed_stake/deps/std/type_name.ts +23 -0
  581. package/src/contracts/routed_stake/deps/sui/balance.ts +18 -0
  582. package/src/contracts/routed_stake/deps/sui/vec_map.ts +34 -0
  583. package/src/contracts/routed_stake/routed_stake.ts +487 -0
  584. package/src/contracts/royalty_pool/deps/std/type_name.ts +23 -0
  585. package/src/contracts/royalty_pool/deps/sui/balance.ts +18 -0
  586. package/src/contracts/royalty_pool/deps/sui/vec_map.ts +34 -0
  587. package/src/contracts/royalty_pool/pool.ts +634 -0
  588. package/src/contracts/royalty_pool/stake.ts +305 -0
  589. package/src/contracts/utils/index.ts +428 -0
  590. package/src/contracts/vault/deps/sui/bag.ts +40 -0
  591. package/src/contracts/vault/deps/sui/borrow.ts +26 -0
  592. package/src/contracts/vault/vault.ts +509 -0
  593. package/src/contracts.ts +86 -39
  594. package/src/cover.ts +19 -28
  595. package/src/credits.ts +49 -81
  596. package/src/deployments.ts +321 -73
  597. package/src/errors.ts +156 -0
  598. package/src/events.ts +121 -0
  599. package/src/execute.ts +13 -9
  600. package/src/genre.ts +384 -0
  601. package/src/index.ts +10 -1
  602. package/src/internal.ts +2 -2
  603. package/src/packages.ts +243 -0
  604. package/src/party/client.ts +280 -0
  605. package/src/party/extensions/ctas.ts +46 -0
  606. package/src/party/extensions/genres.ts +62 -0
  607. package/src/party/extensions/links.ts +186 -0
  608. package/src/party/extensions/media.ts +72 -0
  609. package/src/party/extensions/profile.ts +81 -0
  610. package/src/party/extensions/roles.ts +94 -0
  611. package/src/party/extensions/tags.ts +54 -0
  612. package/src/party/index.ts +40 -0
  613. package/src/party/internal.ts +102 -0
  614. package/src/party/queries.ts +175 -0
  615. package/src/party/types.ts +88 -0
  616. package/src/pressing.ts +163 -166
  617. package/src/publication.ts +58 -45
  618. package/src/queries.ts +5 -5
  619. package/src/read/artist.ts +47 -42
  620. package/src/read/catalog.ts +201 -224
  621. package/src/read/client.ts +20 -13
  622. package/src/read/config.ts +9 -2
  623. package/src/read/genres.ts +24 -16
  624. package/src/read/index.ts +8 -2
  625. package/src/read/receipts.ts +131 -70
  626. package/src/read/types.ts +1 -1
  627. package/src/read/wallet.ts +199 -166
  628. package/src/read/works.ts +76 -195
  629. package/src/recording-extensions.ts +44 -98
  630. package/src/release-extensions.ts +11 -87
  631. package/src/release-graph.ts +2 -2
  632. package/src/royalty.ts +264 -0
  633. package/src/share.ts +45 -30
  634. package/src/transactions.ts +6 -6
  635. package/src/vault.ts +53 -30
package/src/pressing.ts CHANGED
@@ -1,22 +1,30 @@
1
1
  // Copyright (c) Miso Labs, Inc.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
- // Primary Record sales. `miso_record` owns concrete Records and edition-scoped
5
- // Pressings; immutable `miso_record_shop` owns per-currency Listings and payment.
4
+ // Primary Record sales. `record` owns concrete Records and edition-scoped
5
+ // Pressings; immutable `record_shop` owns per-currency Listings and payment.
6
6
 
7
- import type { ClientWithCoreApi } from "@mysten/sui/client";
8
7
  import {
9
8
  deriveObjectID,
10
9
  normalizeStructTag,
11
10
  normalizeSuiAddress,
12
11
  parseStructTag,
13
12
  } from "@mysten/sui/utils";
13
+ import { Effect, Schema } from "effect";
14
+ import {
15
+ assertObjectType,
16
+ decodeBcs,
17
+ getObjectsContent,
18
+ getOptionalObjectContent,
19
+ ObjectTypeMismatchError,
20
+ type SuiClient,
21
+ } from "@misofm/effect";
22
+ import type { BcsDecodeError, SuiRpcError } from "@misofm/effect";
14
23
  import type { TxThunk } from "./transactions.ts";
15
- import { isNotFound } from "./queries.ts";
16
24
  import { asU64, type U64Input } from "./vault.ts";
17
- import * as pressingContract from "@misofm/protocol/contracts/miso_record/pressing";
18
- import * as recordContract from "@misofm/protocol/contracts/miso_record/record";
19
- import * as listingContract from "@misofm/protocol/contracts/miso_record_shop/listing";
25
+ import * as pressingContract from "./contracts/record/pressing.ts";
26
+ import * as recordContract from "./contracts/record/record.ts";
27
+ import * as listingContract from "./contracts/record_shop/listing.ts";
20
28
 
21
29
  const MAX_U16 = 0xffff;
22
30
  const MAX_U32 = 0xffff_ffff;
@@ -406,54 +414,45 @@ export function purchaseRecord(p: PurchaseRecordParams): TxThunk {
406
414
  };
407
415
  }
408
416
 
409
- export interface PressingView {
410
- id: string;
411
- releaseId: string;
412
- edition: number;
413
- supply: number;
414
- maxSupply: number | null;
415
- distributors: string[];
416
- }
417
-
418
- export interface ListingView {
419
- id: string;
420
- releaseId: string;
421
- pressingId: string;
422
- pricing: { kind: "fixed" | "floor"; amount: string };
423
- state: ListingSwitch;
424
- currencyType: string;
425
- }
426
-
427
- export interface RecordView {
428
- id: string;
429
- releaseId: string;
430
- pressingId: string;
431
- edition: number;
432
- number: number;
433
- purchaseCurrency: string;
434
- purchasePrice: string;
435
- purchasedBy: string;
436
- purchasedTimestampMs: string;
437
- }
438
-
439
- async function fetch(
440
- client: ClientWithCoreApi,
441
- objectId: string,
442
- ): Promise<{ content: Uint8Array; type: string } | null> {
443
- try {
444
- const { object } = await client.core.getObject({
445
- objectId,
446
- include: { content: true },
447
- });
448
- if (!object) return null;
449
- if (!object.content || !object.type)
450
- throw new Error(`object ${objectId} has no BCS content or full type`);
451
- return { content: object.content, type: object.type };
452
- } catch (error) {
453
- if (isNotFound(error)) return null;
454
- throw error;
455
- }
456
- }
417
+ /** One permanent record-production run derived from a release. */
418
+ export class Pressing extends Schema.Class<Pressing>("@misofm/platform/Pressing")({
419
+ id: Schema.String,
420
+ releaseId: Schema.String,
421
+ edition: Schema.Number,
422
+ supply: Schema.Number,
423
+ maxSupply: Schema.NullOr(Schema.Number),
424
+ distributors: Schema.Array(Schema.String),
425
+ }) {}
426
+
427
+ /** One permanent currency offer derived from a Pressing. */
428
+ export class Listing extends Schema.Class<Listing>("@misofm/platform/Listing")({
429
+ id: Schema.String,
430
+ releaseId: Schema.String,
431
+ pressingId: Schema.String,
432
+ pricing: Schema.Struct({
433
+ kind: Schema.Literals(["fixed", "floor"]),
434
+ amount: Schema.String,
435
+ }),
436
+ state: Schema.Literals(["enabled", "disabled"]),
437
+ currencyType: Schema.String,
438
+ }) {}
439
+
440
+ /**
441
+ * One purchased copy of a Pressing. Named `PressingRecord`, not `Record` — the
442
+ * Move type is `record::Record`, but `Record` collides with TypeScript's
443
+ * built-in `Record<K, V>` utility type, which this codebase uses constantly.
444
+ */
445
+ export class PressingRecord extends Schema.Class<PressingRecord>("@misofm/platform/PressingRecord")({
446
+ id: Schema.String,
447
+ releaseId: Schema.String,
448
+ pressingId: Schema.String,
449
+ edition: Schema.Number,
450
+ number: Schema.Number,
451
+ purchaseCurrency: Schema.String,
452
+ purchasePrice: Schema.String,
453
+ purchasedBy: Schema.String,
454
+ purchasedTimestampMs: Schema.String,
455
+ }) {}
457
456
 
458
457
  function sameId(a: string, b: string): boolean {
459
458
  return normalizeSuiAddress(a) === normalizeSuiAddress(b);
@@ -464,15 +463,6 @@ function requireId(label: string, actual: string, expected: string): void {
464
463
  throw new Error(`${label} ${actual} does not match expected ${expected}`);
465
464
  }
466
465
 
467
- function requireExactType(type: string, expected: string, label: string): void {
468
- const actual = normalizeStructTag(type);
469
- const normalizedExpected = normalizeStructTag(expected);
470
- if (actual !== normalizedExpected)
471
- throw new Error(
472
- `${label} has type ${actual}, expected ${normalizedExpected}`,
473
- );
474
- }
475
-
476
466
  function requireListingCurrency(
477
467
  type: string,
478
468
  recordShopPackageId: string,
@@ -500,7 +490,7 @@ function enumKind(
500
490
  throw new Error(`unknown enum variant; expected ${names.join(" or ")}`);
501
491
  }
502
492
 
503
- function parsePricing(value: unknown): ListingView["pricing"] {
493
+ function parsePricing(value: unknown): { kind: "fixed" | "floor"; amount: string } {
504
494
  if (!value || typeof value !== "object")
505
495
  throw new Error("Listing has malformed pricing");
506
496
  const v = value as { $kind?: string; Fixed?: string; Floor?: string };
@@ -511,13 +501,8 @@ function parsePricing(value: unknown): ListingView["pricing"] {
511
501
  return { kind: kind === "Fixed" ? "fixed" : "floor", amount };
512
502
  }
513
503
 
514
- function parsePressing(
515
- pressingId: string,
516
- content: Uint8Array,
517
- type: string,
518
- recordPackageId: string,
519
- ): PressingView {
520
- requireExactType(type, `${recordPackageId}::pressing::Pressing`, "Pressing");
504
+ /** Raw BCS-parse -> camelCase mapper; `Schema.decodeUnknownEffect` (via `decodeBcs`) validates and constructs `Pressing`. */
505
+ function mapPressing(pressingId: string, recordPackageId: string, content: Uint8Array): typeof Pressing.Encoded {
521
506
  const parsed = pressingContract.Pressing.parse(content);
522
507
  requireId("Pressing UID", parsed.id, pressingId);
523
508
  requireId(
@@ -531,19 +516,16 @@ function parsePressing(
531
516
  edition: parsed.edition,
532
517
  supply: parsed.supply,
533
518
  maxSupply: parsed.max_supply,
534
- distributors: parsed.distributors.contents.map((item) =>
535
- normalizeStructTag(item.name),
536
- ),
519
+ distributors: parsed.distributors.contents.map((item) => normalizeStructTag(item.name)),
537
520
  };
538
521
  }
539
522
 
540
- function parseListing(
523
+ function mapListing(
541
524
  listingId: string,
542
- content: Uint8Array,
543
- type: string,
544
525
  recordShopPackageId: string,
545
- ): ListingView {
546
- const currencyType = requireListingCurrency(type, recordShopPackageId);
526
+ currencyType: string,
527
+ content: Uint8Array,
528
+ ): typeof Listing.Encoded {
547
529
  const parsed = listingContract.Listing.parse(content);
548
530
  requireId("Listing UID", parsed.id, listingId);
549
531
  requireId(
@@ -562,13 +544,7 @@ function parseListing(
562
544
  };
563
545
  }
564
546
 
565
- function parseRecord(
566
- recordId: string,
567
- content: Uint8Array,
568
- type: string,
569
- recordPackageId: string,
570
- ): RecordView {
571
- requireExactType(type, `${recordPackageId}::record::Record`, "Record");
547
+ function mapRecord(recordId: string, recordPackageId: string, content: Uint8Array): typeof PressingRecord.Encoded {
572
548
  const parsed = recordContract.Record.parse(content);
573
549
  requireId("Record UID", parsed.id, recordId);
574
550
  requireId(
@@ -589,38 +565,77 @@ function parseRecord(
589
565
  };
590
566
  }
591
567
 
592
- export async function getPressing(
593
- client: ClientWithCoreApi,
568
+ /** Fails with `ObjectTypeMismatchError` unless `type` is `recordShopPackageId`'s `listing::Listing<Currency>`; returns the currency type argument. */
569
+ function assertListingType(
570
+ objectId: string,
571
+ type: string,
572
+ recordShopPackageId: string,
573
+ ): Effect.Effect<string, ObjectTypeMismatchError> {
574
+ return Effect.try({
575
+ try: () => requireListingCurrency(type, recordShopPackageId),
576
+ catch: () =>
577
+ new ObjectTypeMismatchError({
578
+ objectId,
579
+ expected: `${normalizeSuiAddress(recordShopPackageId)}::listing::Listing<Currency>`,
580
+ actual: normalizeStructTag(type),
581
+ }),
582
+ });
583
+ }
584
+
585
+ /** One permanent pressing by id, or `null` when no such Pressing exists. */
586
+ export const getPressing = Effect.fn("getPressing")(function* (
594
587
  pressingId: string,
595
588
  recordPackageId: string,
596
- ): Promise<PressingView | null> {
597
- const got = await fetch(client, pressingId);
598
- return got
599
- ? parsePressing(pressingId, got.content, got.type, recordPackageId)
600
- : null;
601
- }
589
+ ): Effect.fn.Return<Pressing | null, ObjectTypeMismatchError | BcsDecodeError | SuiRpcError, SuiClient> {
590
+ const found = yield* getOptionalObjectContent(pressingId);
591
+ if (found._tag === "None") return null;
592
+ const { content, type } = found.value;
593
+ yield* assertObjectType(
594
+ pressingId,
595
+ normalizeStructTag(type),
596
+ normalizeStructTag(`${recordPackageId}::pressing::Pressing`),
597
+ );
598
+ return yield* decodeBcs(
599
+ { parse: (bytes) => mapPressing(pressingId, recordPackageId, bytes) },
600
+ Pressing,
601
+ content,
602
+ { type: "Pressing", objectId: pressingId },
603
+ );
604
+ });
602
605
 
603
- export async function getListing(
604
- client: ClientWithCoreApi,
606
+ /** One currency-specific listing by id, or `null` when no such Listing exists. */
607
+ export const getListing = Effect.fn("getListing")(function* (
605
608
  listingId: string,
606
609
  recordShopPackageId: string,
607
- ): Promise<ListingView | null> {
608
- const got = await fetch(client, listingId);
609
- return got
610
- ? parseListing(listingId, got.content, got.type, recordShopPackageId)
611
- : null;
612
- }
610
+ ): Effect.fn.Return<Listing | null, ObjectTypeMismatchError | BcsDecodeError | SuiRpcError, SuiClient> {
611
+ const found = yield* getOptionalObjectContent(listingId);
612
+ if (found._tag === "None") return null;
613
+ const { content, type } = found.value;
614
+ const currencyType = yield* assertListingType(listingId, type, recordShopPackageId);
615
+ return yield* decodeBcs(
616
+ { parse: (bytes) => mapListing(listingId, recordShopPackageId, currencyType, bytes) },
617
+ Listing,
618
+ content,
619
+ { type: "Listing", objectId: listingId },
620
+ );
621
+ });
613
622
 
614
- export async function getRecord(
615
- client: ClientWithCoreApi,
623
+ /** One purchased copy by id, or `null` when no such Record exists. */
624
+ export const getRecord = Effect.fn("getRecord")(function* (
616
625
  recordId: string,
617
626
  recordPackageId: string,
618
- ): Promise<RecordView | null> {
619
- const got = await fetch(client, recordId);
620
- return got
621
- ? parseRecord(recordId, got.content, got.type, recordPackageId)
622
- : null;
623
- }
627
+ ): Effect.fn.Return<PressingRecord | null, ObjectTypeMismatchError | BcsDecodeError | SuiRpcError, SuiClient> {
628
+ const found = yield* getOptionalObjectContent(recordId);
629
+ if (found._tag === "None") return null;
630
+ const { content, type } = found.value;
631
+ yield* assertObjectType(recordId, normalizeStructTag(type), normalizeStructTag(`${recordPackageId}::record::Record`));
632
+ return yield* decodeBcs(
633
+ { parse: (bytes) => mapRecord(recordId, recordPackageId, bytes) },
634
+ PressingRecord,
635
+ content,
636
+ { type: "Record", objectId: recordId },
637
+ );
638
+ });
624
639
 
625
640
  export interface GetSaleParams {
626
641
  releaseId: string;
@@ -630,10 +645,14 @@ export interface GetSaleParams {
630
645
  recordShopPackageId: string;
631
646
  }
632
647
 
633
- export async function getSale(
634
- client: ClientWithCoreApi,
648
+ /** A Pressing and its currency-specific Listing, read in one Core batch. Either half may be `null`. */
649
+ export const getSale = Effect.fn("getSale")(function* (
635
650
  p: GetSaleParams,
636
- ): Promise<{ pressing: PressingView | null; listing: ListingView | null }> {
651
+ ): Effect.fn.Return<
652
+ { pressing: Pressing | null; listing: Listing | null },
653
+ ObjectTypeMismatchError | BcsDecodeError | SuiRpcError,
654
+ SuiClient
655
+ > {
637
656
  const { pressingId, listingId } = deriveSaleIds(
638
657
  p.releaseId,
639
658
  p.edition,
@@ -641,36 +660,35 @@ export async function getSale(
641
660
  p.recordPackageId,
642
661
  p.recordShopPackageId,
643
662
  );
644
- const { objects } = await client.core.getObjects({
645
- objectIds: [pressingId, listingId],
646
- include: { content: true },
647
- });
648
- const [pressingObject, listingObject] = objects;
649
- if (pressingObject instanceof Error && !isNotFound(pressingObject))
650
- throw pressingObject;
651
- if (listingObject instanceof Error && !isNotFound(listingObject))
652
- throw listingObject;
653
- const pressing =
654
- !pressingObject || pressingObject instanceof Error
655
- ? null
656
- : parseBatchPressing(
657
- pressingId,
658
- pressingObject.content,
659
- pressingObject.type,
660
- p.recordPackageId,
661
- );
662
- const listing =
663
- !listingObject || listingObject instanceof Error
664
- ? null
665
- : parseBatchListing(
666
- listingId,
667
- listingObject.content,
668
- listingObject.type,
669
- p.recordShopPackageId,
670
- );
671
- if (pressing)
663
+ const contentById = yield* getObjectsContent([pressingId, listingId]);
664
+
665
+ const pressingFound = contentById.get(pressingId);
666
+ let pressing: Pressing | null = null;
667
+ if (pressingFound) {
668
+ yield* assertObjectType(
669
+ pressingId,
670
+ normalizeStructTag(pressingFound.type),
671
+ normalizeStructTag(`${p.recordPackageId}::pressing::Pressing`),
672
+ );
673
+ pressing = yield* decodeBcs(
674
+ { parse: (bytes) => mapPressing(pressingId, p.recordPackageId, bytes) },
675
+ Pressing,
676
+ pressingFound.content,
677
+ { type: "Pressing", objectId: pressingId },
678
+ );
672
679
  requireId("Sale pressing release", pressing.releaseId, p.releaseId);
673
- if (listing) {
680
+ }
681
+
682
+ const listingFound = contentById.get(listingId);
683
+ let listing: Listing | null = null;
684
+ if (listingFound) {
685
+ const currencyType = yield* assertListingType(listingId, listingFound.type, p.recordShopPackageId);
686
+ listing = yield* decodeBcs(
687
+ { parse: (bytes) => mapListing(listingId, p.recordShopPackageId, currencyType, bytes) },
688
+ Listing,
689
+ listingFound.content,
690
+ { type: "Listing", objectId: listingId },
691
+ );
674
692
  requireId("Sale listing release", listing.releaseId, p.releaseId);
675
693
  requireId("Sale listing pressing", listing.pressingId, pressingId);
676
694
  if (listing.currencyType !== normalizeStructTag(p.currencyType)) {
@@ -679,27 +697,6 @@ export async function getSale(
679
697
  );
680
698
  }
681
699
  }
682
- return { pressing, listing };
683
- }
684
700
 
685
- function parseBatchPressing(
686
- id: string,
687
- content: Uint8Array | undefined,
688
- type: string | undefined,
689
- packageId: string,
690
- ): PressingView {
691
- if (!content || !type)
692
- throw new Error(`Pressing ${id} has no BCS content or full type`);
693
- return parsePressing(id, content, type, packageId);
694
- }
695
-
696
- function parseBatchListing(
697
- id: string,
698
- content: Uint8Array | undefined,
699
- type: string | undefined,
700
- packageId: string,
701
- ): ListingView {
702
- if (!content || !type)
703
- throw new Error(`Listing ${id} has no BCS content or full type`);
704
- return parseListing(id, content, type, packageId);
705
- }
701
+ return { pressing, listing };
702
+ });