@misofm/sdk 0.15.11 → 0.17.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 (371) hide show
  1. package/README.md +210 -73
  2. package/dist/client.d.ts +224 -68
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +465 -79
  5. package/dist/client.js.map +1 -1
  6. package/dist/contracts/composition_credits/composition_credits.d.ts +10 -10
  7. package/dist/contracts/composition_credits/composition_credits.d.ts.map +1 -1
  8. package/dist/contracts/composition_credits/composition_credits.js.map +1 -1
  9. package/dist/contracts/composition_credits/composition_party_role.d.ts +1 -1
  10. package/dist/contracts/composition_credits/composition_party_role.d.ts.map +1 -1
  11. package/dist/contracts/composition_credits/composition_party_role.js.map +1 -1
  12. package/dist/contracts/composition_credits/deps/miso_credit/credit.d.ts.map +1 -1
  13. package/dist/contracts/composition_credits/deps/miso_credit/credit.js.map +1 -1
  14. package/dist/contracts/composition_credits/deps/sui/vec_map.d.ts.map +1 -1
  15. package/dist/contracts/composition_credits/deps/sui/vec_map.js.map +1 -1
  16. package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts +29 -93
  17. package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts.map +1 -1
  18. package/dist/contracts/composition_routed_stake/composition_routed_stake.js +19 -79
  19. package/dist/contracts/composition_routed_stake/composition_routed_stake.js.map +1 -1
  20. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts +22 -106
  21. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts.map +1 -1
  22. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js +16 -98
  23. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js.map +1 -1
  24. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.d.ts +90 -0
  25. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.d.ts.map +1 -0
  26. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.js +85 -0
  27. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.js.map +1 -0
  28. package/dist/contracts/{party_wallet → composition_royalty_pool_plugin}/witness.d.ts +1 -1
  29. package/dist/contracts/composition_royalty_pool_plugin/witness.d.ts.map +1 -0
  30. package/dist/contracts/{recording_royalty_pool → composition_royalty_pool_plugin}/witness.js +1 -1
  31. package/dist/contracts/composition_royalty_pool_plugin/witness.js.map +1 -0
  32. package/dist/contracts/cover_art/cover_art.d.ts +4 -4
  33. package/dist/contracts/cover_art/cover_art.d.ts.map +1 -1
  34. package/dist/contracts/cover_art/cover_art.js.map +1 -1
  35. package/dist/contracts/cover_art/deps/ori/walrus_data.d.ts +4 -4
  36. package/dist/contracts/cover_art/deps/ori/walrus_data.d.ts.map +1 -1
  37. package/dist/contracts/cover_art/deps/ori/walrus_data.js.map +1 -1
  38. package/dist/contracts/genre/genre.d.ts +6 -6
  39. package/dist/contracts/genre/genre.d.ts.map +1 -1
  40. package/dist/contracts/genre/genre.js.map +1 -1
  41. package/dist/contracts/{miso_pressing → miso_record}/deps/std/type_name.d.ts +1 -1
  42. package/dist/contracts/miso_record/deps/std/type_name.d.ts.map +1 -0
  43. package/dist/contracts/miso_record/deps/std/type_name.js.map +1 -0
  44. package/dist/contracts/miso_record/deps/sui/vec_set.d.ts +21 -0
  45. package/dist/contracts/miso_record/deps/sui/vec_set.d.ts.map +1 -0
  46. package/dist/contracts/miso_record/deps/sui/vec_set.js +20 -0
  47. package/dist/contracts/miso_record/deps/sui/vec_set.js.map +1 -0
  48. package/dist/contracts/miso_record/pressing.d.ts +327 -0
  49. package/dist/contracts/miso_record/pressing.d.ts.map +1 -0
  50. package/dist/contracts/miso_record/pressing.js +345 -0
  51. package/dist/contracts/miso_record/pressing.js.map +1 -0
  52. package/dist/contracts/miso_record/record.d.ts +190 -0
  53. package/dist/contracts/miso_record/record.d.ts.map +1 -0
  54. package/dist/contracts/miso_record/record.js +226 -0
  55. package/dist/contracts/miso_record/record.js.map +1 -0
  56. package/dist/contracts/miso_record_shop/deps/std/type_name.d.ts +18 -0
  57. package/dist/contracts/miso_record_shop/deps/std/type_name.d.ts.map +1 -0
  58. package/dist/contracts/miso_record_shop/deps/std/type_name.js +20 -0
  59. package/dist/contracts/miso_record_shop/deps/std/type_name.js.map +1 -0
  60. package/dist/contracts/miso_record_shop/listing.d.ts +387 -0
  61. package/dist/contracts/miso_record_shop/listing.d.ts.map +1 -0
  62. package/dist/contracts/miso_record_shop/listing.js +380 -0
  63. package/dist/contracts/miso_record_shop/listing.js.map +1 -0
  64. package/dist/contracts/{release_revenue_distributor → miso_record_shop}/witness.d.ts +2 -2
  65. package/dist/contracts/miso_record_shop/witness.d.ts.map +1 -0
  66. package/dist/contracts/{release_revenue_distributor → miso_record_shop}/witness.js +2 -2
  67. package/dist/contracts/miso_record_shop/witness.js.map +1 -0
  68. package/dist/contracts/party_wallet/party_wallet.d.ts +41 -168
  69. package/dist/contracts/party_wallet/party_wallet.d.ts.map +1 -1
  70. package/dist/contracts/party_wallet/party_wallet.js +27 -152
  71. package/dist/contracts/party_wallet/party_wallet.js.map +1 -1
  72. package/dist/contracts/recording_advisory/recording_advisory.d.ts +3 -3
  73. package/dist/contracts/recording_advisory/recording_advisory.d.ts.map +1 -1
  74. package/dist/contracts/recording_advisory/recording_advisory.js.map +1 -1
  75. package/dist/contracts/recording_credits/deps/miso_credit/credit.d.ts.map +1 -1
  76. package/dist/contracts/recording_credits/deps/miso_credit/credit.js.map +1 -1
  77. package/dist/contracts/recording_credits/deps/sui/vec_map.d.ts.map +1 -1
  78. package/dist/contracts/recording_credits/deps/sui/vec_map.js.map +1 -1
  79. package/dist/contracts/recording_credits/deps/sui/vec_set.d.ts.map +1 -1
  80. package/dist/contracts/recording_credits/deps/sui/vec_set.js.map +1 -1
  81. package/dist/contracts/recording_credits/recording_credits.d.ts +20 -20
  82. package/dist/contracts/recording_credits/recording_credits.d.ts.map +1 -1
  83. package/dist/contracts/recording_credits/recording_credits.js.map +1 -1
  84. package/dist/contracts/recording_credits/recording_party_role.d.ts +30 -30
  85. package/dist/contracts/recording_credits/recording_party_role.d.ts.map +1 -1
  86. package/dist/contracts/recording_credits/recording_party_role.js.map +1 -1
  87. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts +1 -1
  88. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts.map +1 -1
  89. package/dist/contracts/recording_language/deps/language_code/language_code.js.map +1 -1
  90. package/dist/contracts/recording_language/recording_language.d.ts +4 -4
  91. package/dist/contracts/recording_language/recording_language.d.ts.map +1 -1
  92. package/dist/contracts/recording_language/recording_language.js.map +1 -1
  93. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.d.ts +4 -4
  94. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.d.ts.map +1 -1
  95. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.js.map +1 -1
  96. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts +6 -6
  97. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts.map +1 -1
  98. package/dist/contracts/recording_master_reference/recording_master_reference.js.map +1 -1
  99. package/dist/contracts/recording_preview/deps/ori/walrus_data.d.ts +4 -4
  100. package/dist/contracts/recording_preview/deps/ori/walrus_data.d.ts.map +1 -1
  101. package/dist/contracts/recording_preview/deps/ori/walrus_data.js.map +1 -1
  102. package/dist/contracts/recording_preview/recording_preview.d.ts +6 -6
  103. package/dist/contracts/recording_preview/recording_preview.d.ts.map +1 -1
  104. package/dist/contracts/recording_preview/recording_preview.js.map +1 -1
  105. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts +21 -109
  106. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts.map +1 -1
  107. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js +15 -100
  108. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js.map +1 -1
  109. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.d.ts +92 -0
  110. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.d.ts.map +1 -0
  111. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.js +85 -0
  112. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.js.map +1 -0
  113. package/dist/contracts/{composition_royalty_pool → recording_royalty_pool_plugin}/witness.d.ts +1 -1
  114. package/dist/contracts/recording_royalty_pool_plugin/witness.d.ts.map +1 -0
  115. package/dist/contracts/{party_wallet → recording_royalty_pool_plugin}/witness.js +1 -1
  116. package/dist/contracts/recording_royalty_pool_plugin/witness.js.map +1 -0
  117. package/dist/contracts/release_cover_art/deps/{0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78 → 0xf35cf353a62cef01084b51a9cf3da4c64c8724685ad1862f2f8284b71bd26c1a}/walrus_data.d.ts +7 -7
  118. package/dist/contracts/release_cover_art/deps/{0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78 → 0xf35cf353a62cef01084b51a9cf3da4c64c8724685ad1862f2f8284b71bd26c1a}/walrus_data.d.ts.map +1 -1
  119. package/dist/contracts/release_cover_art/deps/{0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78 → 0xf35cf353a62cef01084b51a9cf3da4c64c8724685ad1862f2f8284b71bd26c1a}/walrus_data.js +1 -1
  120. package/dist/contracts/release_cover_art/deps/{0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78 → 0xf35cf353a62cef01084b51a9cf3da4c64c8724685ad1862f2f8284b71bd26c1a}/walrus_data.js.map +1 -1
  121. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts +7 -7
  122. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts.map +1 -1
  123. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js +1 -1
  124. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js.map +1 -1
  125. package/dist/contracts/release_cover_art/deps/per_track/per_track.d.ts.map +1 -1
  126. package/dist/contracts/release_cover_art/deps/per_track/per_track.js.map +1 -1
  127. package/dist/contracts/release_cover_art/release_cover_art.d.ts +23 -23
  128. package/dist/contracts/release_cover_art/release_cover_art.d.ts.map +1 -1
  129. package/dist/contracts/release_cover_art/release_cover_art.js.map +1 -1
  130. package/dist/contracts/release_credits/deps/miso_credit/credit.d.ts.map +1 -1
  131. package/dist/contracts/release_credits/deps/miso_credit/credit.js.map +1 -1
  132. package/dist/contracts/release_credits/deps/sui/vec_map.d.ts.map +1 -1
  133. package/dist/contracts/release_credits/deps/sui/vec_map.js.map +1 -1
  134. package/dist/contracts/release_credits/release_credits.d.ts +10 -10
  135. package/dist/contracts/release_credits/release_credits.d.ts.map +1 -1
  136. package/dist/contracts/release_credits/release_credits.js.map +1 -1
  137. package/dist/contracts/release_description/release_description.d.ts +4 -4
  138. package/dist/contracts/release_description/release_description.d.ts.map +1 -1
  139. package/dist/contracts/release_description/release_description.js.map +1 -1
  140. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts +41 -42
  141. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts.map +1 -1
  142. package/dist/contracts/release_dsp_link/release_dsp_link.js +4 -5
  143. package/dist/contracts/release_dsp_link/release_dsp_link.js.map +1 -1
  144. package/dist/contracts/release_genre/deps/per_track/per_track.d.ts.map +1 -1
  145. package/dist/contracts/release_genre/deps/per_track/per_track.js.map +1 -1
  146. package/dist/contracts/release_genre/release_genre.d.ts +15 -15
  147. package/dist/contracts/release_genre/release_genre.d.ts.map +1 -1
  148. package/dist/contracts/release_genre/release_genre.js.map +1 -1
  149. package/dist/contracts/release_kind/release_kind.d.ts +4 -4
  150. package/dist/contracts/release_kind/release_kind.d.ts.map +1 -1
  151. package/dist/contracts/release_kind/release_kind.js.map +1 -1
  152. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts +46 -59
  153. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts.map +1 -1
  154. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js +27 -48
  155. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js.map +1 -1
  156. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.d.ts +75 -0
  157. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.d.ts.map +1 -0
  158. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.js +80 -0
  159. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.js.map +1 -0
  160. package/dist/contracts/{recording_royalty_pool → release_revenue_distributor_plugin}/witness.d.ts +1 -1
  161. package/dist/contracts/release_revenue_distributor_plugin/witness.d.ts.map +1 -0
  162. package/dist/contracts/{composition_royalty_pool → release_revenue_distributor_plugin}/witness.js +1 -1
  163. package/dist/contracts/release_revenue_distributor_plugin/witness.js.map +1 -0
  164. package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts +5 -5
  165. package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts.map +1 -1
  166. package/dist/contracts/routed_stake/deps/royalty_pool/stake.js.map +1 -1
  167. package/dist/contracts/routed_stake/deps/std/type_name.d.ts +1 -1
  168. package/dist/contracts/routed_stake/deps/std/type_name.d.ts.map +1 -1
  169. package/dist/contracts/routed_stake/deps/std/type_name.js.map +1 -1
  170. package/dist/contracts/routed_stake/deps/sui/balance.d.ts +1 -1
  171. package/dist/contracts/routed_stake/deps/sui/balance.d.ts.map +1 -1
  172. package/dist/contracts/routed_stake/deps/sui/balance.js.map +1 -1
  173. package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts.map +1 -1
  174. package/dist/contracts/routed_stake/deps/sui/vec_map.js.map +1 -1
  175. package/dist/contracts/routed_stake/routed_stake.d.ts +15 -15
  176. package/dist/contracts/routed_stake/routed_stake.d.ts.map +1 -1
  177. package/dist/contracts/routed_stake/routed_stake.js.map +1 -1
  178. package/dist/contracts/royalty_pool/deps/std/type_name.d.ts +1 -1
  179. package/dist/contracts/royalty_pool/deps/std/type_name.d.ts.map +1 -1
  180. package/dist/contracts/royalty_pool/deps/std/type_name.js.map +1 -1
  181. package/dist/contracts/royalty_pool/deps/sui/balance.d.ts +1 -1
  182. package/dist/contracts/royalty_pool/deps/sui/balance.d.ts.map +1 -1
  183. package/dist/contracts/royalty_pool/deps/sui/balance.js.map +1 -1
  184. package/dist/contracts/royalty_pool/deps/sui/vec_map.d.ts.map +1 -1
  185. package/dist/contracts/royalty_pool/deps/sui/vec_map.js.map +1 -1
  186. package/dist/contracts/royalty_pool/pool.d.ts +19 -19
  187. package/dist/contracts/royalty_pool/pool.d.ts.map +1 -1
  188. package/dist/contracts/royalty_pool/pool.js.map +1 -1
  189. package/dist/contracts/royalty_pool/stake.d.ts +9 -9
  190. package/dist/contracts/royalty_pool/stake.d.ts.map +1 -1
  191. package/dist/contracts/royalty_pool/stake.js.map +1 -1
  192. package/dist/contracts/vault/deps/sui/bag.d.ts +2 -2
  193. package/dist/contracts/vault/deps/sui/bag.d.ts.map +1 -1
  194. package/dist/contracts/vault/deps/sui/bag.js.map +1 -1
  195. package/dist/contracts/vault/deps/sui/borrow.d.ts.map +1 -1
  196. package/dist/contracts/vault/deps/sui/borrow.js.map +1 -1
  197. package/dist/contracts/vault/vault.d.ts +19 -93
  198. package/dist/contracts/vault/vault.d.ts.map +1 -1
  199. package/dist/contracts/vault/vault.js +16 -95
  200. package/dist/contracts/vault/vault.js.map +1 -1
  201. package/dist/contracts.d.ts +6 -3
  202. package/dist/contracts.d.ts.map +1 -1
  203. package/dist/contracts.js +9 -5
  204. package/dist/contracts.js.map +1 -1
  205. package/dist/deployments.d.ts +156 -77
  206. package/dist/deployments.d.ts.map +1 -1
  207. package/dist/deployments.js +146 -32
  208. package/dist/deployments.js.map +1 -1
  209. package/dist/index.d.ts +3 -1
  210. package/dist/index.d.ts.map +1 -1
  211. package/dist/index.js +3 -1
  212. package/dist/index.js.map +1 -1
  213. package/dist/internal.d.ts +9 -0
  214. package/dist/internal.d.ts.map +1 -1
  215. package/dist/internal.js +23 -0
  216. package/dist/internal.js.map +1 -1
  217. package/dist/mix.d.ts +144 -0
  218. package/dist/mix.d.ts.map +1 -0
  219. package/dist/mix.js +656 -0
  220. package/dist/mix.js.map +1 -0
  221. package/dist/pressing.d.ts +72 -156
  222. package/dist/pressing.d.ts.map +1 -1
  223. package/dist/pressing.js +269 -261
  224. package/dist/pressing.js.map +1 -1
  225. package/dist/publication.d.ts +6 -6
  226. package/dist/publication.d.ts.map +1 -1
  227. package/dist/publication.js +134 -90
  228. package/dist/publication.js.map +1 -1
  229. package/dist/read/catalog.d.ts +8 -5
  230. package/dist/read/catalog.d.ts.map +1 -1
  231. package/dist/read/catalog.js +47 -35
  232. package/dist/read/catalog.js.map +1 -1
  233. package/dist/read/config.d.ts +6 -4
  234. package/dist/read/config.d.ts.map +1 -1
  235. package/dist/read/config.js +10 -3
  236. package/dist/read/config.js.map +1 -1
  237. package/dist/read/index.d.ts +1 -1
  238. package/dist/read/index.d.ts.map +1 -1
  239. package/dist/read/index.js +1 -1
  240. package/dist/read/index.js.map +1 -1
  241. package/dist/read/internal/scalars.d.ts.map +1 -1
  242. package/dist/read/internal/scalars.js +4 -3
  243. package/dist/read/internal/scalars.js.map +1 -1
  244. package/dist/read/internal/walrus.d.ts.map +1 -1
  245. package/dist/read/internal/walrus.js +2 -1
  246. package/dist/read/internal/walrus.js.map +1 -1
  247. package/dist/read/receipts.d.ts +21 -12
  248. package/dist/read/receipts.d.ts.map +1 -1
  249. package/dist/read/receipts.js +159 -56
  250. package/dist/read/receipts.js.map +1 -1
  251. package/dist/read/types.d.ts +34 -24
  252. package/dist/read/types.d.ts.map +1 -1
  253. package/dist/read/wallet.d.ts.map +1 -1
  254. package/dist/read/wallet.js +31 -46
  255. package/dist/read/wallet.js.map +1 -1
  256. package/dist/vault.d.ts +81 -48
  257. package/dist/vault.d.ts.map +1 -1
  258. package/dist/vault.js +173 -174
  259. package/dist/vault.js.map +1 -1
  260. package/package.json +17 -7
  261. package/src/client.ts +618 -120
  262. package/src/contracts/composition_credits/composition_credits.ts +3 -2
  263. package/src/contracts/composition_credits/composition_party_role.ts +5 -4
  264. package/src/contracts/composition_credits/deps/miso_credit/credit.ts +1 -0
  265. package/src/contracts/composition_credits/deps/sui/vec_map.ts +1 -0
  266. package/src/contracts/composition_routed_stake/composition_routed_stake.ts +36 -146
  267. package/src/contracts/composition_royalty_pool/composition_royalty_pool.ts +28 -169
  268. package/src/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.ts +165 -0
  269. package/src/contracts/{recording_royalty_pool → composition_royalty_pool_plugin}/witness.ts +2 -1
  270. package/src/contracts/cover_art/cover_art.ts +2 -1
  271. package/src/contracts/cover_art/deps/ori/walrus_data.ts +1 -0
  272. package/src/contracts/genre/genre.ts +3 -2
  273. package/src/contracts/{miso_pressing → miso_record}/deps/std/type_name.ts +1 -0
  274. package/src/contracts/miso_record/deps/sui/vec_set.ts +22 -0
  275. package/src/contracts/miso_record/pressing.ts +523 -0
  276. package/src/contracts/miso_record/record.ts +339 -0
  277. package/src/contracts/miso_record_shop/deps/std/type_name.ts +23 -0
  278. package/src/contracts/miso_record_shop/listing.ts +603 -0
  279. package/src/contracts/{release_revenue_distributor → miso_record_shop}/witness.ts +3 -2
  280. package/src/contracts/party_wallet/party_wallet.ts +41 -256
  281. package/src/contracts/recording_advisory/recording_advisory.ts +4 -3
  282. package/src/contracts/recording_credits/deps/miso_credit/credit.ts +1 -0
  283. package/src/contracts/recording_credits/deps/sui/vec_map.ts +1 -0
  284. package/src/contracts/recording_credits/deps/sui/vec_set.ts +1 -0
  285. package/src/contracts/recording_credits/recording_credits.ts +3 -2
  286. package/src/contracts/recording_credits/recording_party_role.ts +5 -4
  287. package/src/contracts/recording_language/deps/language_code/language_code.ts +1 -0
  288. package/src/contracts/recording_language/recording_language.ts +5 -4
  289. package/src/contracts/recording_master_reference/deps/ori/walrus_data.ts +1 -0
  290. package/src/contracts/recording_master_reference/recording_master_reference.ts +6 -5
  291. package/src/contracts/recording_preview/deps/ori/walrus_data.ts +1 -0
  292. package/src/contracts/recording_preview/recording_preview.ts +2 -1
  293. package/src/contracts/recording_royalty_pool/recording_royalty_pool.ts +27 -172
  294. package/src/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.ts +167 -0
  295. package/src/contracts/{party_wallet → recording_royalty_pool_plugin}/witness.ts +2 -1
  296. package/src/contracts/release_cover_art/deps/{0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78 → 0xf35cf353a62cef01084b51a9cf3da4c64c8724685ad1862f2f8284b71bd26c1a}/walrus_data.ts +2 -1
  297. package/src/contracts/release_cover_art/deps/cover_art/cover_art.ts +3 -2
  298. package/src/contracts/release_cover_art/deps/per_track/per_track.ts +3 -2
  299. package/src/contracts/release_cover_art/release_cover_art.ts +2 -1
  300. package/src/contracts/release_credits/deps/miso_credit/credit.ts +1 -0
  301. package/src/contracts/release_credits/deps/sui/vec_map.ts +1 -0
  302. package/src/contracts/release_credits/release_credits.ts +4 -3
  303. package/src/contracts/release_credits/release_party_role.ts +4 -4
  304. package/src/contracts/release_description/release_description.ts +6 -5
  305. package/src/contracts/release_dsp_link/release_dsp_link.ts +8 -8
  306. package/src/contracts/release_genre/deps/per_track/per_track.ts +3 -2
  307. package/src/contracts/release_genre/release_genre.ts +4 -3
  308. package/src/contracts/release_kind/release_kind.ts +5 -4
  309. package/src/contracts/release_revenue_distributor/release_revenue_distributor.ts +50 -85
  310. package/src/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.ts +145 -0
  311. package/src/contracts/{composition_royalty_pool → release_revenue_distributor_plugin}/witness.ts +2 -1
  312. package/src/contracts/routed_stake/deps/royalty_pool/stake.ts +1 -0
  313. package/src/contracts/routed_stake/deps/std/type_name.ts +1 -0
  314. package/src/contracts/routed_stake/deps/sui/balance.ts +1 -0
  315. package/src/contracts/routed_stake/deps/sui/vec_map.ts +1 -0
  316. package/src/contracts/routed_stake/routed_stake.ts +4 -3
  317. package/src/contracts/royalty_pool/deps/std/type_name.ts +1 -0
  318. package/src/contracts/royalty_pool/deps/sui/balance.ts +1 -0
  319. package/src/contracts/royalty_pool/deps/sui/vec_map.ts +1 -0
  320. package/src/contracts/royalty_pool/pool.ts +1 -0
  321. package/src/contracts/royalty_pool/stake.ts +1 -0
  322. package/src/contracts/vault/deps/sui/bag.ts +3 -2
  323. package/src/contracts/vault/deps/sui/borrow.ts +2 -1
  324. package/src/contracts/vault/vault.ts +27 -152
  325. package/src/contracts.ts +9 -5
  326. package/src/deployments.ts +273 -55
  327. package/src/index.ts +5 -0
  328. package/src/internal.ts +27 -0
  329. package/src/mix.ts +910 -0
  330. package/src/pressing.ts +428 -423
  331. package/src/publication.ts +148 -101
  332. package/src/read/catalog.ts +49 -34
  333. package/src/read/config.ts +19 -8
  334. package/src/read/index.ts +9 -1
  335. package/src/read/internal/scalars.ts +4 -2
  336. package/src/read/internal/walrus.ts +2 -1
  337. package/src/read/receipts.ts +181 -66
  338. package/src/read/types.ts +35 -22
  339. package/src/read/wallet.ts +29 -50
  340. package/src/vault.ts +275 -271
  341. package/dist/contracts/composition_routed_stake/witness.d.ts +0 -7
  342. package/dist/contracts/composition_routed_stake/witness.d.ts.map +0 -1
  343. package/dist/contracts/composition_routed_stake/witness.js +0 -9
  344. package/dist/contracts/composition_routed_stake/witness.js.map +0 -1
  345. package/dist/contracts/composition_royalty_pool/witness.d.ts.map +0 -1
  346. package/dist/contracts/composition_royalty_pool/witness.js.map +0 -1
  347. package/dist/contracts/miso_pressing/certificate.d.ts +0 -89
  348. package/dist/contracts/miso_pressing/certificate.d.ts.map +0 -1
  349. package/dist/contracts/miso_pressing/certificate.js +0 -108
  350. package/dist/contracts/miso_pressing/certificate.js.map +0 -1
  351. package/dist/contracts/miso_pressing/deps/std/type_name.d.ts.map +0 -1
  352. package/dist/contracts/miso_pressing/deps/std/type_name.js.map +0 -1
  353. package/dist/contracts/miso_pressing/listing.d.ts +0 -434
  354. package/dist/contracts/miso_pressing/listing.d.ts.map +0 -1
  355. package/dist/contracts/miso_pressing/listing.js +0 -401
  356. package/dist/contracts/miso_pressing/listing.js.map +0 -1
  357. package/dist/contracts/miso_pressing/pressing.d.ts +0 -334
  358. package/dist/contracts/miso_pressing/pressing.d.ts.map +0 -1
  359. package/dist/contracts/miso_pressing/pressing.js +0 -298
  360. package/dist/contracts/miso_pressing/pressing.js.map +0 -1
  361. package/dist/contracts/party_wallet/witness.d.ts.map +0 -1
  362. package/dist/contracts/party_wallet/witness.js.map +0 -1
  363. package/dist/contracts/recording_royalty_pool/witness.d.ts.map +0 -1
  364. package/dist/contracts/recording_royalty_pool/witness.js.map +0 -1
  365. package/dist/contracts/release_revenue_distributor/witness.d.ts.map +0 -1
  366. package/dist/contracts/release_revenue_distributor/witness.js.map +0 -1
  367. package/src/contracts/composition_routed_stake/witness.ts +0 -11
  368. package/src/contracts/miso_pressing/certificate.ts +0 -164
  369. package/src/contracts/miso_pressing/listing.ts +0 -592
  370. package/src/contracts/miso_pressing/pressing.ts +0 -399
  371. /package/dist/contracts/{miso_pressing → miso_record}/deps/std/type_name.js +0 -0
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  The complete client SDK for the **Miso platform layer** on Sui: composed catalog,
4
4
  artist, wallet, and receipt reads; the record production line and sale of copies;
5
- and vault-custodied business-logic plugins built on `@misonetwork/sdk`'s
5
+ and fail-closed Vault custody, raw Actions, and safe crank plugins built on `@misonetwork/sdk`'s
6
6
  protocol and data-extension primitives.
7
7
 
8
8
  ## The split
@@ -10,18 +10,20 @@ protocol and data-extension primitives.
10
10
  Miso ships two SDK families, and the npm scope tells you which promise you are
11
11
  holding:
12
12
 
13
- | Scope | Layer | Owns |
14
- | --- | --- | --- |
13
+ | Scope | Layer | Owns |
14
+ | ---------------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
15
15
  | `@misonetwork/*` | **Protocol** | Composition, Recording, Release, Party identity; metadata/data extensions; utilities; generic royalty-pool and routed-stake primitives |
16
- | `@misofm/*` | **Platform** | Pressing, Listing, Record, and Vault plugins that apply Miso business logic to custodied protocol admin caps |
16
+ | `@misofm/*` | **Platform** | Pressing, Listing, Record, and an explicitly deployed Vault/Action/plugin compatibility set |
17
17
 
18
18
  A release is protocol. Pressing a record off that release and selling it is
19
- platform. So is deciding *what to do* with a freshly-minted work's share
19
+ platform. So is deciding _what to do_ with a freshly-minted work's share
20
20
  supply — the protocol only knows how to mint one. Keeping the boundary at the
21
21
  package line is what stops the open protocol from quietly growing a
22
22
  storefront (or an opinion about tokenomics).
23
23
 
24
- Extensions add data to a work. Plugins provide business logic: a shared
24
+ Extensions add data to a work. Raw Actions accept an admin cap and remain
25
+ composable with either direct authority or a scoped Vault borrow. Three safe,
26
+ permissionless crank plugins borrow through their own witness: a shared
25
27
  `Vault<AdminCap>` custodies the raw cap, while its owner holds a
26
28
  `VaultAdminCap<AdminCap>`. A plugin borrows the cap and must return the exact
27
29
  object in the same PTB. The SDK supports both vault authorities and legacy
@@ -40,30 +42,48 @@ Install both SDKs at the application boundary; the platform package intentionall
40
42
  does not carry its own protocol SDK copy:
41
43
 
42
44
  ```sh
43
- bun add @misofm/sdk@^0.15.0 @misonetwork/sdk@^0.10.0
45
+ bun add @misofm/sdk@^0.17.0 @misonetwork/sdk@^0.11.0
44
46
  ```
45
47
 
46
48
  Both SDKs are consumed from npm. The platform package keeps
47
49
  `@misonetwork/sdk` as a peer so applications resolve exactly one protocol SDK
48
- and one compatible deployment map.
50
+ and one compatible deployment map. Registration takes a recursively frozen
51
+ snapshot of custom deployment/config records without freezing the caller's
52
+ original objects, so later caller mutation cannot retarget an existing client.
53
+
54
+ ### Canonical Record-gated sessions
55
+
56
+ `@misofm/sdk/mix` defines the complete protected-playback wire contract. A
57
+ Record resolves its immutable Release track to a Recording, then derives that
58
+ Recording's `recording_engine_session::ExtensionKey` dynamic field directly.
59
+ The field names one plaintext Walrus `miso.engine-session/1` document containing
60
+ the encrypted stem blob IDs and one Seal-wrapped 32-byte session key. No event
61
+ scan, indexer-maintained relationship, or second encrypted manifest is needed.
62
+
63
+ The same entry point exposes exact identity encoding, strict canonical-session
64
+ parsing, Seal-envelope inspection, and explicit attach/replace/unset PTB
65
+ builders. The bundled Testnet deployment pins the Record, policy, gate, and
66
+ engine-session identities together at `recordSales.recordPackageId`,
67
+ `packages.recordSealPolicy`, `objects.recordGate`, and
68
+ `packages.recordingEngineSession`.
49
69
 
50
70
  ## The model
51
71
 
52
- A release has exactly **one** `Pressing`: a single uncapped run whose counter numbers
53
- every copy that release will ever sell. There are no editions, no supply caps, no
54
- sold-out state, and no expiry a run is `Scheduled → Active → Paused → Active` and
55
- nothing else.
72
+ A release may have one `Pressing` per positive `u16` edition. Each Pressing owns its
73
+ independent `u32` Record-number sequence, current supply, optional immutable `u32`
74
+ maximum supply, and authorized distributor witness types.
56
75
 
57
76
  Selling in a currency is a `Listing<Currency>`, one per currency, permanent, edited in
58
- place rather than replaced. A sale needs both switches open: the run active and that
59
- currency's listing enabled.
77
+ place rather than replaced. The Listing's enabled/disabled state is the sale switch;
78
+ the Pressing has no schedule state.
60
79
 
61
80
  **Everything is address math.** The pressing's UID derives off its release's, each
62
81
  listing's off the pressing's. The protocol's canonical `ReleaseRegistry` creates the
63
- release; there is no *pressing* registry or mutable lookup pointer to follow, so
64
- "where is it" is answered offline which is why the builders take a RELEASE id and
65
- compute the rest. A caller cannot pair a listing with the wrong pressing, because it
66
- never picks one.
82
+ release; there is no _pressing_ registry or mutable lookup pointer to follow, so
83
+ "where is it" is answered offline. A Pressing derives from `(release, edition)`, a
84
+ Record from `(pressing, number)`, and a `Listing<Currency>` from its Pressing under
85
+ the separate immutable Record Shop package. There are no Record Registry or Settings
86
+ singletons.
67
87
 
68
88
  ## Usage
69
89
 
@@ -79,6 +99,10 @@ const client = new SuiGrpcClient({ network: "testnet", baseUrl }).$extend(
79
99
  miso({ deployment: verifiedDeployment }),
80
100
  );
81
101
 
102
+ // One memoized Core API read proves this endpoint is the deployment's exact
103
+ // ledger before any synchronous client-bound builder can be used.
104
+ await client.miso.ready();
105
+
82
106
  // The permissionless protocol SDK is part of the same facade.
83
107
  const release = await client.miso.protocol.getReleaseById(releaseId);
84
108
  const party = await client.miso.party.getPartyById(partyId);
@@ -86,29 +110,36 @@ const party = await client.miso.party.getPartyById(partyId);
86
110
  // Read: run + one currency's offer, one round trip, no registry lookup.
87
111
  const { pressing, listing } = await client.miso.getSale({
88
112
  releaseId,
113
+ edition,
89
114
  currencyType: USD_COIN_TYPE,
90
115
  });
91
116
 
92
117
  // Write: a thunk, so it composes with protocol calls in the same PTB.
93
118
  const tx = new Transaction();
94
119
  tx.add(
95
- client.miso.tx.buyRecord({
120
+ client.miso.tx.purchaseRecord({
96
121
  releaseId,
122
+ edition,
97
123
  currencyType: USD_COIN_TYPE,
98
- amount: listing.price.amount,
124
+ paymentAmount: listing.pricing.amount,
125
+ expectedPricing: listing.pricing,
99
126
  recipient: buyer,
100
127
  }),
101
128
  );
102
129
  ```
103
130
 
104
- Holding the ids yourself? Every builder and reader is exported bare, taking
105
- `misoPressingPackageId` per call:
131
+ The bundled Testnet deployment includes both verified immutable package IDs.
132
+ Custom deployments can still mark sales unavailable explicitly; sales builders
133
+ and readers fail closed whenever either package is unavailable.
134
+
135
+ Holding the ids yourself? The bare APIs take `recordPackageId` and/or
136
+ `recordShopPackageId` explicitly:
106
137
 
107
138
  ```ts
108
- import { buyRecord, getSale } from "@misofm/sdk/pressing";
139
+ import { purchaseRecord, getSale } from "@misofm/sdk/pressing";
109
140
  ```
110
141
 
111
- Testnet package and singleton IDs are bundled in
142
+ Verified package and singleton IDs are bundled in
112
143
  `MISO_PLATFORM_DEPLOYMENTS.testnet`. Calling `miso()` selects that verified map
113
144
  from the Sui client's network. Unbundled and custom networks still fail closed
114
145
  unless the caller passes one complete deployment through `miso({ deployment })`.
@@ -177,7 +208,7 @@ address, and the exact authorized route on every protected request.
177
208
 
178
209
  ### Payment
179
210
 
180
- `listing::buy` takes a bare `Balance<Currency>`, and `buyRecord` sources it with
211
+ `listing::purchase` takes a bare `Balance<Currency>`, and `purchaseRecord` sources it with
181
212
  `tx.balance()` — which draws from the buyer's **address balance** first and falls back
182
213
  to coin objects only if it must. When the address balance covers the price, that is a
183
214
  single `balance::redeem_funds` and **no coin object is minted, touched, or destroyed**,
@@ -187,17 +218,25 @@ Never hand-pick coin objects for a payment. That road shows a buyer their $1,000
187
218
  then refuses to spend a cent of it, because a coin listing cannot see money that lives
188
219
  in the address balance.
189
220
 
190
- Purchases through Miso are sponsored, so `useGasCoin` defaults to `false`: the gas coin
191
- belongs to the sponsor, and drawing a SUI payment out of it would spend the wrong
192
- wallet's money.
221
+ Purchases always set `useGasCoin: false`: the gas coin may belong to a sponsor. Buyers
222
+ also pass the exact expected `Fixed` or `Floor` pricing variant and value, protecting
223
+ them from stale pricing-mode changes as well as amount changes.
193
224
 
194
- ### Vault fund sweeping
225
+ ### Vault fund settlement
195
226
 
196
- `sweepCompositionRoyaltyPool` and `sweepRecordingRoyaltyPool` take the shared
197
- `AccumulatorRoot` and let Move determine the commit-settled amount; callers no
198
- longer provide a `u64`. Party-wallet monetary builders are similarly composable:
227
+ `settleAndDistributeReleaseRevenue` invokes the fixed release plugin with the
228
+ framework `AccumulatorRoot` (`0xacc`); the plugin redeems the whole settled
229
+ snapshot and exposes no amount argument. `settleCompositionRoyaltyPool` and
230
+ `settleRecordingRoyaltyPool` read `balance::settled_funds_value` and pass that
231
+ command result directly to their exact-value plugin calls. The lower-level raw
232
+ Action `redeemAndDistributeReleaseRevenue` and the plugin helpers
233
+ `redeemAndDepositCompositionRoyaltyPool`, and
234
+ `redeemAndDepositRecordingRoyaltyPool` remain available when an earlier PTB
235
+ command already produced the exact value.
236
+
237
+ Party-wallet monetary builders are similarly composable:
199
238
  `receivePartyWalletBalance`, `redeemPartyWalletBalance`, and
200
- `sweepPartyWalletBalance` return the PTB `Balance<Currency>` result. Pass that
239
+ `settlePartyWalletBalance` return the PTB `Balance<Currency>` result. Pass that
201
240
  result directly to another Move call, or convert it with `coin::from_balance`
202
241
  only when an owned Coin is required. Every returned Balance must be consumed in
203
242
  the same PTB.
@@ -234,10 +273,13 @@ const thunk = client.miso.tx.publishComposition({
234
273
  `client.miso.tx.publishRecording` and `publishCompositionAndRecording`
235
274
  follow the same shape (the latter atomically, borrow-before-share, in one PTB —
236
275
  see `@misonetwork/sdk`'s README for why the ordering is load-bearing).
237
- The protocol, pressing, record-settings, minato, and release-coordinator
238
- addresses all come from the deployment selected by the Sui client's network.
276
+ The protocol, immutable Record and Record Shop packages, minato, and core
277
+ `ReleaseRegistry` address all come from the deployment selected by the Sui
278
+ client's network. Record sales have no Record Registry or Settings singleton.
239
279
  The deprecated `misoPlatform()` constructor still accepts those values manually
240
- for compatibility with existing integrations.
280
+ for compatibility with existing integrations. It must also receive the exact
281
+ `network` and `chainIdentifier`; call `await client.misoPlatform.ready()` before
282
+ accessing its client-bound protocol or platform surfaces.
241
283
 
242
284
  For custom PTBs, the bare primitives (`disperseShares`, `finalizeComposition`,
243
285
  `finalizeRecording`) and the whole-graph orchestrator are exported standalone:
@@ -248,8 +290,28 @@ import { publishReleaseGraph } from "@misofm/sdk";
248
290
  // Every composition and recording, optional royalty pools, tracks, and
249
291
  // the release — with the release id derived ON-CHAIN — in one atomic PTB.
250
292
  const thunk = publishReleaseGraph({
251
- compositions: [{ shareType, shareCurrencyId, shareTreasuryCapId, title: "Song", royaltyRateBps: 1000, shareRecipients, adminAddress }],
252
- recordings: [{ shareType, shareCurrencyId, shareTreasuryCapId, compositionShareType, parentCompositionIndex: 0, shareRecipients, adminAddress }],
293
+ compositions: [
294
+ {
295
+ shareType,
296
+ shareCurrencyId,
297
+ shareTreasuryCapId,
298
+ title: "Song",
299
+ royaltyRateBps: 1000,
300
+ shareRecipients,
301
+ adminAddress,
302
+ },
303
+ ],
304
+ recordings: [
305
+ {
306
+ shareType,
307
+ shareCurrencyId,
308
+ shareTreasuryCapId,
309
+ compositionShareType,
310
+ parentCompositionIndex: 0,
311
+ shareRecipients,
312
+ adminAddress,
313
+ },
314
+ ],
253
315
  release: {
254
316
  title: "Album",
255
317
  nonce: "42",
@@ -266,9 +328,11 @@ const thunk = publishReleaseGraph({
266
328
 
267
329
  `publishAtomicCatalog` owns the semantic publication transaction. Given
268
330
  pre-initialized share currencies, it creates every new Party, Composition,
269
- Recording, Track, and Release; applies all declared data extensions; installs
270
- and initializes Vault plugins; opens the Pressing and Listings; shares the new
271
- objects; and delivers only the selected direct admin cap or VaultAdminCap. The
331
+ Recording, Track, and Release; applies all declared data extensions; composes
332
+ raw-cap Actions through direct custody or a scoped Vault borrow; installs only
333
+ the permissionless royalty/revenue crank plugins; opens the Pressing and
334
+ Listings; shares the new objects; and delivers only the selected direct admin
335
+ cap or VaultAdminCap. The
272
336
  entire catalog stage is one PTB, so none of it can land partially.
273
337
 
274
338
  Share allocation is explicit at the SDK boundary. Omitting
@@ -301,7 +365,7 @@ const publication = {
301
365
  // PTB exceeds the SDK's command/input safety limits or has an invalid graph.
302
366
  assertAtomicPublicationBounds(publication);
303
367
 
304
- const executed = await executeViaExecutor(
368
+ const executed = await client.miso.executeViaExecutor(
305
369
  executor,
306
370
  publishAtomicCatalog(publication),
307
371
  );
@@ -310,9 +374,11 @@ const result = parseAtomicPublicationResult(publication, executed);
310
374
 
311
375
  Fresh raw PartyAdminCap, CompositionAdminCap, RecordingAdminCap, and
312
376
  ReleaseAdminCap values never leave the PTB when Vault custody is selected.
313
- Party Vaults install the Party Wallet plugin by default; royalty-pool,
314
- routed-stake, and release-revenue plugins are installed while each new Vault is
315
- still owned. Plugin witness construction remains inside the SDK bindings.
377
+ Only the Composition royalty-pool, Recording royalty-pool, and Release revenue
378
+ plugins are installable, while each new Vault is still owned. Party-wallet and
379
+ Composition routed-stake operations remain raw Actions because they return
380
+ caller-controlled assets. Plugin witness construction remains inside the SDK
381
+ bindings.
316
382
 
317
383
  Share packages necessarily precede this stage: publish at most five per PTB,
318
384
  then initialize their currencies, then submit the atomic catalog PTB. The two
@@ -336,10 +402,20 @@ const currency = await client.miso.createShareCurrency(signer, {
336
402
 
337
403
  // Batched (many currencies, via a ParallelTransactionExecutor):
338
404
  import { publishShareCurrencies, initializeShareCurrencies } from "@misofm/sdk";
339
- const { packageIds } = await publishShareCurrencies(executor, initializerAddress, 10);
340
- const { currencies } = await initializeShareCurrencies(executor, signerAddress, packageIds, (pkg) => ({
341
- name: "…", description: "…",
342
- }));
405
+ const { packageIds } = await publishShareCurrencies(
406
+ executor,
407
+ initializerAddress,
408
+ 10,
409
+ );
410
+ const { currencies } = await initializeShareCurrencies(
411
+ executor,
412
+ signerAddress,
413
+ packageIds,
414
+ (pkg) => ({
415
+ name: "…",
416
+ description: "…",
417
+ }),
418
+ );
343
419
  ```
344
420
 
345
421
  `executeViaExecutor(executor, ...thunks)` (`execute.ts`) submits a
@@ -369,9 +445,14 @@ duplicate roles.
369
445
 
370
446
  ```ts
371
447
  import {
372
- attachCompositionCredit, attachRecordingCredit, addReleaseCredit,
373
- addRecordingPrimaryArtist, addRecordingFeaturedArtist,
374
- getCompositionCredits, getRecordingCredits, getReleaseCredits,
448
+ attachCompositionCredit,
449
+ attachRecordingCredit,
450
+ addReleaseCredit,
451
+ addRecordingPrimaryArtist,
452
+ addRecordingFeaturedArtist,
453
+ getCompositionCredits,
454
+ getRecordingCredits,
455
+ getReleaseCredits,
375
456
  } from "@misofm/sdk";
376
457
 
377
458
  const thunk = attachRecordingCredit({
@@ -379,7 +460,10 @@ const thunk = attachRecordingCredit({
379
460
  recordingAdminCapId: "0x...",
380
461
  partyId: "0x...",
381
462
  displayName: "Jane Doe",
382
- roles: [{ type: "Vocalist", level: "Lead" }, { type: "Instrumentalist", instrument: "Guitar" }],
463
+ roles: [
464
+ { type: "Vocalist", level: "Lead" },
465
+ { type: "Instrumentalist", instrument: "Guitar" },
466
+ ],
383
467
  recordingShareType: "0x...::share::Share",
384
468
  compositionShareType: "0x...::share::Share",
385
469
  recordingCreditsPackageId: "0x...",
@@ -387,12 +471,27 @@ const thunk = attachRecordingCredit({
387
471
  });
388
472
 
389
473
  // Designate an already-credited party (same params minus displayName/roles/misoCreditPackageId):
390
- addRecordingPrimaryArtist({ recordingId, recordingAdminCapId, partyId, recordingShareType, compositionShareType, recordingCreditsPackageId });
474
+ addRecordingPrimaryArtist({
475
+ recordingId,
476
+ recordingAdminCapId,
477
+ partyId,
478
+ recordingShareType,
479
+ compositionShareType,
480
+ recordingCreditsPackageId,
481
+ });
391
482
 
392
483
  // Reads return null when no credits field is attached.
393
- const credits = await getCompositionCredits(client, compositionId, compositionCreditsPackageId);
484
+ const credits = await getCompositionCredits(
485
+ client,
486
+ compositionId,
487
+ compositionCreditsPackageId,
488
+ );
394
489
  // CreditView[]: { partyId, displayName, roles: string[] } — e.g. "Producer (Lead)", "Instrumentalist: Guitar"
395
- const rc = await getRecordingCredits(client, recordingId, recordingCreditsPackageId);
490
+ const rc = await getRecordingCredits(
491
+ client,
492
+ recordingId,
493
+ recordingCreditsPackageId,
494
+ );
396
495
  // { credits: CreditView[], primaryArtistIds: string[], featuredArtistIds: string[] }
397
496
  ```
398
497
 
@@ -416,19 +515,23 @@ import { setReleaseCover, getReleaseCover } from "@misofm/sdk";
416
515
  const thunk = setReleaseCover({
417
516
  releaseId: "0x...",
418
517
  releaseAdminCapId: "0x...",
419
- stillBlobId: "987654321", // Walrus blob id as u256 (decimal string or bigint)
420
- animatedBlobId: null, // optional animated cover
518
+ stillBlobId: "987654321", // Walrus blob id as u256 (decimal string or bigint)
519
+ animatedBlobId: null, // optional animated cover
421
520
  coverArtPackageId: "0x...",
422
521
  releaseCoverArtPackageId: "0x...",
423
522
  oriPackageId: "0x...",
424
523
  });
425
524
 
426
- const cover = await getReleaseCover(client, releaseId, releaseCoverArtPackageId);
525
+ const cover = await getReleaseCover(
526
+ client,
527
+ releaseId,
528
+ releaseCoverArtPackageId,
529
+ );
427
530
  // ReleaseCoverView | null: { still, animated } as normalized Walrus refs
428
531
  // ({ kind: "blob", blobId } | { kind: "quiltPatch", quiltId, version, startIndex, endIndex })
429
532
  ```
430
533
 
431
- ### Vault plugins (`vault.ts`)
534
+ ### Vault operations (`vault.ts`)
432
535
 
433
536
  `vault.ts` contains composable PTB builders for custody and plugin flows:
434
537
  `invokeWithAdminCap` safely sequences `borrow_as_admin → Move call → put_back`, and
@@ -441,18 +544,50 @@ installers construct their witnesses inside their Move package; callers supply n
441
544
  witness.
442
545
 
443
546
  It also builds Composition/Recording royalty-pool initialization and cranks,
444
- Release `redeem_and_distribute` / `receive_and_distribute`, and the full
445
- Composition routed-stake lifecycle. Receive flows take coin IDs and construct
446
- the required `vector<Receiving<Coin<Currency>>>` in the PTB.
547
+ fixed Release settlement plus raw-admin amount composition, Party wallet
548
+ Actions, and the full Composition routed-stake Action lifecycle. Receive flows
549
+ take exact object references and construct the required
550
+ `vector<Receiving<Coin<Currency>>>` in the PTB.
551
+
552
+ The bundled Testnet deployment sets `operations.status` to `"available"` with
553
+ one canonical Vault package and registry, five distinct raw Action packages,
554
+ and three distinct suffixed plugin packages. Zero-config Testnet clients expose
555
+ that complete verified surface after `await client.miso.ready()`. Custom
556
+ deployments remain fail-closed unless they provide the same atomic identity set.
557
+ Structural validation checks canonical, pairwise-distinct IDs; callers remain
558
+ responsible for the provenance and compatibility of arbitrary custom IDs. The
559
+ bundled map is recursively frozen from one verified immutable admin export.
560
+
561
+ ### Migrating from 0.16
562
+
563
+ Version 0.17 is a breaking deployment-safety release. Replace flat Vault,
564
+ Action, and plugin package fields with the discriminated `operations` union.
565
+ After client
566
+ registration, call `await client.miso.ready()` before using synchronous
567
+ `client.miso.tx`, `ids`, `call`, `vault`, or `party` surfaces. Platform reads
568
+ and SDK execution helpers await the same memoized readiness check themselves.
569
+ Standalone builders remain pure for offline composition, so their caller is
570
+ responsible for completing this exact-chain validation lifecycle before
571
+ execution.
572
+
573
+ The Release revenue plugin crank is now fixed: call
574
+ `redeemAllAndDistribute(vault, release, accumulatorRoot)` with no amount. The
575
+ explicit-amount `redeemAndDistribute` Action remains available only for raw
576
+ admin-cap composition.
447
577
 
448
578
  ### Extension types
449
579
 
450
580
  ```ts
451
581
  import type {
452
- CreditView, RecordingCreditsView,
453
- CompositionRole, RecordingRole, RecordingRoleLevel, RecordingLeveledRoleType,
582
+ CreditView,
583
+ RecordingCreditsView,
584
+ CompositionRole,
585
+ RecordingRole,
586
+ RecordingRoleLevel,
587
+ RecordingLeveledRoleType,
454
588
  ReleaseRole,
455
- ReleaseCoverView, CoverImageRef,
589
+ ReleaseCoverView,
590
+ CoverImageRef,
456
591
  } from "@misofm/sdk";
457
592
  ```
458
593
 
@@ -493,7 +628,7 @@ the on-chain ABI:
493
628
  bun run codegen # reads sui-codegen.config.ts → src/contracts/
494
629
  ```
495
630
 
496
- `sui-codegen.config.ts` lists the platform package (`miso_pressing`), data
631
+ `sui-codegen.config.ts` lists `miso_record`, `miso_record_shop`, data
497
632
  extensions, generic `royalty_pool`/`routed_stake`, and the `vault` plus all
498
633
  vault-plugin packages. The protocol CORE (`miso` —
499
634
  composition/recording/release/track) generates into
@@ -502,9 +637,9 @@ adding the core here to save an import is how the split this package exists to
502
637
  enforce gets undone.
503
638
 
504
639
  Paths resolve against sibling checkouts, so regenerating requires
505
- `~/Documents/GitHub/misofm/{sdk, pressing, vault, vault-plugins}` and
506
- `~/Documents/GitHub/misonetwork/{protocol, protocol-extensions,
507
- royalty-pool, routed-stake, share}`.
640
+ `~/Documents/GitHub/misofm/{sdk, record, record-shop, vault, vault-plugins}` and
641
+ `~/Documents/GitHub/misonetwork/{party-actions, protocol, protocol-actions,
642
+ protocol-extensions, royalty-pool, routed-stake, share, cover-art, genre}`.
508
643
 
509
644
  For an isolated checkout, copy those source trees and set
510
645
  `MISO_SDK_CODEGEN_SOURCE_ROOT` to their common parent. The codegen config reads
@@ -512,17 +647,19 @@ only from that copy, avoiding writes to a developer's live source tree.
512
647
 
513
648
  ## Dependency on `@misonetwork/sdk`
514
649
 
515
- `@misonetwork/sdk` is a required peer (`^0.10.0`), not a runtime dependency.
650
+ `@misonetwork/sdk` is a required peer (`^0.11.0`), not a runtime dependency.
516
651
  This package imports its primitives, deployment configuration, protocol client,
517
652
  and Party client directly, then exposes them at `client.miso.protocol` and
518
- `client.miso.party`. The consuming
653
+ `client.miso.party` only after `await client.miso.ready()` validates the exact
654
+ ledger. Direct protocol reads, generated calls, package bindings, and nested
655
+ Party APIs cannot be obtained before that gate. The consuming
519
656
  application installs one protocol SDK, preventing a platform tarball from
520
657
  silently nesting an older protocol ABI alongside the application's copy.
521
658
  `@mysten/sui` itself stays a peer dependency here, same as in
522
659
  `@misonetwork/sdk`.
523
660
 
524
661
  The published tarball intentionally contains no protocol SDK copy: consumers
525
- satisfy the peer with their verified `@misonetwork/sdk@^0.10.0` installation.
662
+ satisfy the peer with their verified `@misonetwork/sdk@^0.11.0` installation.
526
663
 
527
664
  ```bash
528
665
  bun install