@misonetwork/sdk 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/README.md +181 -124
  2. package/dist/client.d.ts +1229 -15
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +43 -21
  5. package/dist/client.js.map +1 -1
  6. package/dist/contracts/composition_credits/composition_credits.d.ts +181 -0
  7. package/dist/contracts/composition_credits/composition_credits.d.ts.map +1 -0
  8. package/dist/contracts/composition_credits/composition_credits.js +109 -0
  9. package/dist/contracts/composition_credits/composition_credits.js.map +1 -0
  10. package/dist/contracts/composition_credits/composition_party_role.d.ts +119 -0
  11. package/dist/contracts/composition_credits/composition_party_role.d.ts.map +1 -0
  12. package/dist/contracts/composition_credits/composition_party_role.js +139 -0
  13. package/dist/contracts/composition_credits/composition_party_role.js.map +1 -0
  14. package/dist/contracts/composition_credits/deps/miso_credit/credit.d.ts +24 -0
  15. package/dist/contracts/composition_credits/deps/miso_credit/credit.d.ts.map +1 -0
  16. package/dist/contracts/composition_credits/deps/miso_credit/credit.js +23 -0
  17. package/dist/contracts/composition_credits/deps/miso_credit/credit.js.map +1 -0
  18. package/dist/contracts/composition_credits/deps/sui/vec_map.d.ts +37 -0
  19. package/dist/contracts/composition_credits/deps/sui/vec_map.d.ts.map +1 -0
  20. package/dist/contracts/composition_credits/deps/sui/vec_map.js +28 -0
  21. package/dist/contracts/composition_credits/deps/sui/vec_map.js.map +1 -0
  22. package/dist/contracts/miso/composition.d.ts +17 -39
  23. package/dist/contracts/miso/composition.d.ts.map +1 -1
  24. package/dist/contracts/miso/composition.js +18 -39
  25. package/dist/contracts/miso/composition.js.map +1 -1
  26. package/dist/contracts/miso/deps/bps/bps.d.ts +1 -1
  27. package/dist/contracts/miso/deps/bps/bps.js +1 -1
  28. package/dist/contracts/miso/recording.d.ts +44 -19
  29. package/dist/contracts/miso/recording.d.ts.map +1 -1
  30. package/dist/contracts/miso/recording.js +46 -20
  31. package/dist/contracts/miso/recording.js.map +1 -1
  32. package/dist/contracts/miso/release.d.ts +63 -37
  33. package/dist/contracts/miso/release.d.ts.map +1 -1
  34. package/dist/contracts/miso/release.js +65 -38
  35. package/dist/contracts/miso/release.js.map +1 -1
  36. package/dist/contracts/miso/track.d.ts +41 -10
  37. package/dist/contracts/miso/track.d.ts.map +1 -1
  38. package/dist/contracts/miso/track.js +44 -10
  39. package/dist/contracts/miso/track.js.map +1 -1
  40. package/dist/contracts/recording_advisory/recording_advisory.d.ts +194 -0
  41. package/dist/contracts/recording_advisory/recording_advisory.d.ts.map +1 -0
  42. package/dist/contracts/recording_advisory/recording_advisory.js +204 -0
  43. package/dist/contracts/recording_advisory/recording_advisory.js.map +1 -0
  44. package/dist/contracts/recording_credits/deps/miso_credit/credit.d.ts +24 -0
  45. package/dist/contracts/recording_credits/deps/miso_credit/credit.d.ts.map +1 -0
  46. package/dist/contracts/recording_credits/deps/miso_credit/credit.js +23 -0
  47. package/dist/contracts/recording_credits/deps/miso_credit/credit.js.map +1 -0
  48. package/dist/contracts/recording_credits/deps/sui/vec_map.d.ts +37 -0
  49. package/dist/contracts/recording_credits/deps/sui/vec_map.d.ts.map +1 -0
  50. package/dist/contracts/recording_credits/deps/sui/vec_map.js +28 -0
  51. package/dist/contracts/recording_credits/deps/sui/vec_map.js.map +1 -0
  52. package/dist/contracts/recording_credits/deps/sui/vec_set.d.ts +21 -0
  53. package/dist/contracts/recording_credits/deps/sui/vec_set.d.ts.map +1 -0
  54. package/dist/contracts/recording_credits/deps/sui/vec_set.js +20 -0
  55. package/dist/contracts/recording_credits/deps/sui/vec_set.js.map +1 -0
  56. package/dist/contracts/recording_credits/recording_credits.d.ts +2313 -0
  57. package/dist/contracts/recording_credits/recording_credits.d.ts.map +1 -0
  58. package/dist/contracts/recording_credits/recording_credits.js +270 -0
  59. package/dist/contracts/recording_credits/recording_credits.js.map +1 -0
  60. package/dist/contracts/recording_credits/recording_party_role.d.ts +1174 -0
  61. package/dist/contracts/recording_credits/recording_party_role.d.ts.map +1 -0
  62. package/dist/contracts/recording_credits/recording_party_role.js +692 -0
  63. package/dist/contracts/recording_credits/recording_party_role.js.map +1 -0
  64. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts +6 -0
  65. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts.map +1 -0
  66. package/dist/contracts/recording_language/deps/language_code/language_code.js +8 -0
  67. package/dist/contracts/recording_language/deps/language_code/language_code.js.map +1 -0
  68. package/dist/contracts/recording_language/recording_language.d.ts +152 -0
  69. package/dist/contracts/recording_language/recording_language.d.ts.map +1 -0
  70. package/dist/contracts/recording_language/recording_language.js +149 -0
  71. package/dist/contracts/recording_language/recording_language.js.map +1 -0
  72. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.d.ts +52 -0
  73. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.d.ts.map +1 -0
  74. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.js +37 -0
  75. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.js.map +1 -0
  76. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts +131 -0
  77. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts.map +1 -0
  78. package/dist/contracts/recording_master_reference/recording_master_reference.js +121 -0
  79. package/dist/contracts/recording_master_reference/recording_master_reference.js.map +1 -0
  80. package/dist/contracts/recording_preview/deps/ori/walrus_data.d.ts +52 -0
  81. package/dist/contracts/recording_preview/deps/ori/walrus_data.d.ts.map +1 -0
  82. package/dist/contracts/recording_preview/deps/ori/walrus_data.js +37 -0
  83. package/dist/contracts/recording_preview/deps/ori/walrus_data.js.map +1 -0
  84. package/dist/contracts/recording_preview/recording_preview.d.ts +104 -0
  85. package/dist/contracts/recording_preview/recording_preview.d.ts.map +1 -0
  86. package/dist/contracts/recording_preview/recording_preview.js +94 -0
  87. package/dist/contracts/recording_preview/recording_preview.js.map +1 -0
  88. package/dist/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.d.ts +52 -0
  89. package/dist/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.d.ts.map +1 -0
  90. package/dist/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.js +37 -0
  91. package/dist/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.js.map +1 -0
  92. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts +46 -0
  93. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts.map +1 -0
  94. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js +21 -0
  95. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js.map +1 -0
  96. package/dist/contracts/release_cover_art/deps/per_track/per_track.d.ts +33 -0
  97. package/dist/contracts/release_cover_art/deps/per_track/per_track.d.ts.map +1 -0
  98. package/dist/contracts/release_cover_art/deps/per_track/per_track.js +32 -0
  99. package/dist/contracts/release_cover_art/deps/per_track/per_track.js.map +1 -0
  100. package/dist/contracts/release_cover_art/release_cover_art.d.ts +300 -0
  101. package/dist/contracts/release_cover_art/release_cover_art.d.ts.map +1 -0
  102. package/dist/contracts/release_cover_art/release_cover_art.js +168 -0
  103. package/dist/contracts/release_cover_art/release_cover_art.js.map +1 -0
  104. package/dist/contracts/release_credits/deps/miso_credit/credit.d.ts +24 -0
  105. package/dist/contracts/release_credits/deps/miso_credit/credit.d.ts.map +1 -0
  106. package/dist/contracts/release_credits/deps/miso_credit/credit.js +23 -0
  107. package/dist/contracts/release_credits/deps/miso_credit/credit.js.map +1 -0
  108. package/dist/contracts/release_credits/deps/sui/vec_map.d.ts +37 -0
  109. package/dist/contracts/release_credits/deps/sui/vec_map.d.ts.map +1 -0
  110. package/dist/contracts/release_credits/deps/sui/vec_map.js +28 -0
  111. package/dist/contracts/release_credits/deps/sui/vec_map.js.map +1 -0
  112. package/dist/contracts/release_credits/release_credits.d.ts +142 -0
  113. package/dist/contracts/release_credits/release_credits.d.ts.map +1 -0
  114. package/dist/contracts/release_credits/release_credits.js +108 -0
  115. package/dist/contracts/release_credits/release_credits.js.map +1 -0
  116. package/dist/contracts/release_credits/release_party_role.d.ts +58 -0
  117. package/dist/contracts/release_credits/release_party_role.d.ts.map +1 -0
  118. package/dist/contracts/release_credits/release_party_role.js +66 -0
  119. package/dist/contracts/release_credits/release_party_role.js.map +1 -0
  120. package/dist/contracts/release_description/release_description.d.ts +112 -0
  121. package/dist/contracts/release_description/release_description.d.ts.map +1 -0
  122. package/dist/contracts/release_description/release_description.js +123 -0
  123. package/dist/contracts/release_description/release_description.js.map +1 -0
  124. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts +644 -0
  125. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts.map +1 -0
  126. package/dist/contracts/release_dsp_link/release_dsp_link.js +556 -0
  127. package/dist/contracts/release_dsp_link/release_dsp_link.js.map +1 -0
  128. package/dist/contracts/release_genre/deps/per_track/per_track.d.ts +33 -0
  129. package/dist/contracts/release_genre/deps/per_track/per_track.d.ts.map +1 -0
  130. package/dist/contracts/release_genre/deps/per_track/per_track.js +32 -0
  131. package/dist/contracts/release_genre/deps/per_track/per_track.js.map +1 -0
  132. package/dist/contracts/release_genre/release_genre.d.ts +193 -0
  133. package/dist/contracts/release_genre/release_genre.d.ts.map +1 -0
  134. package/dist/contracts/release_genre/release_genre.js +207 -0
  135. package/dist/contracts/release_genre/release_genre.js.map +1 -0
  136. package/dist/contracts/release_kind/release_kind.d.ts +98 -0
  137. package/dist/contracts/release_kind/release_kind.d.ts.map +1 -0
  138. package/dist/contracts/release_kind/release_kind.js +109 -0
  139. package/dist/contracts/release_kind/release_kind.js.map +1 -0
  140. package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.d.ts +52 -0
  141. package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.d.ts.map +1 -0
  142. package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.js +37 -0
  143. package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.js.map +1 -0
  144. package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.d.ts +91 -0
  145. package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.d.ts.map +1 -0
  146. package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.js +91 -0
  147. package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.js.map +1 -0
  148. package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts +54 -0
  149. package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts.map +1 -0
  150. package/dist/contracts/routed_stake/deps/royalty_pool/stake.js +37 -0
  151. package/dist/contracts/routed_stake/deps/royalty_pool/stake.js.map +1 -0
  152. package/dist/contracts/routed_stake/deps/std/type_name.d.ts +18 -0
  153. package/dist/contracts/routed_stake/deps/std/type_name.d.ts.map +1 -0
  154. package/dist/contracts/routed_stake/deps/std/type_name.js +20 -0
  155. package/dist/contracts/routed_stake/deps/std/type_name.js.map +1 -0
  156. package/dist/contracts/routed_stake/deps/sui/balance.d.ts +13 -0
  157. package/dist/contracts/routed_stake/deps/sui/balance.d.ts.map +1 -0
  158. package/dist/contracts/routed_stake/deps/sui/balance.js +15 -0
  159. package/dist/contracts/routed_stake/deps/sui/balance.js.map +1 -0
  160. package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts +37 -0
  161. package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts.map +1 -0
  162. package/dist/contracts/routed_stake/deps/sui/vec_map.js +28 -0
  163. package/dist/contracts/routed_stake/deps/sui/vec_map.js.map +1 -0
  164. package/dist/contracts/routed_stake/routed_stake.d.ts +356 -0
  165. package/dist/contracts/routed_stake/routed_stake.d.ts.map +1 -0
  166. package/dist/contracts/routed_stake/routed_stake.js +311 -0
  167. package/dist/contracts/routed_stake/routed_stake.js.map +1 -0
  168. package/dist/contracts/royalty_pool/deps/std/type_name.d.ts +18 -0
  169. package/dist/contracts/royalty_pool/deps/std/type_name.d.ts.map +1 -0
  170. package/dist/contracts/royalty_pool/deps/std/type_name.js +20 -0
  171. package/dist/contracts/royalty_pool/deps/std/type_name.js.map +1 -0
  172. package/dist/contracts/royalty_pool/deps/sui/balance.d.ts +13 -0
  173. package/dist/contracts/royalty_pool/deps/sui/balance.d.ts.map +1 -0
  174. package/dist/contracts/royalty_pool/deps/sui/balance.js +15 -0
  175. package/dist/contracts/royalty_pool/deps/sui/balance.js.map +1 -0
  176. package/dist/contracts/royalty_pool/deps/sui/vec_map.d.ts +37 -0
  177. package/dist/contracts/royalty_pool/deps/sui/vec_map.d.ts.map +1 -0
  178. package/dist/contracts/royalty_pool/deps/sui/vec_map.js +28 -0
  179. package/dist/contracts/royalty_pool/deps/sui/vec_map.js.map +1 -0
  180. package/dist/contracts/royalty_pool/pool.d.ts +394 -0
  181. package/dist/contracts/royalty_pool/pool.d.ts.map +1 -0
  182. package/dist/contracts/royalty_pool/pool.js +387 -0
  183. package/dist/contracts/royalty_pool/pool.js.map +1 -0
  184. package/dist/contracts/royalty_pool/stake.d.ts +202 -0
  185. package/dist/contracts/royalty_pool/stake.d.ts.map +1 -0
  186. package/dist/contracts/royalty_pool/stake.js +197 -0
  187. package/dist/contracts/royalty_pool/stake.js.map +1 -0
  188. package/dist/contracts.d.ts +37 -3
  189. package/dist/contracts.d.ts.map +1 -1
  190. package/dist/contracts.js +42 -8
  191. package/dist/contracts.js.map +1 -1
  192. package/dist/deployments.d.ts +46 -12
  193. package/dist/deployments.d.ts.map +1 -1
  194. package/dist/deployments.js +119 -11
  195. package/dist/deployments.js.map +1 -1
  196. package/dist/events.d.ts +1081 -0
  197. package/dist/events.d.ts.map +1 -0
  198. package/dist/events.js +124 -0
  199. package/dist/events.js.map +1 -0
  200. package/dist/execute.d.ts.map +1 -1
  201. package/dist/execute.js +0 -4
  202. package/dist/execute.js.map +1 -1
  203. package/dist/index.d.ts +3 -0
  204. package/dist/index.d.ts.map +1 -1
  205. package/dist/index.js +6 -3
  206. package/dist/index.js.map +1 -1
  207. package/dist/internal.d.ts.map +1 -1
  208. package/dist/internal.js +2 -0
  209. package/dist/internal.js.map +1 -1
  210. package/dist/numeric.d.ts +5 -0
  211. package/dist/numeric.d.ts.map +1 -0
  212. package/dist/numeric.js +21 -0
  213. package/dist/numeric.js.map +1 -0
  214. package/dist/packages.d.ts +159 -0
  215. package/dist/packages.d.ts.map +1 -0
  216. package/dist/packages.js +179 -0
  217. package/dist/packages.js.map +1 -0
  218. package/dist/parsers.d.ts +5 -2
  219. package/dist/parsers.d.ts.map +1 -1
  220. package/dist/parsers.js +19 -7
  221. package/dist/parsers.js.map +1 -1
  222. package/dist/queries.d.ts +92 -0
  223. package/dist/queries.d.ts.map +1 -1
  224. package/dist/queries.js +132 -23
  225. package/dist/queries.js.map +1 -1
  226. package/dist/transactions.d.ts +96 -12
  227. package/dist/transactions.d.ts.map +1 -1
  228. package/dist/transactions.js +124 -14
  229. package/dist/transactions.js.map +1 -1
  230. package/dist/types.d.ts +35 -8
  231. package/dist/types.d.ts.map +1 -1
  232. package/dist/view.d.ts +6 -5
  233. package/dist/view.d.ts.map +1 -1
  234. package/dist/view.js +8 -2
  235. package/dist/view.js.map +1 -1
  236. package/package.json +14 -4
  237. package/src/client.ts +57 -25
  238. package/src/contracts/composition_credits/composition_credits.ts +169 -0
  239. package/src/contracts/composition_credits/composition_party_role.ts +189 -0
  240. package/src/contracts/composition_credits/deps/miso_credit/credit.ts +27 -0
  241. package/src/contracts/composition_credits/deps/sui/vec_map.ts +33 -0
  242. package/src/contracts/miso/composition.ts +24 -61
  243. package/src/contracts/miso/deps/bps/bps.ts +3 -3
  244. package/src/contracts/miso/recording.ts +69 -32
  245. package/src/contracts/miso/release.ts +103 -67
  246. package/src/contracts/miso/track.ts +56 -13
  247. package/src/contracts/recording_advisory/recording_advisory.ts +315 -0
  248. package/src/contracts/recording_credits/deps/miso_credit/credit.ts +27 -0
  249. package/src/contracts/recording_credits/deps/sui/vec_map.ts +33 -0
  250. package/src/contracts/recording_credits/deps/sui/vec_set.ts +21 -0
  251. package/src/contracts/recording_credits/recording_credits.ts +458 -0
  252. package/src/contracts/recording_credits/recording_party_role.ts +1041 -0
  253. package/src/contracts/recording_language/deps/language_code/language_code.ts +7 -0
  254. package/src/contracts/recording_language/recording_language.ts +237 -0
  255. package/src/contracts/recording_master_reference/deps/ori/walrus_data.ts +36 -0
  256. package/src/contracts/recording_master_reference/recording_master_reference.ts +181 -0
  257. package/src/contracts/recording_preview/deps/ori/walrus_data.ts +36 -0
  258. package/src/contracts/recording_preview/recording_preview.ts +154 -0
  259. package/src/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.ts +36 -0
  260. package/src/contracts/release_cover_art/deps/cover_art/cover_art.ts +23 -0
  261. package/src/contracts/release_cover_art/deps/per_track/per_track.ts +36 -0
  262. package/src/contracts/release_cover_art/release_cover_art.ts +251 -0
  263. package/src/contracts/release_credits/deps/miso_credit/credit.ts +27 -0
  264. package/src/contracts/release_credits/deps/sui/vec_map.ts +33 -0
  265. package/src/contracts/release_credits/release_credits.ts +156 -0
  266. package/src/contracts/release_credits/release_party_role.ts +87 -0
  267. package/src/contracts/release_description/release_description.ts +167 -0
  268. package/src/contracts/release_dsp_link/release_dsp_link.ts +813 -0
  269. package/src/contracts/release_genre/deps/per_track/per_track.ts +36 -0
  270. package/src/contracts/release_genre/release_genre.ts +314 -0
  271. package/src/contracts/release_kind/release_kind.ts +153 -0
  272. package/src/contracts/release_snapshot_bundle/deps/ori/walrus_data.ts +36 -0
  273. package/src/contracts/release_snapshot_bundle/release_snapshot_bundle.ts +124 -0
  274. package/src/contracts/routed_stake/deps/royalty_pool/stake.ts +39 -0
  275. package/src/contracts/routed_stake/deps/std/type_name.ts +22 -0
  276. package/src/contracts/routed_stake/deps/sui/balance.ts +17 -0
  277. package/src/contracts/routed_stake/deps/sui/vec_map.ts +33 -0
  278. package/src/contracts/routed_stake/routed_stake.ts +508 -0
  279. package/src/contracts/royalty_pool/deps/std/type_name.ts +22 -0
  280. package/src/contracts/royalty_pool/deps/sui/balance.ts +17 -0
  281. package/src/contracts/royalty_pool/deps/sui/vec_map.ts +33 -0
  282. package/src/contracts/royalty_pool/pool.ts +613 -0
  283. package/src/contracts/royalty_pool/stake.ts +317 -0
  284. package/src/contracts.ts +59 -6
  285. package/src/deployments.ts +160 -22
  286. package/src/events.ts +129 -0
  287. package/src/execute.ts +0 -4
  288. package/src/index.ts +6 -3
  289. package/src/internal.ts +2 -4
  290. package/src/numeric.ts +25 -0
  291. package/src/packages.ts +251 -0
  292. package/src/parsers.ts +32 -11
  293. package/src/queries.ts +227 -25
  294. package/src/transactions.ts +255 -23
  295. package/src/types.ts +37 -9
  296. package/src/view.ts +12 -6
package/README.md CHANGED
@@ -1,172 +1,229 @@
1
1
  # @misonetwork/sdk
2
2
 
3
- TypeScript SDK for the [Miso](https://github.com/misonetwork/protocol) protocol
4
- core on [Sui](https://sui.io). Bindings are regenerated from the local
5
- `misonetwork/protocol` Move source with `bun run codegen`.
3
+ TypeScript bindings, Core API queries, event decoders, and composable PTB
4
+ builders for the current Miso Move sources on Sui:
6
5
 
7
- Miso models compositions, recordings, releases, their rights, and royalties as
8
- Sui objects. This package provides core queries, PTB primitives, generated BCS
9
- bindings, event parsers, and a client extension. First-party policy and
10
- extension helpers live in [`@misofm/sdk`](https://github.com/misofm/sdk).
6
+ - core `miso`, including its canonical `release::ReleaseRegistry`;
7
+ - all first-party `protocol-extensions` packages;
8
+ - generic `royalty_pool` and `routed_stake` primitives.
9
+
10
+ The SDK does not publish packages, select gas, sign transactions, or request
11
+ faucet funds. Publishing is an operational step performed with the configured
12
+ `admin-cli` signer (Ledger or a securely supplied private key); this SDK is
13
+ updated only after the resulting package addresses are verified.
14
+
15
+ ## 0.8.0 release boundary
16
+
17
+ `0.8.0` is the coordinated breaking protocol SDK release consumed by
18
+ `@misofm/sdk@0.10.0`. Platform consumers install this package as a peer, so an
19
+ application owns one verified protocol SDK instance rather than accepting a
20
+ nested, stale protocol copy through the platform package.
11
21
 
12
22
  ## Installation
13
23
 
14
- ```bash
24
+ ```sh
15
25
  bun add @misonetwork/sdk @mysten/sui
16
26
  ```
17
27
 
18
- ## Client extension
28
+ The package is ESM-only and uses `@mysten/sui` v2 APIs.
19
29
 
20
- ```ts
21
- import { SuiGrpcClient } from "@mysten/sui/grpc";
22
- import { miso } from "@misonetwork/sdk";
30
+ ### Pre-publish Git-head workflow
23
31
 
24
- const client = new SuiGrpcClient({
25
- network: "testnet",
26
- baseUrl: "https://fullnode.testnet.sui.io:443",
27
- })
28
- .$extend(miso());
32
+ Before these versions are published, an application consuming the immutable Git
33
+ heads must let Bun run both source-package `prepare` scripts. Its root
34
+ `package.json` must include exactly these SDK entries in `trustedDependencies`:
29
35
 
30
- const recording = await client.miso.getRecordingById("0x...");
31
- const adminCapId = client.miso.deriveRecordingAdminCapId("0x...");
36
+ ```json
37
+ {
38
+ "trustedDependencies": ["@misonetwork/sdk", "@misofm/sdk"]
39
+ }
32
40
  ```
33
41
 
34
- Pass a `SuiGraphQLClient` as `graphqlClient` only for generic type discovery,
35
- such as `getCompositionByShareType` and `getRecordingByShareType`. ID reads and
36
- owned-cap queries use the Core API.
42
+ Then install both SDKs by their exact Git commit IDs at the application root.
43
+ Without those trusted entries, Bun blocks the source `prepare` scripts and the
44
+ Git packages have no `dist` artifact to import. This requirement is only for
45
+ the pre-publish source-Git workflow. Published npm packages and packed tarballs
46
+ already contain `dist`; install those normally, with this package satisfying
47
+ `@misofm/sdk`'s `^0.8.0` peer at the application root.
37
48
 
38
- The current Testnet package is bundled with the SDK and selected from the Sui
39
- client's network. Mainnet fails closed until this protocol ABI is deployed there;
40
- custom deployments can be supplied explicitly with `miso({ deployment })`.
49
+ ## Deployment manifests fail closed
41
50
 
42
- ## Data model
51
+ There are intentionally no bundled package IDs in this release. The previously
52
+ bundled Testnet core ID was removed because it does not prove compatibility with
53
+ the fresh source ABI. Calling `miso()` without a deployment therefore throws on
54
+ every network until a verified manifest is released.
43
55
 
44
- - `Composition`: the written work, with a share currency and royalty rate.
45
- - `Recording`: an audio performance of a composition, with its own share currency.
46
- - `Track`: a recording admin's consent to an exact target release ID and split.
47
- - `Release`: a flat ordered sequence of tracks. Disc/side grouping is extension
48
- presentation data, not core state.
49
-
50
- Core objects are built then published. Credits, cover art, royalty pools, and
51
- release coordination are extension-layer concerns in `@misofm/sdk`.
52
-
53
- ## Queries
54
-
55
- All client methods are also exported as standalone functions.
56
+ After the Ledger-backed publishes complete, copy the exact IDs from the publish
57
+ record into the one `MISO_DEPLOYMENTS.<network>` entry in
58
+ [`src/deployments.ts`](./src/deployments.ts). A manifest is complete by design:
56
59
 
57
60
  ```ts
58
- const release = await client.miso.getReleaseById("0x...");
59
- const caps = await client.miso.getOwnedReleaseAdminCaps(ownerAddress);
60
- const [recordingShare, compositionShare] = await getRecordingShareTypes(
61
- client,
62
- "0x...",
63
- );
61
+ import type { MisoDeployment } from "@misonetwork/sdk";
62
+
63
+ const deployment: MisoDeployment = {
64
+ miso: "0x…",
65
+ compositionCredits: "0x",
66
+ recordingAdvisory: "0x…",
67
+ recordingCredits: "0x…",
68
+ recordingLanguage: "0x…",
69
+ recordingMasterReference: "0x…",
70
+ recordingPreview: "0x…",
71
+ releaseCoverArt: "0x…",
72
+ releaseCredits: "0x…",
73
+ releaseDescription: "0x…",
74
+ releaseDspLink: "0x…",
75
+ releaseGenre: "0x…",
76
+ releaseKind: "0x…",
77
+ releaseSnapshotBundle: "0x…",
78
+ royaltyPool: "0x…",
79
+ routedStake: "0x…",
80
+ };
64
81
  ```
65
82
 
66
- Core object getters throw for a missing object. The exported `isNotFound(error)`
67
- helper distinguishes that condition from transport failures.
83
+ Do not substitute an address from an older source release. `assertMisoDeployment`
84
+ rejects partial manifests, making the follow-up address update mechanical and
85
+ reviewable.
68
86
 
69
- ## Transaction primitives
87
+ ## Client extension and generated calls
70
88
 
71
- The core exports these synchronous builders, each operating on the caller's
72
- `Transaction`:
89
+ Use a complete manifest to make every generated package call address-safe. The
90
+ generated wrappers accept typed Move arguments and append commands to a
91
+ caller-owned `Transaction`; they do not execute it.
73
92
 
74
- | Builder | Result |
75
- | --- | --- |
76
- | `createComposition(tx, params)` | `CompositionParts` |
77
- | `createRecording(tx, params)` | `RecordingParts` |
78
- | `createTrack(tx, params)` | `TransactionObjectArgument` |
93
+ ```ts
94
+ import { SuiGrpcClient } from "@mysten/sui/grpc";
95
+ import { Transaction } from "@mysten/sui/transactions";
96
+ import { miso, type MisoDeployment } from "@misonetwork/sdk";
79
97
 
80
- `createTrack` adds cap-gated `track::new`; it accepts either an on-chain
81
- `recordingAdminCapId` or a PTB-local `recordingAdminCap` result. A `Track` has
82
- `drop, store`, so leaving it unconsumed is valid. To create a release, collect
83
- tracks with `tx.makeMoveVec({ type: `${misoPackageId}::track::Track`, elements })`
84
- and call the extension's `release_registry::new_release` via `@misofm/sdk`.
98
+ declare const deployment: MisoDeployment;
99
+ declare const recordingId: string;
100
+ declare const recordingAdminCapId: string;
101
+ declare const recordingShareType: string;
102
+ declare const compositionShareType: string;
85
103
 
86
- ```ts
87
- import { createTrack } from "@misonetwork/sdk";
88
-
89
- const track = createTrack(tx, {
90
- recordingId: "0x...",
91
- recordingAdminCapId: "0x...",
92
- recordingShareType: "0x...::share::Share",
93
- compositionShareType: "0x...::share::Share",
94
- targetReleaseId: "0x...",
95
- trackSplitBps: 5000,
96
- misoPackageId,
97
- });
104
+ const client = new SuiGrpcClient({
105
+ network: "testnet",
106
+ baseUrl: "https://fullnode.testnet.sui.io:443",
107
+ }).$extend(miso({ deployment }));
108
+
109
+ const tx = new Transaction();
110
+ tx.add(
111
+ client.miso.packages.call.extensions.recordingAdvisory.unsetRating({
112
+ typeArguments: [recordingShareType, compositionShareType],
113
+ arguments: [tx.object(recordingId), tx.object(recordingAdminCapId)],
114
+ }),
115
+ );
98
116
  ```
99
117
 
100
- `createComposition` and `createRecording` return their by-value components so
101
- they can be composed in the same PTB. `recording::new` borrows its composition,
102
- so a fresh composition can be passed directly into `createRecording` before it
103
- is published.
118
+ `client.miso.call` remains the core-only compatibility surface. Use
119
+ `client.miso.packages.call` for core, extension, utility, and primitive calls
120
+ bound to the full manifest. The raw codegen surface mirrors public Move
121
+ functions; the package-bound call surface excludes return-by-reference views,
122
+ because a PTB command result cannot carry a reference. Read those values through
123
+ object or dynamic-field queries instead.
124
+
125
+ The `contracts` namespace exposes the same unbound generated modules and BCS
126
+ codecs for advanced callers. Its `@local-pkg/*` names are source labels, never
127
+ deployment addresses.
104
128
 
105
- ### Release IDs
129
+ ## PTB builders
106
130
 
107
- Release IDs are derived on chain by simulation. `parentId` is a pure object ID,
108
- not an object input—for example, the shared `ReleaseRegistry` owned by the
109
- extension package.
131
+ The hand-maintained builders cover the values that must remain inside the same
132
+ PTB and make their ownership explicit:
133
+
134
+ | Builder | Result / rule |
135
+ | --- | --- |
136
+ | `createComposition`, `createRecording` | Return object, admin cap, and share balance by value. |
137
+ | `createTrack` | Returns a `Track` for later release assembly. |
138
+ | `createRelease` | Calls core `release::new` with the shared registry as its first object argument; returns release and cap to publish. |
139
+ | `publishComposition`, `publishRecording`, `publishRelease` | Consume and share an initialized core object. |
140
+ | `createRoyaltyStake`, `destroyRoyaltyStake` | Convert a `Balance<Share>` to/from a stake; each non-drop result must be registered, destroyed, or transferred in that PTB. |
141
+ | `registerRoyaltyStake`, `claimRoyaltyRewards` | Operate against a shared royalty pool; claimed balance must be consumed. |
142
+ | `sweepRoutedStake` | Permissionlessly routes accrued rewards into the parent pool. |
143
+
144
+ Some generic functions intentionally have no standalone PTB helper: creating a
145
+ royalty pool or a routed stake requires a parent module's `&mut UID`. Those
146
+ operations belong in a cap-gated parent/authority Move module. Vault custody
147
+ and authority plugins are intentionally owned by `@misofm/sdk`; their `entry`
148
+ functions still compose as normal commands in a multi-command PTB.
149
+
150
+ For example, create and publish a release entirely in one transaction:
110
151
 
111
152
  ```ts
112
- const targetReleaseId = await client.miso.view.deriveTargetReleaseId({
113
- sender: ownerAddress,
114
- recordingIds: ["0x...", "0x..."],
115
- splitBps: [5000, 5000],
116
- nonce: "42",
117
- parentId: releaseRegistryId,
153
+ const release = createRelease(tx, {
154
+ releaseRegistryId,
155
+ title: "Release title",
156
+ tracks: [track],
157
+ nonce: 42n,
158
+ misoPackageId: deployment.miso,
159
+ });
160
+ publishRelease(tx, {
161
+ release: release.release,
162
+ adminCap: release.adminCap,
163
+ misoPackageId: deployment.miso,
118
164
  });
119
165
  ```
120
166
 
121
- Generated `contracts.release._new` is intentionally exposed because codegen
122
- mirrors the ABI, but it is not PTB-callable: its final parameter is `&mut UID`.
123
- Release construction therefore belongs in `@misofm/sdk`, whose
124
- `release_registry::new_release` already owns that UID.
125
-
126
- ### Generated bindings
167
+ ## Queries and events
127
168
 
128
- `contracts` and `client.miso.call` expose generated `composition`, `recording`,
129
- `release`, and `track` modules. Do not edit `src/contracts/`; run `bun run
130
- codegen` after updating protocol source.
169
+ Core reads use the transport-neutral `ClientWithCoreApi` and BCS object content:
131
170
 
132
171
  ```ts
133
- tx.add(client.miso.call.track._new({
134
- typeArguments: [recordingShareType, compositionShareType],
135
- arguments: [adminCap, tx.object(recordingId), tx.pure.id(targetReleaseId), tx.pure.u16(5000)],
136
- }));
172
+ const release = await client.miso.getReleaseById(releaseId);
173
+ const pool = await getRoyaltyPoolById(client, poolId);
174
+ const routedStake = await getRoutedStakeById(client, routedStakeId);
137
175
  ```
138
176
 
139
- ## Event parsers
140
-
141
- Core emits only publish/royalty events. Parse them with
142
- `client.miso.parse.compositionPublishedEvent`,
143
- `compositionRoyaltySetEvent`, `recordingPublishedEvent`, and
144
- `releasePublishedEvent`. Track creation has no core event; pre-publish
145
- observability is an extension concern.
177
+ `getExtensionField` reads optional fieldless-key extension data from a core
178
+ object's UID. Supply the fresh extension package ID, module name, and generated
179
+ value codec; an absent field returns `null` while RPC failures still throw.
180
+ `release_dsp_link` is intentionally different: use `getReleaseDspLink` and
181
+ `getTrackDspLinks`, which query `ReleaseLinkKey(platform)` and
182
+ `TrackLinksKey(platform)` rather than `ExtensionKey`.
183
+
184
+ `eventParsers` decodes the raw BCS payloads for the core registry, every current
185
+ extension, `royalty_pool`, and `routed_stake` event. The legacy
186
+ camel-case helpers remain available as
187
+ `parseCompositionPublishedEvent`, `parseRecordingPublishedEvent`,
188
+ `parseCompositionSharesGrantedEvent`, `parseReleasePublishedEvent`, and
189
+ `parseReleaseRegistryCreatedEvent`.
190
+
191
+ ## Regenerating bindings
192
+
193
+ The source checkout layout is expected to be:
194
+
195
+ ```text
196
+ misonetwork/
197
+ sdk/
198
+ protocol/
199
+ protocol-extensions/
200
+ royalty-pool/
201
+ routed-stake/
202
+ ```
146
203
 
147
- ## 0.4.0 → 0.5.0 migration
204
+ Run:
148
205
 
149
- | Previous API | 0.5.0 |
150
- | --- | --- |
151
- | `createDeal` | `createTrack`; use `targetReleaseId` rather than `releaseId` |
152
- | `rejectDeal`, `getDealById`, Deal event parsers/types, `contracts.deal` | removed; offer/withdrawal policy is extension-layer |
153
- | `createRelease` | removed; use `@misofm/sdk` `release_registry::new_release` |
154
- | `deriveReleaseId({ releaseRegistryId })` | `deriveTargetReleaseId({ parentId })`; the parent is pure |
155
- | `getReleaseRegistry`, `MisoOptions.releaseRegistryId` | removed; extension registry is a different package type |
156
- | `client.miso.tx` | removed; no core thunk builders remain |
157
- | deployed disc-shaped release fallback | removed; reads parse only canonical flat `Release.tracks` |
206
+ ```sh
207
+ bun run codegen
208
+ bun run codegen:check
209
+ bun run typecheck
210
+ bun test
211
+ bun run build
212
+ ```
158
213
 
159
- Update `@misofm/sdk` in the same release window: it owns release-registry
160
- bindings and the callable release-construction flow.
214
+ `bun run codegen` creates each Move summary in a temporary directory, then
215
+ updates only `src/contracts/`; it does not write `package_summaries/` into any
216
+ sibling source worktree. When testing an isolated SDK copy, set
217
+ `MISO_SDK_CODEGEN_SOURCE_ROOT` to the SDK checkout whose sibling Move sources
218
+ should be read.
161
219
 
162
- ## Derived admin caps
220
+ ## Legacy compatibility
163
221
 
164
- | Function | Parent |
165
- | --- | --- |
166
- | `deriveCompositionAdminCapId` | Composition |
167
- | `deriveRecordingAdminCapId` | Recording |
168
- | `deriveReleaseAdminCapId` | Release |
222
+ `miso({ misoPackageId })` and `MisoProtocolDeployment` remain available for a
223
+ core-only caller that supplies its own verified package address. The deprecated
224
+ `MISO_PROTOCOL_DEPLOYMENTS` name is an empty alias of `MISO_DEPLOYMENTS`; it
225
+ does not retain the removed address map.
169
226
 
170
227
  ## License
171
228
 
172
- Apache-2.0
229
+ [Apache-2.0](./LICENSE)