@misofm/sdk 0.9.0 → 0.11.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 (265) hide show
  1. package/README.md +88 -56
  2. package/dist/client.d.ts +121 -18
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +200 -44
  5. package/dist/client.js.map +1 -1
  6. package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts +205 -0
  7. package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts.map +1 -0
  8. package/dist/contracts/composition_routed_stake/composition_routed_stake.js +184 -0
  9. package/dist/contracts/composition_routed_stake/composition_routed_stake.js.map +1 -0
  10. package/dist/contracts/composition_routed_stake/witness.d.ts +7 -0
  11. package/dist/contracts/composition_routed_stake/witness.d.ts.map +1 -0
  12. package/dist/contracts/composition_routed_stake/witness.js +9 -0
  13. package/dist/contracts/composition_routed_stake/witness.js.map +1 -0
  14. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts +89 -28
  15. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts.map +1 -1
  16. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js +84 -23
  17. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js.map +1 -1
  18. package/dist/contracts/composition_royalty_pool/witness.d.ts +6 -0
  19. package/dist/contracts/composition_royalty_pool/witness.d.ts.map +1 -0
  20. package/dist/contracts/composition_royalty_pool/witness.js +8 -0
  21. package/dist/contracts/composition_royalty_pool/witness.js.map +1 -0
  22. package/dist/contracts/genre/genre.d.ts +96 -0
  23. package/dist/contracts/genre/genre.d.ts.map +1 -0
  24. package/dist/contracts/genre/genre.js +107 -0
  25. package/dist/contracts/genre/genre.js.map +1 -0
  26. package/dist/contracts/recording_advisory/recording_advisory.d.ts +194 -0
  27. package/dist/contracts/recording_advisory/recording_advisory.d.ts.map +1 -0
  28. package/dist/contracts/recording_advisory/recording_advisory.js +204 -0
  29. package/dist/contracts/recording_advisory/recording_advisory.js.map +1 -0
  30. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts +6 -0
  31. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts.map +1 -0
  32. package/dist/contracts/recording_language/deps/language_code/language_code.js +8 -0
  33. package/dist/contracts/recording_language/deps/language_code/language_code.js.map +1 -0
  34. package/dist/contracts/recording_language/recording_language.d.ts +152 -0
  35. package/dist/contracts/recording_language/recording_language.d.ts.map +1 -0
  36. package/dist/contracts/recording_language/recording_language.js +149 -0
  37. package/dist/contracts/recording_language/recording_language.js.map +1 -0
  38. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.d.ts +52 -0
  39. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.d.ts.map +1 -0
  40. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.js +37 -0
  41. package/dist/contracts/recording_master_reference/deps/ori/walrus_data.js.map +1 -0
  42. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts +131 -0
  43. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts.map +1 -0
  44. package/dist/contracts/recording_master_reference/recording_master_reference.js +121 -0
  45. package/dist/contracts/recording_master_reference/recording_master_reference.js.map +1 -0
  46. package/dist/contracts/recording_preview/deps/ori/walrus_data.d.ts +52 -0
  47. package/dist/contracts/recording_preview/deps/ori/walrus_data.d.ts.map +1 -0
  48. package/dist/contracts/recording_preview/deps/ori/walrus_data.js +37 -0
  49. package/dist/contracts/recording_preview/deps/ori/walrus_data.js.map +1 -0
  50. package/dist/contracts/recording_preview/recording_preview.d.ts +104 -0
  51. package/dist/contracts/recording_preview/recording_preview.d.ts.map +1 -0
  52. package/dist/contracts/recording_preview/recording_preview.js +94 -0
  53. package/dist/contracts/recording_preview/recording_preview.js.map +1 -0
  54. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts +90 -28
  55. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts.map +1 -1
  56. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js +84 -23
  57. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js.map +1 -1
  58. package/dist/contracts/recording_royalty_pool/witness.d.ts +6 -0
  59. package/dist/contracts/recording_royalty_pool/witness.d.ts.map +1 -0
  60. package/dist/contracts/recording_royalty_pool/witness.js +8 -0
  61. package/dist/contracts/recording_royalty_pool/witness.js.map +1 -0
  62. package/dist/contracts/release_description/release_description.d.ts +112 -0
  63. package/dist/contracts/release_description/release_description.d.ts.map +1 -0
  64. package/dist/contracts/release_description/release_description.js +123 -0
  65. package/dist/contracts/release_description/release_description.js.map +1 -0
  66. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts +644 -0
  67. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts.map +1 -0
  68. package/dist/contracts/release_dsp_link/release_dsp_link.js +556 -0
  69. package/dist/contracts/release_dsp_link/release_dsp_link.js.map +1 -0
  70. package/dist/contracts/release_genre/deps/per_track/per_track.d.ts +33 -0
  71. package/dist/contracts/release_genre/deps/per_track/per_track.d.ts.map +1 -0
  72. package/dist/contracts/release_genre/deps/per_track/per_track.js +32 -0
  73. package/dist/contracts/release_genre/deps/per_track/per_track.js.map +1 -0
  74. package/dist/contracts/release_genre/release_genre.d.ts +193 -0
  75. package/dist/contracts/release_genre/release_genre.d.ts.map +1 -0
  76. package/dist/contracts/release_genre/release_genre.js +207 -0
  77. package/dist/contracts/release_genre/release_genre.js.map +1 -0
  78. package/dist/contracts/release_kind/release_kind.d.ts +98 -0
  79. package/dist/contracts/release_kind/release_kind.d.ts.map +1 -0
  80. package/dist/contracts/release_kind/release_kind.js +109 -0
  81. package/dist/contracts/release_kind/release_kind.js.map +1 -0
  82. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts +106 -0
  83. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts.map +1 -0
  84. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js +113 -0
  85. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js.map +1 -0
  86. package/dist/contracts/release_revenue_distributor/witness.d.ts +7 -0
  87. package/dist/contracts/release_revenue_distributor/witness.d.ts.map +1 -0
  88. package/dist/contracts/release_revenue_distributor/witness.js +9 -0
  89. package/dist/contracts/release_revenue_distributor/witness.js.map +1 -0
  90. package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts +54 -0
  91. package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts.map +1 -0
  92. package/dist/contracts/routed_stake/deps/royalty_pool/stake.js +37 -0
  93. package/dist/contracts/routed_stake/deps/royalty_pool/stake.js.map +1 -0
  94. package/dist/contracts/routed_stake/deps/std/type_name.d.ts +18 -0
  95. package/dist/contracts/routed_stake/deps/std/type_name.d.ts.map +1 -0
  96. package/dist/contracts/routed_stake/deps/std/type_name.js +20 -0
  97. package/dist/contracts/routed_stake/deps/std/type_name.js.map +1 -0
  98. package/dist/contracts/routed_stake/deps/sui/balance.d.ts +13 -0
  99. package/dist/contracts/routed_stake/deps/sui/balance.d.ts.map +1 -0
  100. package/dist/contracts/routed_stake/deps/sui/balance.js +15 -0
  101. package/dist/contracts/routed_stake/deps/sui/balance.js.map +1 -0
  102. package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts +37 -0
  103. package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts.map +1 -0
  104. package/dist/contracts/routed_stake/deps/sui/vec_map.js +28 -0
  105. package/dist/contracts/routed_stake/deps/sui/vec_map.js.map +1 -0
  106. package/dist/contracts/routed_stake/routed_stake.d.ts +356 -0
  107. package/dist/contracts/routed_stake/routed_stake.d.ts.map +1 -0
  108. package/dist/contracts/routed_stake/routed_stake.js +311 -0
  109. package/dist/contracts/routed_stake/routed_stake.js.map +1 -0
  110. package/dist/contracts/royalty_pool/pool.d.ts +27 -17
  111. package/dist/contracts/royalty_pool/pool.d.ts.map +1 -1
  112. package/dist/contracts/royalty_pool/pool.js +26 -17
  113. package/dist/contracts/royalty_pool/pool.js.map +1 -1
  114. package/dist/contracts/vault/deps/sui/bag.d.ts +35 -0
  115. package/dist/contracts/vault/deps/sui/bag.d.ts.map +1 -0
  116. package/dist/contracts/vault/deps/sui/bag.js +37 -0
  117. package/dist/contracts/vault/deps/sui/bag.js.map +1 -0
  118. package/dist/contracts/vault/deps/sui/borrow.d.ts +20 -0
  119. package/dist/contracts/vault/deps/sui/borrow.d.ts.map +1 -0
  120. package/dist/contracts/vault/deps/sui/borrow.js +21 -0
  121. package/dist/contracts/vault/deps/sui/borrow.js.map +1 -0
  122. package/dist/contracts/vault/vault.d.ts +276 -0
  123. package/dist/contracts/vault/vault.d.ts.map +1 -0
  124. package/dist/contracts/vault/vault.js +274 -0
  125. package/dist/contracts/vault/vault.js.map +1 -0
  126. package/dist/contracts.d.ts +13 -2
  127. package/dist/contracts.d.ts.map +1 -1
  128. package/dist/contracts.js +15 -7
  129. package/dist/contracts.js.map +1 -1
  130. package/dist/cover.d.ts +17 -3
  131. package/dist/cover.d.ts.map +1 -1
  132. package/dist/cover.js +43 -20
  133. package/dist/cover.js.map +1 -1
  134. package/dist/credits.d.ts +31 -12
  135. package/dist/credits.d.ts.map +1 -1
  136. package/dist/credits.js +41 -25
  137. package/dist/credits.js.map +1 -1
  138. package/dist/deployments.d.ts +30 -57
  139. package/dist/deployments.d.ts.map +1 -1
  140. package/dist/deployments.js +5 -53
  141. package/dist/deployments.js.map +1 -1
  142. package/dist/index.d.ts +4 -2
  143. package/dist/index.d.ts.map +1 -1
  144. package/dist/index.js +6 -5
  145. package/dist/index.js.map +1 -1
  146. package/dist/pressing.d.ts +8 -7
  147. package/dist/pressing.d.ts.map +1 -1
  148. package/dist/pressing.js +91 -32
  149. package/dist/pressing.js.map +1 -1
  150. package/dist/read/artist.js +3 -3
  151. package/dist/read/artist.js.map +1 -1
  152. package/dist/read/catalog.d.ts +14 -9
  153. package/dist/read/catalog.d.ts.map +1 -1
  154. package/dist/read/catalog.js +71 -37
  155. package/dist/read/catalog.js.map +1 -1
  156. package/dist/read/client.d.ts +4 -2
  157. package/dist/read/client.d.ts.map +1 -1
  158. package/dist/read/client.js +15 -4
  159. package/dist/read/client.js.map +1 -1
  160. package/dist/read/config.d.ts +14 -11
  161. package/dist/read/config.d.ts.map +1 -1
  162. package/dist/read/config.js +10 -37
  163. package/dist/read/config.js.map +1 -1
  164. package/dist/read/index.d.ts +2 -2
  165. package/dist/read/index.d.ts.map +1 -1
  166. package/dist/read/index.js +1 -1
  167. package/dist/read/index.js.map +1 -1
  168. package/dist/read/receipts.d.ts +24 -7
  169. package/dist/read/receipts.d.ts.map +1 -1
  170. package/dist/read/receipts.js +78 -25
  171. package/dist/read/receipts.js.map +1 -1
  172. package/dist/read/types.d.ts +43 -25
  173. package/dist/read/types.d.ts.map +1 -1
  174. package/dist/read/types.js +2 -2
  175. package/dist/read/types.js.map +1 -1
  176. package/dist/recording-extensions.d.ts +37 -0
  177. package/dist/recording-extensions.d.ts.map +1 -0
  178. package/dist/recording-extensions.js +61 -0
  179. package/dist/recording-extensions.js.map +1 -0
  180. package/dist/release-extensions.d.ts +84 -0
  181. package/dist/release-extensions.d.ts.map +1 -0
  182. package/dist/release-extensions.js +160 -0
  183. package/dist/release-extensions.js.map +1 -0
  184. package/dist/release-graph.d.ts +17 -26
  185. package/dist/release-graph.d.ts.map +1 -1
  186. package/dist/release-graph.js +55 -49
  187. package/dist/release-graph.js.map +1 -1
  188. package/dist/transactions.d.ts +43 -24
  189. package/dist/transactions.d.ts.map +1 -1
  190. package/dist/transactions.js +48 -27
  191. package/dist/transactions.js.map +1 -1
  192. package/dist/vault.d.ts +268 -0
  193. package/dist/vault.d.ts.map +1 -0
  194. package/dist/vault.js +389 -0
  195. package/dist/vault.js.map +1 -0
  196. package/package.json +17 -11
  197. package/src/client.ts +399 -61
  198. package/src/contracts/composition_routed_stake/composition_routed_stake.ts +346 -0
  199. package/src/contracts/composition_routed_stake/witness.ts +11 -0
  200. package/src/contracts/composition_royalty_pool/composition_royalty_pool.ts +151 -35
  201. package/src/contracts/composition_royalty_pool/witness.ts +7 -0
  202. package/src/contracts/genre/genre.ts +151 -0
  203. package/src/contracts/recording_advisory/recording_advisory.ts +315 -0
  204. package/src/contracts/recording_language/deps/language_code/language_code.ts +7 -0
  205. package/src/contracts/recording_language/recording_language.ts +237 -0
  206. package/src/contracts/recording_master_reference/deps/ori/walrus_data.ts +36 -0
  207. package/src/contracts/recording_master_reference/recording_master_reference.ts +181 -0
  208. package/src/contracts/recording_preview/deps/ori/walrus_data.ts +36 -0
  209. package/src/contracts/recording_preview/recording_preview.ts +154 -0
  210. package/src/contracts/recording_royalty_pool/recording_royalty_pool.ts +152 -35
  211. package/src/contracts/recording_royalty_pool/witness.ts +7 -0
  212. package/src/contracts/release_description/release_description.ts +167 -0
  213. package/src/contracts/release_dsp_link/release_dsp_link.ts +813 -0
  214. package/src/contracts/release_genre/deps/per_track/per_track.ts +36 -0
  215. package/src/contracts/release_genre/release_genre.ts +314 -0
  216. package/src/contracts/release_kind/release_kind.ts +153 -0
  217. package/src/contracts/release_revenue_distributor/release_revenue_distributor.ts +178 -0
  218. package/src/contracts/release_revenue_distributor/witness.ts +11 -0
  219. package/src/contracts/routed_stake/deps/royalty_pool/stake.ts +39 -0
  220. package/src/contracts/routed_stake/deps/std/type_name.ts +22 -0
  221. package/src/contracts/routed_stake/deps/sui/balance.ts +17 -0
  222. package/src/contracts/routed_stake/deps/sui/vec_map.ts +33 -0
  223. package/src/contracts/routed_stake/routed_stake.ts +508 -0
  224. package/src/contracts/royalty_pool/pool.ts +34 -24
  225. package/src/contracts/vault/deps/sui/bag.ts +39 -0
  226. package/src/contracts/vault/deps/sui/borrow.ts +25 -0
  227. package/src/contracts/vault/vault.ts +454 -0
  228. package/src/contracts.ts +16 -9
  229. package/src/cover.ts +62 -37
  230. package/src/credits.ts +64 -51
  231. package/src/deployments.ts +35 -97
  232. package/src/index.ts +11 -5
  233. package/src/pressing.ts +135 -39
  234. package/src/read/artist.ts +3 -3
  235. package/src/read/catalog.ts +99 -44
  236. package/src/read/client.ts +20 -4
  237. package/src/read/config.ts +23 -49
  238. package/src/read/index.ts +3 -1
  239. package/src/read/receipts.ts +103 -26
  240. package/src/read/types.ts +44 -27
  241. package/src/recording-extensions.ts +102 -0
  242. package/src/release-extensions.ts +261 -0
  243. package/src/release-graph.ts +68 -81
  244. package/src/transactions.ts +79 -53
  245. package/src/vault.ts +777 -0
  246. package/dist/contracts/miso_drop/drop.d.ts +0 -550
  247. package/dist/contracts/miso_drop/drop.d.ts.map +0 -1
  248. package/dist/contracts/miso_drop/drop.js +0 -523
  249. package/dist/contracts/miso_drop/drop.js.map +0 -1
  250. package/dist/contracts/release_registry/release_registry.d.ts +0 -114
  251. package/dist/contracts/release_registry/release_registry.d.ts.map +0 -1
  252. package/dist/contracts/release_registry/release_registry.js +0 -119
  253. package/dist/contracts/release_registry/release_registry.js.map +0 -1
  254. package/dist/drop.d.ts +0 -127
  255. package/dist/drop.d.ts.map +0 -1
  256. package/dist/drop.js +0 -202
  257. package/dist/drop.js.map +0 -1
  258. package/dist/extensions/royalty-pool.d.ts +0 -32
  259. package/dist/extensions/royalty-pool.d.ts.map +0 -1
  260. package/dist/extensions/royalty-pool.js +0 -33
  261. package/dist/extensions/royalty-pool.js.map +0 -1
  262. package/src/contracts/miso_drop/drop.ts +0 -798
  263. package/src/contracts/release_registry/release_registry.ts +0 -160
  264. package/src/drop.ts +0 -376
  265. package/src/extensions/royalty-pool.ts +0 -90
@@ -1,13 +1,35 @@
1
1
  import { Transaction, type TransactionObjectArgument } from "@mysten/sui/transactions";
2
2
  import { type CompositionParts, type RecordingParts, type ShareCurrencyBinding, type TxThunk } from "@misonetwork/sdk";
3
+ import { type AdminCapAuthority, type AdminCapCustody, type U64Input } from "./vault.ts";
3
4
  interface ReleaseParts {
4
5
  release: TransactionObjectArgument;
5
6
  adminCap: TransactionObjectArgument;
6
7
  }
7
8
  export type { TxThunk };
9
+ /** New custody is explicit; the legacy address shape remains mutually exclusive. */
10
+ export type AdminCustodyInput = {
11
+ readonly adminCustody: AdminCapCustody;
12
+ readonly adminAddress?: never;
13
+ } | {
14
+ readonly adminCustody?: never;
15
+ readonly adminAddress: string;
16
+ };
17
+ export type RecordingAuthorityInput = {
18
+ readonly recordingAuthority: AdminCapAuthority;
19
+ readonly recordingAdminCapId?: never;
20
+ } | {
21
+ readonly recordingAuthority?: never;
22
+ readonly recordingAdminCapId: string;
23
+ };
24
+ export declare function custodyOf(input: AdminCustodyInput): AdminCapCustody;
25
+ export declare function recordingAuthorityOf(input: RecordingAuthorityInput): AdminCapAuthority;
26
+ /** Reject a malformed multi-result command before it becomes a PTB argument. */
27
+ export declare function requiredCommandResult<T>(result: {
28
+ readonly [index: number]: T | undefined;
29
+ }, index: number, command: string): T;
8
30
  export interface ShareRecipient {
9
31
  address: string;
10
- value: number;
32
+ value: U64Input;
11
33
  }
12
34
  /**
13
35
  * Splits a share `Balance` across `recipients` via `minato::disperse_balance`, then
@@ -29,14 +51,14 @@ export interface InitializeShareCurrencyParams {
29
51
  treasuryCapRecipient: string;
30
52
  }
31
53
  export declare function initializeShareCurrency(params: InitializeShareCurrencyParams): TxThunk;
32
- export interface FinalizeCompositionParams extends CompositionParts {
54
+ interface FinalizeCompositionParamsBase extends CompositionParts {
33
55
  /** The composition's `share::Share` type. */
34
56
  shareType: string;
35
57
  shareRecipients: ShareRecipient[];
36
- adminAddress: string;
37
58
  misoPackageId: string;
38
59
  minatoPackageId: string;
39
60
  }
61
+ export type FinalizeCompositionParams = FinalizeCompositionParamsBase & AdminCustodyInput;
40
62
  /**
41
63
  * The opinionated finish for a composition: disperse its share supply to
42
64
  * `shareRecipients`, publish (share) it, and transfer its admin cap to
@@ -44,34 +66,33 @@ export interface FinalizeCompositionParams extends CompositionParts {
44
66
  * the `CompositionParts` from `@misonetwork/sdk`'s `createComposition` directly.
45
67
  */
46
68
  export declare function finalizeComposition(tx: Transaction, params: FinalizeCompositionParams): void;
47
- export interface PublishCompositionParams extends ShareCurrencyBinding {
69
+ interface PublishCompositionParamsBase extends ShareCurrencyBinding {
48
70
  title: string;
49
71
  royaltyRateBps: number;
50
72
  shareRecipients: ShareRecipient[];
51
- /** Sole owner of the shares + CompositionAdminCap (the zkLogin address). */
52
- adminAddress: string;
53
73
  misoPackageId: string;
54
74
  minatoPackageId: string;
55
75
  }
76
+ export type PublishCompositionParams = PublishCompositionParamsBase & AdminCustodyInput;
56
77
  /** Convenience: publish a composition end-to-end (createComposition → finalizeComposition). */
57
78
  export declare function publishComposition(params: PublishCompositionParams): TxThunk;
58
- export interface FinalizeRecordingParams extends RecordingParts {
79
+ interface FinalizeRecordingParamsBase extends RecordingParts {
59
80
  /** The recording's own `share::Share` type. */
60
81
  recordingShareType: string;
61
82
  /** Share type of the parent composition. */
62
83
  compositionShareType: string;
63
84
  shareRecipients: ShareRecipient[];
64
- adminAddress: string;
65
85
  misoPackageId: string;
66
86
  minatoPackageId: string;
67
87
  }
88
+ export type FinalizeRecordingParams = FinalizeRecordingParamsBase & AdminCustodyInput;
68
89
  /**
69
90
  * The opinionated finish for a recording: publish (share) it, disperse its
70
91
  * share supply, and transfer its admin cap to `adminAddress`. A recording has
71
92
  * no embedded metadata to set — naming lives in the metadata extension.
72
93
  */
73
94
  export declare function finalizeRecording(tx: Transaction, params: FinalizeRecordingParams): void;
74
- export interface PublishRecordingParams extends ShareCurrencyBinding {
95
+ interface PublishRecordingParamsBase extends ShareCurrencyBinding {
75
96
  /**
76
97
  * Parent composition, referenced as an on-chain object. Read-only at
77
98
  * `recording::new` (only its royalty rate and id are read).
@@ -80,10 +101,10 @@ export interface PublishRecordingParams extends ShareCurrencyBinding {
80
101
  /** Share type of the parent composition (the recording's `CompositionShare` phantom). */
81
102
  compositionShareType: string;
82
103
  shareRecipients: ShareRecipient[];
83
- adminAddress: string;
84
104
  misoPackageId: string;
85
105
  minatoPackageId: string;
86
106
  }
107
+ export type PublishRecordingParams = PublishRecordingParamsBase & AdminCustodyInput;
87
108
  /** Convenience: publish a recording against an already-on-chain composition. */
88
109
  export declare function publishRecording(params: PublishRecordingParams): TxThunk;
89
110
  export interface PublishCompositionAndRecordingParams {
@@ -92,13 +113,11 @@ export interface PublishCompositionAndRecordingParams {
92
113
  /** Share-currency binding for the composition. */
93
114
  composition: ShareCurrencyBinding & {
94
115
  shareRecipients: ShareRecipient[];
95
- adminAddress: string;
96
- };
116
+ } & AdminCustodyInput;
97
117
  /** Share-currency binding for the recording. */
98
118
  recording: ShareCurrencyBinding & {
99
119
  shareRecipients: ShareRecipient[];
100
- adminAddress: string;
101
- };
120
+ } & AdminCustodyInput;
102
121
  misoPackageId: string;
103
122
  minatoPackageId: string;
104
123
  }
@@ -113,16 +132,16 @@ export interface PublishCompositionAndRecordingParams {
113
132
  * finalize recording (publish).
114
133
  */
115
134
  export declare function publishCompositionAndRecording(params: PublishCompositionAndRecordingParams): TxThunk;
116
- export interface FinalizeReleaseParams extends ReleaseParts {
117
- /** Recipient of the `ReleaseAdminCap`. */
118
- adminAddress: string;
135
+ interface FinalizeReleaseParamsBase extends ReleaseParts {
136
+ /** Explicit direct delivery or Vault custody for the ReleaseAdminCap. */
119
137
  misoPackageId: string;
120
138
  }
139
+ export type FinalizeReleaseParams = FinalizeReleaseParamsBase & AdminCustodyInput;
121
140
  /**
122
141
  * The opinionated finish for a release: publish (share) it and transfer its
123
142
  * admin cap to `adminAddress`.
124
143
  *
125
- * MUST run in the same PTB as the `release_registry::new_release` that produced
144
+ * MUST run in the same PTB as `release::new(registry, …)` that produced
126
145
  * these parts —
127
146
  * `Release` is `key`-only with no `drop`, so an unpublished release cannot
128
147
  * outlive its transaction. Splitting create from finalize is what lets a caller
@@ -130,27 +149,27 @@ export interface FinalizeReleaseParams extends ReleaseParts {
130
149
  * package, keep it for later commands) instead of a plain address transfer.
131
150
  */
132
151
  export declare function finalizeRelease(tx: Transaction, params: FinalizeReleaseParams): void;
133
- export interface TrackInput {
152
+ interface TrackInputBase {
134
153
  recordingId: string;
135
- recordingAdminCapId: string;
154
+ /** Explicit legacy direct cap or Vault custody authority for this recording. */
136
155
  /** Share type of the recording (the track `RecordingShare` phantom). */
137
156
  recordingShareType: string;
138
157
  /** Share type of the parent composition (the track `CompositionShare` phantom). */
139
158
  compositionShareType: string;
140
159
  splitBps: number;
141
160
  }
142
- export interface PublishReleaseParams {
161
+ export type TrackInput = TrackInputBase & RecordingAuthorityInput;
162
+ interface PublishReleaseParamsBase {
143
163
  title: string;
144
164
  /** The ordered tracklist. Display grouping (discs/sides) is extension data. */
145
165
  tracks: TrackInput[];
146
- /** `release_registry` extension package, distinct from its shared object id. */
147
- releaseRegistryPackageId: string;
166
+ /** Shared core `miso::release::ReleaseRegistry` object. */
148
167
  releaseRegistryId: string;
149
168
  releaseId: string;
150
169
  releaseNonce: string;
151
170
  misoPackageId: string;
152
- adminAddress: string;
153
171
  }
172
+ export type PublishReleaseParams = PublishReleaseParamsBase & AdminCustodyInput;
154
173
  /**
155
174
  * Convenience: publish a release end-to-end, assembling its tracklist from
156
175
  * recording admin caps held by the sender.
@@ -1 +1 @@
1
- {"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../src/transactions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../src/transactions.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  // minato, publishing (sharing) the work, and transferring its admin cap is
16
16
  // an opinion about economics;
17
17
  // - minting a release is a platform primitive: core's `release::new` takes an
18
- // unconstructible PTB `&mut UID`, so `release_registry::new_release` is the
18
+ // unconstructible PTB `&mut UID`, so core `release::new(registry, …)` is the
19
19
  // canonical client path. Choosing a track-assembly strategy, publishing
20
20
  // (sharing) it, and picking a recipient for its `ReleaseAdminCap` is the
21
21
  // opinion, so `finalizeRelease` / `publishRelease` live here.
@@ -30,8 +30,30 @@
30
30
  // transaction-thunk composition pattern, just crossing a package boundary now).
31
31
  import { Transaction } from "@mysten/sui/transactions";
32
32
  import { contracts, createComposition, createRecording, } from "@misonetwork/sdk";
33
- import * as releaseRegistry from "./contracts/release_registry/release_registry.js";
33
+ import { asU64, directAdminCap, disposeNewAdminCap, invokeWithAdminCap } from "./vault.js";
34
34
  const { track, release } = contracts;
35
+ export function custodyOf(input) {
36
+ if (input.adminCustody !== undefined)
37
+ return input.adminCustody;
38
+ if (input.adminAddress !== undefined)
39
+ return { kind: "direct", owner: input.adminAddress };
40
+ throw new Error("admin custody is required");
41
+ }
42
+ export function recordingAuthorityOf(input) {
43
+ if (input.recordingAuthority !== undefined)
44
+ return input.recordingAuthority;
45
+ if (input.recordingAdminCapId !== undefined)
46
+ return directAdminCap(input.recordingAdminCapId);
47
+ throw new Error("recording authority is required");
48
+ }
49
+ /** Reject a malformed multi-result command before it becomes a PTB argument. */
50
+ export function requiredCommandResult(result, index, command) {
51
+ const value = result[index];
52
+ if (value === undefined) {
53
+ throw new Error(`${command} did not return result ${index}`);
54
+ }
55
+ return value;
56
+ }
35
57
  /**
36
58
  * Splits a share `Balance` across `recipients` via `minato::disperse_balance`, then
37
59
  * destroys the emptied balance. Exposed for consumers assembling custom share
@@ -43,7 +65,7 @@ export function disperseShares(tx, minatoPackageId, shareType, balance, recipien
43
65
  typeArguments: [shareType],
44
66
  arguments: [
45
67
  balance,
46
- tx.makeMoveVec({ type: "u64", elements: recipients.map((r) => tx.pure.u64(r.value)) }),
68
+ tx.makeMoveVec({ type: "u64", elements: recipients.map((r) => tx.pure.u64(asU64("share recipient value", r.value))) }),
47
69
  tx.makeMoveVec({ type: "address", elements: recipients.map((r) => tx.pure.address(r.address)) }),
48
70
  ],
49
71
  });
@@ -75,7 +97,7 @@ export function initializeShareCurrency(params) {
75
97
  export function finalizeComposition(tx, params) {
76
98
  disperseShares(tx, params.minatoPackageId, params.shareType, params.balance, params.shareRecipients);
77
99
  tx.add(contracts.composition.publish({ package: params.misoPackageId, typeArguments: [params.shareType], arguments: [params.composition, params.adminCap] }));
78
- tx.transferObjects([params.adminCap], params.adminAddress);
100
+ disposeNewAdminCap(tx, params.adminCap, custodyOf(params));
79
101
  }
80
102
  /** Convenience: publish a composition end-to-end (createComposition → finalizeComposition). */
81
103
  export function publishComposition(params) {
@@ -92,7 +114,7 @@ export function publishComposition(params) {
92
114
  ...parts,
93
115
  shareType: params.shareType,
94
116
  shareRecipients: params.shareRecipients,
95
- adminAddress: params.adminAddress,
117
+ adminCustody: custodyOf(params),
96
118
  misoPackageId: params.misoPackageId,
97
119
  minatoPackageId: params.minatoPackageId,
98
120
  });
@@ -107,7 +129,7 @@ export function finalizeRecording(tx, params) {
107
129
  const typeArguments = [params.recordingShareType, params.compositionShareType];
108
130
  tx.add(contracts.recording.publish({ package: params.misoPackageId, typeArguments, arguments: [params.recording, params.adminCap] }));
109
131
  disperseShares(tx, params.minatoPackageId, params.recordingShareType, params.balance, params.shareRecipients);
110
- tx.transferObjects([params.adminCap], params.adminAddress);
132
+ disposeNewAdminCap(tx, params.adminCap, custodyOf(params));
111
133
  }
112
134
  /** Convenience: publish a recording against an already-on-chain composition. */
113
135
  export function publishRecording(params) {
@@ -125,7 +147,7 @@ export function publishRecording(params) {
125
147
  recordingShareType: params.shareType,
126
148
  compositionShareType: params.compositionShareType,
127
149
  shareRecipients: params.shareRecipients,
128
- adminAddress: params.adminAddress,
150
+ adminCustody: custodyOf(params),
129
151
  misoPackageId: params.misoPackageId,
130
152
  minatoPackageId: params.minatoPackageId,
131
153
  });
@@ -166,7 +188,7 @@ export function publishCompositionAndRecording(params) {
166
188
  ...comp,
167
189
  shareType: params.composition.shareType,
168
190
  shareRecipients: params.composition.shareRecipients,
169
- adminAddress: params.composition.adminAddress,
191
+ adminCustody: custodyOf(params.composition),
170
192
  misoPackageId: params.misoPackageId,
171
193
  minatoPackageId: params.minatoPackageId,
172
194
  });
@@ -175,7 +197,7 @@ export function publishCompositionAndRecording(params) {
175
197
  recordingShareType: params.recording.shareType,
176
198
  compositionShareType: params.composition.shareType,
177
199
  shareRecipients: params.recording.shareRecipients,
178
- adminAddress: params.recording.adminAddress,
200
+ adminCustody: custodyOf(params.recording),
179
201
  misoPackageId: params.misoPackageId,
180
202
  minatoPackageId: params.minatoPackageId,
181
203
  });
@@ -185,7 +207,7 @@ export function publishCompositionAndRecording(params) {
185
207
  * The opinionated finish for a release: publish (share) it and transfer its
186
208
  * admin cap to `adminAddress`.
187
209
  *
188
- * MUST run in the same PTB as the `release_registry::new_release` that produced
210
+ * MUST run in the same PTB as `release::new(registry, …)` that produced
189
211
  * these parts —
190
212
  * `Release` is `key`-only with no `drop`, so an unpublished release cannot
191
213
  * outlive its transaction. Splitting create from finalize is what lets a caller
@@ -194,7 +216,7 @@ export function publishCompositionAndRecording(params) {
194
216
  */
195
217
  export function finalizeRelease(tx, params) {
196
218
  tx.add(release.publish({ package: params.misoPackageId, arguments: [params.release, params.adminCap] }));
197
- tx.transferObjects([params.adminCap], tx.pure.address(params.adminAddress));
219
+ disposeNewAdminCap(tx, params.adminCap, custodyOf(params));
198
220
  }
199
221
  function buildTrackVec(tx, misoPackageId, trackArgs) {
200
222
  return tx.makeMoveVec({ type: `${misoPackageId}::track::Track`, elements: trackArgs });
@@ -205,26 +227,25 @@ function buildTrackVec(tx, misoPackageId, trackArgs) {
205
227
  */
206
228
  export function publishRelease(params) {
207
229
  return (tx) => {
208
- const { misoPackageId, releaseRegistryPackageId } = params;
230
+ const { misoPackageId } = params;
209
231
  const trackArgs = params.tracks.map((t) => {
210
232
  const typeArguments = [t.recordingShareType, t.compositionShareType];
211
- return tx.add(track._new({
212
- package: misoPackageId,
233
+ return invokeWithAdminCap(tx, recordingAuthorityOf(t), {
234
+ target: `${misoPackageId}::track::new`,
213
235
  typeArguments,
214
- arguments: [tx.object(t.recordingAdminCapId), tx.object(t.recordingId), tx.pure.id(params.releaseId), tx.pure.u16(t.splitBps)],
215
- }));
236
+ arguments: [tx.object(t.recordingId), tx.pure.id(params.releaseId), tx.pure.u16(t.splitBps)],
237
+ adminCapIndex: 0,
238
+ });
239
+ });
240
+ const created = tx.moveCall({
241
+ target: `${misoPackageId}::release::new`,
242
+ arguments: [tx.object(params.releaseRegistryId), tx.pure.string(params.title), buildTrackVec(tx, misoPackageId, trackArgs), tx.pure.u256(BigInt(params.releaseNonce))],
216
243
  });
217
- const created = tx.add(releaseRegistry.newRelease({
218
- package: releaseRegistryPackageId,
219
- arguments: [
220
- tx.object(params.releaseRegistryId),
221
- tx.pure.string(params.title),
222
- buildTrackVec(tx, misoPackageId, trackArgs),
223
- tx.pure.u256(BigInt(params.releaseNonce)),
224
- ],
225
- }));
226
- const parts = { release: created[0], adminCap: created[1] };
227
- finalizeRelease(tx, { ...parts, adminAddress: params.adminAddress, misoPackageId });
244
+ const parts = {
245
+ release: requiredCommandResult(created, 0, "release::new"),
246
+ adminCap: requiredCommandResult(created, 1, "release::new"),
247
+ };
248
+ finalizeRelease(tx, { ...parts, ...params, misoPackageId });
228
249
  };
229
250
  }
230
251
  //# sourceMappingURL=transactions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transactions.js","sourceRoot":"","sources":["../src/transactions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transactions.js","sourceRoot":"","sources":["../src/transactions.ts"],"names":[],"mappings":"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"}