@misonetwork/sdk 0.1.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 (238) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +644 -0
  3. package/dist/client.d.ts +197 -0
  4. package/dist/client.d.ts.map +1 -0
  5. package/dist/client.js +218 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/contracts/composition_credits/composition_credits.d.ts +181 -0
  8. package/dist/contracts/composition_credits/composition_credits.d.ts.map +1 -0
  9. package/dist/contracts/composition_credits/composition_credits.js +109 -0
  10. package/dist/contracts/composition_credits/composition_credits.js.map +1 -0
  11. package/dist/contracts/composition_credits/composition_party_role.d.ts +119 -0
  12. package/dist/contracts/composition_credits/composition_party_role.d.ts.map +1 -0
  13. package/dist/contracts/composition_credits/composition_party_role.js +139 -0
  14. package/dist/contracts/composition_credits/composition_party_role.js.map +1 -0
  15. package/dist/contracts/composition_credits/deps/miso_credit/credit.d.ts +24 -0
  16. package/dist/contracts/composition_credits/deps/miso_credit/credit.d.ts.map +1 -0
  17. package/dist/contracts/composition_credits/deps/miso_credit/credit.js +23 -0
  18. package/dist/contracts/composition_credits/deps/miso_credit/credit.js.map +1 -0
  19. package/dist/contracts/composition_credits/deps/sui/vec_map.d.ts +37 -0
  20. package/dist/contracts/composition_credits/deps/sui/vec_map.d.ts.map +1 -0
  21. package/dist/contracts/composition_credits/deps/sui/vec_map.js +28 -0
  22. package/dist/contracts/composition_credits/deps/sui/vec_map.js.map +1 -0
  23. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts +87 -0
  24. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts.map +1 -0
  25. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js +80 -0
  26. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js.map +1 -0
  27. package/dist/contracts/cover_art/cover_art.d.ts +85 -0
  28. package/dist/contracts/cover_art/cover_art.d.ts.map +1 -0
  29. package/dist/contracts/cover_art/cover_art.js +68 -0
  30. package/dist/contracts/cover_art/cover_art.js.map +1 -0
  31. package/dist/contracts/cover_art/deps/ori/walrus_data.d.ts +52 -0
  32. package/dist/contracts/cover_art/deps/ori/walrus_data.d.ts.map +1 -0
  33. package/dist/contracts/cover_art/deps/ori/walrus_data.js +37 -0
  34. package/dist/contracts/cover_art/deps/ori/walrus_data.js.map +1 -0
  35. package/dist/contracts/miso/composition.d.ts +231 -0
  36. package/dist/contracts/miso/composition.d.ts.map +1 -0
  37. package/dist/contracts/miso/composition.js +231 -0
  38. package/dist/contracts/miso/composition.js.map +1 -0
  39. package/dist/contracts/miso/deal.d.ts +184 -0
  40. package/dist/contracts/miso/deal.d.ts.map +1 -0
  41. package/dist/contracts/miso/deal.js +184 -0
  42. package/dist/contracts/miso/deal.js.map +1 -0
  43. package/dist/contracts/miso/deps/bps/bps.d.ts +19 -0
  44. package/dist/contracts/miso/deps/bps/bps.d.ts.map +1 -0
  45. package/dist/contracts/miso/deps/bps/bps.js +21 -0
  46. package/dist/contracts/miso/deps/bps/bps.js.map +1 -0
  47. package/dist/contracts/miso/recording.d.ts +228 -0
  48. package/dist/contracts/miso/recording.d.ts.map +1 -0
  49. package/dist/contracts/miso/recording.js +221 -0
  50. package/dist/contracts/miso/recording.js.map +1 -0
  51. package/dist/contracts/miso/release.d.ts +280 -0
  52. package/dist/contracts/miso/release.d.ts.map +1 -0
  53. package/dist/contracts/miso/release.js +282 -0
  54. package/dist/contracts/miso/release.js.map +1 -0
  55. package/dist/contracts/miso/track.d.ts +118 -0
  56. package/dist/contracts/miso/track.d.ts.map +1 -0
  57. package/dist/contracts/miso/track.js +118 -0
  58. package/dist/contracts/miso/track.js.map +1 -0
  59. package/dist/contracts/recording_credits/deps/miso_credit/credit.d.ts +24 -0
  60. package/dist/contracts/recording_credits/deps/miso_credit/credit.d.ts.map +1 -0
  61. package/dist/contracts/recording_credits/deps/miso_credit/credit.js +23 -0
  62. package/dist/contracts/recording_credits/deps/miso_credit/credit.js.map +1 -0
  63. package/dist/contracts/recording_credits/deps/sui/vec_map.d.ts +37 -0
  64. package/dist/contracts/recording_credits/deps/sui/vec_map.d.ts.map +1 -0
  65. package/dist/contracts/recording_credits/deps/sui/vec_map.js +28 -0
  66. package/dist/contracts/recording_credits/deps/sui/vec_map.js.map +1 -0
  67. package/dist/contracts/recording_credits/deps/sui/vec_set.d.ts +21 -0
  68. package/dist/contracts/recording_credits/deps/sui/vec_set.d.ts.map +1 -0
  69. package/dist/contracts/recording_credits/deps/sui/vec_set.js +20 -0
  70. package/dist/contracts/recording_credits/deps/sui/vec_set.js.map +1 -0
  71. package/dist/contracts/recording_credits/recording_credits.d.ts +2313 -0
  72. package/dist/contracts/recording_credits/recording_credits.d.ts.map +1 -0
  73. package/dist/contracts/recording_credits/recording_credits.js +270 -0
  74. package/dist/contracts/recording_credits/recording_credits.js.map +1 -0
  75. package/dist/contracts/recording_credits/recording_party_role.d.ts +1174 -0
  76. package/dist/contracts/recording_credits/recording_party_role.d.ts.map +1 -0
  77. package/dist/contracts/recording_credits/recording_party_role.js +692 -0
  78. package/dist/contracts/recording_credits/recording_party_role.js.map +1 -0
  79. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts +90 -0
  80. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts.map +1 -0
  81. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js +80 -0
  82. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js.map +1 -0
  83. package/dist/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.d.ts +52 -0
  84. package/dist/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.d.ts.map +1 -0
  85. package/dist/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.js +37 -0
  86. package/dist/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.js.map +1 -0
  87. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts +46 -0
  88. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts.map +1 -0
  89. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js +21 -0
  90. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js.map +1 -0
  91. package/dist/contracts/release_cover_art/deps/per_track/per_track.d.ts +33 -0
  92. package/dist/contracts/release_cover_art/deps/per_track/per_track.d.ts.map +1 -0
  93. package/dist/contracts/release_cover_art/deps/per_track/per_track.js +32 -0
  94. package/dist/contracts/release_cover_art/deps/per_track/per_track.js.map +1 -0
  95. package/dist/contracts/release_cover_art/release_cover_art.d.ts +300 -0
  96. package/dist/contracts/release_cover_art/release_cover_art.d.ts.map +1 -0
  97. package/dist/contracts/release_cover_art/release_cover_art.js +168 -0
  98. package/dist/contracts/release_cover_art/release_cover_art.js.map +1 -0
  99. package/dist/contracts/release_credits/deps/miso_credit/credit.d.ts +24 -0
  100. package/dist/contracts/release_credits/deps/miso_credit/credit.d.ts.map +1 -0
  101. package/dist/contracts/release_credits/deps/miso_credit/credit.js +23 -0
  102. package/dist/contracts/release_credits/deps/miso_credit/credit.js.map +1 -0
  103. package/dist/contracts/release_credits/deps/sui/vec_map.d.ts +37 -0
  104. package/dist/contracts/release_credits/deps/sui/vec_map.d.ts.map +1 -0
  105. package/dist/contracts/release_credits/deps/sui/vec_map.js +28 -0
  106. package/dist/contracts/release_credits/deps/sui/vec_map.js.map +1 -0
  107. package/dist/contracts/release_credits/release_credits.d.ts +142 -0
  108. package/dist/contracts/release_credits/release_credits.d.ts.map +1 -0
  109. package/dist/contracts/release_credits/release_credits.js +108 -0
  110. package/dist/contracts/release_credits/release_credits.js.map +1 -0
  111. package/dist/contracts/release_credits/release_party_role.d.ts +58 -0
  112. package/dist/contracts/release_credits/release_party_role.d.ts.map +1 -0
  113. package/dist/contracts/release_credits/release_party_role.js +66 -0
  114. package/dist/contracts/release_credits/release_party_role.js.map +1 -0
  115. package/dist/contracts/royalty_pool/deps/std/type_name.d.ts +18 -0
  116. package/dist/contracts/royalty_pool/deps/std/type_name.d.ts.map +1 -0
  117. package/dist/contracts/royalty_pool/deps/std/type_name.js +20 -0
  118. package/dist/contracts/royalty_pool/deps/std/type_name.js.map +1 -0
  119. package/dist/contracts/royalty_pool/deps/sui/balance.d.ts +13 -0
  120. package/dist/contracts/royalty_pool/deps/sui/balance.d.ts.map +1 -0
  121. package/dist/contracts/royalty_pool/deps/sui/balance.js +15 -0
  122. package/dist/contracts/royalty_pool/deps/sui/balance.js.map +1 -0
  123. package/dist/contracts/royalty_pool/deps/sui/vec_map.d.ts +37 -0
  124. package/dist/contracts/royalty_pool/deps/sui/vec_map.d.ts.map +1 -0
  125. package/dist/contracts/royalty_pool/deps/sui/vec_map.js +28 -0
  126. package/dist/contracts/royalty_pool/deps/sui/vec_map.js.map +1 -0
  127. package/dist/contracts/royalty_pool/pool.d.ts +358 -0
  128. package/dist/contracts/royalty_pool/pool.d.ts.map +1 -0
  129. package/dist/contracts/royalty_pool/pool.js +352 -0
  130. package/dist/contracts/royalty_pool/pool.js.map +1 -0
  131. package/dist/contracts/royalty_pool/stake.d.ts +202 -0
  132. package/dist/contracts/royalty_pool/stake.d.ts.map +1 -0
  133. package/dist/contracts/royalty_pool/stake.js +197 -0
  134. package/dist/contracts/royalty_pool/stake.js.map +1 -0
  135. package/dist/contracts/utils/index.d.ts +31 -0
  136. package/dist/contracts/utils/index.d.ts.map +1 -0
  137. package/dist/contracts/utils/index.js +162 -0
  138. package/dist/contracts/utils/index.js.map +1 -0
  139. package/dist/contracts.d.ts +18 -0
  140. package/dist/contracts.d.ts.map +1 -0
  141. package/dist/contracts.js +26 -0
  142. package/dist/contracts.js.map +1 -0
  143. package/dist/cover.d.ts +48 -0
  144. package/dist/cover.d.ts.map +1 -0
  145. package/dist/cover.js +68 -0
  146. package/dist/cover.js.map +1 -0
  147. package/dist/credits.d.ts +171 -0
  148. package/dist/credits.d.ts.map +1 -0
  149. package/dist/credits.js +360 -0
  150. package/dist/credits.js.map +1 -0
  151. package/dist/execute.d.ts +49 -0
  152. package/dist/execute.d.ts.map +1 -0
  153. package/dist/execute.js +114 -0
  154. package/dist/execute.js.map +1 -0
  155. package/dist/extensions/royalty-pool.d.ts +32 -0
  156. package/dist/extensions/royalty-pool.d.ts.map +1 -0
  157. package/dist/extensions/royalty-pool.js +33 -0
  158. package/dist/extensions/royalty-pool.js.map +1 -0
  159. package/dist/index.d.ts +13 -0
  160. package/dist/index.d.ts.map +1 -0
  161. package/dist/index.js +16 -0
  162. package/dist/index.js.map +1 -0
  163. package/dist/internal.d.ts +20 -0
  164. package/dist/internal.d.ts.map +1 -0
  165. package/dist/internal.js +48 -0
  166. package/dist/internal.js.map +1 -0
  167. package/dist/parsers.d.ts +9 -0
  168. package/dist/parsers.d.ts.map +1 -0
  169. package/dist/parsers.js +52 -0
  170. package/dist/parsers.js.map +1 -0
  171. package/dist/queries.d.ts +105 -0
  172. package/dist/queries.d.ts.map +1 -0
  173. package/dist/queries.js +380 -0
  174. package/dist/queries.js.map +1 -0
  175. package/dist/schemas.d.ts +99 -0
  176. package/dist/schemas.d.ts.map +1 -0
  177. package/dist/schemas.js +76 -0
  178. package/dist/schemas.js.map +1 -0
  179. package/dist/transactions.d.ts +158 -0
  180. package/dist/transactions.d.ts.map +1 -0
  181. package/dist/transactions.js +154 -0
  182. package/dist/transactions.js.map +1 -0
  183. package/dist/types.d.ts +204 -0
  184. package/dist/types.d.ts.map +1 -0
  185. package/dist/types.js +4 -0
  186. package/dist/types.js.map +1 -0
  187. package/dist/view.d.ts +21 -0
  188. package/dist/view.d.ts.map +1 -0
  189. package/dist/view.js +36 -0
  190. package/dist/view.js.map +1 -0
  191. package/package.json +111 -0
  192. package/src/client.ts +278 -0
  193. package/src/contracts/composition_credits/composition_credits.ts +169 -0
  194. package/src/contracts/composition_credits/composition_party_role.ts +189 -0
  195. package/src/contracts/composition_credits/deps/miso_credit/credit.ts +27 -0
  196. package/src/contracts/composition_credits/deps/sui/vec_map.ts +33 -0
  197. package/src/contracts/composition_royalty_pool/composition_royalty_pool.ts +135 -0
  198. package/src/contracts/cover_art/cover_art.ts +99 -0
  199. package/src/contracts/cover_art/deps/ori/walrus_data.ts +36 -0
  200. package/src/contracts/miso/composition.ts +343 -0
  201. package/src/contracts/miso/deal.ts +257 -0
  202. package/src/contracts/miso/deps/bps/bps.ts +23 -0
  203. package/src/contracts/miso/recording.ts +298 -0
  204. package/src/contracts/miso/release.ts +392 -0
  205. package/src/contracts/miso/track.ts +153 -0
  206. package/src/contracts/recording_credits/deps/miso_credit/credit.ts +27 -0
  207. package/src/contracts/recording_credits/deps/sui/vec_map.ts +33 -0
  208. package/src/contracts/recording_credits/deps/sui/vec_set.ts +21 -0
  209. package/src/contracts/recording_credits/recording_credits.ts +458 -0
  210. package/src/contracts/recording_credits/recording_party_role.ts +1041 -0
  211. package/src/contracts/recording_royalty_pool/recording_royalty_pool.ts +138 -0
  212. package/src/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.ts +36 -0
  213. package/src/contracts/release_cover_art/deps/cover_art/cover_art.ts +23 -0
  214. package/src/contracts/release_cover_art/deps/per_track/per_track.ts +36 -0
  215. package/src/contracts/release_cover_art/release_cover_art.ts +251 -0
  216. package/src/contracts/release_credits/deps/miso_credit/credit.ts +27 -0
  217. package/src/contracts/release_credits/deps/sui/vec_map.ts +33 -0
  218. package/src/contracts/release_credits/release_credits.ts +156 -0
  219. package/src/contracts/release_credits/release_party_role.ts +87 -0
  220. package/src/contracts/royalty_pool/deps/std/type_name.ts +22 -0
  221. package/src/contracts/royalty_pool/deps/sui/balance.ts +17 -0
  222. package/src/contracts/royalty_pool/deps/sui/vec_map.ts +33 -0
  223. package/src/contracts/royalty_pool/pool.ts +577 -0
  224. package/src/contracts/royalty_pool/stake.ts +317 -0
  225. package/src/contracts/utils/index.ts +229 -0
  226. package/src/contracts.ts +30 -0
  227. package/src/cover.ts +136 -0
  228. package/src/credits.ts +645 -0
  229. package/src/execute.ts +141 -0
  230. package/src/extensions/royalty-pool.ts +85 -0
  231. package/src/index.ts +17 -0
  232. package/src/internal.ts +85 -0
  233. package/src/parsers.ts +80 -0
  234. package/src/queries.ts +478 -0
  235. package/src/schemas.ts +96 -0
  236. package/src/transactions.ts +290 -0
  237. package/src/types.ts +244 -0
  238. package/src/view.ts +59 -0
@@ -0,0 +1,280 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ /**
5
+ * Represents a music release in Miso. A release is an ordered tracklist with
6
+ * per-track revenue distribution configuration. Cover art lives in the `cover_art`
7
+ * extension, not in core.
8
+ *
9
+ * The tracklist is deliberately FLAT — a `vector<Track>` with no disc structure.
10
+ * Grouping a sequence into discs, vinyl sides, acts, or movements is a property of
11
+ * a distribution medium, not of the release: it has more than one correct
12
+ * rendering, which makes it presentation, and presentation lives in the metadata
13
+ * extension. A consequence worth stating: the stored tracklist and the digest
14
+ * pre-image have the same shape, so what signers consented to is exactly what is
15
+ * stored — nothing structural is chosen after consent except the title.
16
+ *
17
+ * ### Key Features:
18
+ *
19
+ * - Ordered flat tracklist (grouping is presentation, in the metadata extension)
20
+ * - Configurable per-track revenue splits
21
+ * - State machine: Initialized -> Published
22
+ *
23
+ * Attribution (credits, primary/featured artists) is intentionally NOT part of
24
+ * core: it is display-oriented, varies across platforms, and is never read by the
25
+ * economics. It lives in a first-party credits extension attached via `uid_mut`,
26
+ * so core takes no dependency on an identity package and core publish enforces no
27
+ * attribution.
28
+ *
29
+ * The same rule governs naming. Core stores what a thing _is_ — identity and
30
+ * everything the economics read; extensions describe it. The release's `title` is
31
+ * the one embedded name: it is constitutive (naming the package is part of
32
+ * creating it) and freezing it at publish is a buyer-facing guarantee. Edition
33
+ * naming ("Deluxe Edition"), disc titles, localized titles, and DSP-shaped slots
34
+ * all have more than one correct rendering — presentation — and live in the
35
+ * metadata extension.
36
+ *
37
+ * ### Consent scope
38
+ *
39
+ * The release digest — and therefore the derived release id every `Deal` commits
40
+ * to — binds the economics and membership of the release: the ordered list of
41
+ * `(recording, split)` pairs and the creator's nonce. It deliberately binds
42
+ * nothing else. The title — the one embedded field outside the digest — and
43
+ * everything in the extension layer (artwork, credits, display grouping) are
44
+ * chosen by the release creator, before or after deals are signed, and are trusted
45
+ * and publicly attributable rather than cryptographically committed. See
46
+ * `deal::new` for the signer-side statement of this boundary.
47
+ *
48
+ * ### Lifecycle and trust model
49
+ *
50
+ * A release is `key`-only with no `drop`: a fresh `Initialized` object cannot be
51
+ * transferred, wrapped, publicly shared, or discarded, and its only by-value
52
+ * consumer is `publish`. Create-and-publish is therefore atomic by construction —
53
+ * an `Initialized` release cannot outlive its creating transaction, and every
54
+ * release that exists on-chain is `Published` and shared. There is deliberately no
55
+ * keep function; assembling tracks, discs, and the release must fit one
56
+ * transaction.
57
+ *
58
+ * `uid_mut` works in any lifecycle state and is permanent root over ALL dynamic
59
+ * fields on the object — including fields attached by other extensions. "Immutable
60
+ * after publish" covers the embedded fields only; extension-layer data stays
61
+ * admin-mutable in perpetuity. This is the designed extension surface, and it is
62
+ * the one trust assumption that never expires: integrators should model the cap
63
+ * holder as able to mutate or delete any extension data, forever.
64
+ */
65
+ import { MoveTuple, MoveEnum, MoveStruct, type RawTransactionArgument } from '../utils/index.js';
66
+ import { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';
67
+ export declare const RELEASE: MoveTuple<readonly [import("@mysten/sui/bcs").BcsType<boolean, boolean, "bool">], "@local-pkg/miso::release::RELEASE">;
68
+ /** Lifecycle state of a release. */
69
+ export declare const ReleaseState: MoveEnum<{
70
+ /** Release is initialized but not yet published. */
71
+ Initialized: null;
72
+ /** Release is published and immutable. Includes publication timestamp. */
73
+ Published: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
74
+ }, "@local-pkg/miso::release::ReleaseState">;
75
+ export declare const Release: MoveStruct<{
76
+ /** Unique identifier for this release. */
77
+ id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
78
+ /** Current lifecycle state. */
79
+ state: MoveEnum<{
80
+ /** Release is initialized but not yet published. */
81
+ Initialized: null;
82
+ /** Release is published and immutable. Includes publication timestamp. */
83
+ Published: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
84
+ }, "@local-pkg/miso::release::ReleaseState">;
85
+ /** Title of the release. */
86
+ title: import("@mysten/sui/bcs").BcsType<string, string, "string">;
87
+ /**
88
+ * The ordered tracklist. Same shape as the digest pre-image every deal consented
89
+ * to; display grouping lives in the metadata extension.
90
+ */
91
+ tracks: import("@mysten/sui/bcs").BcsType<{
92
+ state: import("@mysten/bcs").EnumOutputShapeWithKeys<{
93
+ Unassigned: string;
94
+ Assigned: true;
95
+ }, "Unassigned" | "Assigned">;
96
+ recording_id: string;
97
+ split_bps: [number];
98
+ }[], Iterable<{
99
+ state: import("@mysten/bcs").EnumInputShape<{
100
+ Unassigned: string | Uint8Array<ArrayBufferLike>;
101
+ Assigned: boolean | object | null;
102
+ }>;
103
+ recording_id: string | Uint8Array<ArrayBufferLike>;
104
+ split_bps: readonly [number];
105
+ }> & {
106
+ length: number;
107
+ }, string>;
108
+ }, "@local-pkg/miso::release::Release">;
109
+ export declare const ReleaseKey: MoveTuple<readonly [import("@mysten/sui/bcs").BcsType<number[], Iterable<number> & {
110
+ length: number;
111
+ }, string>], "@local-pkg/miso::release::ReleaseKey">;
112
+ export declare const ReleaseRegistry: MoveStruct<{
113
+ id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
114
+ }, "@local-pkg/miso::release::ReleaseRegistry">;
115
+ export declare const ReleaseAdminCap: MoveStruct<{
116
+ /** Unique identifier for this capability. */
117
+ id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
118
+ /** ID of the release this capability controls. */
119
+ release_id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
120
+ }, "@local-pkg/miso::release::ReleaseAdminCap">;
121
+ export declare const ReleaseAdminCapKey: MoveTuple<readonly [import("@mysten/sui/bcs").BcsType<boolean, boolean, "bool">], "@local-pkg/miso::release::ReleaseAdminCapKey">;
122
+ export declare const ReleaseRegistryCreatedEvent: MoveStruct<{
123
+ registry_id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
124
+ created_by: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
125
+ }, "@local-pkg/miso::release::ReleaseRegistryCreatedEvent">;
126
+ export declare const ReleasePublishedEvent: MoveStruct<{
127
+ release_id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
128
+ }, "@local-pkg/miso::release::ReleasePublishedEvent">;
129
+ export interface NewArguments {
130
+ title: RawTransactionArgument<string>;
131
+ tracks: TransactionArgument;
132
+ nonce: RawTransactionArgument<number | bigint>;
133
+ registry: RawTransactionArgument<string>;
134
+ }
135
+ export interface NewOptions {
136
+ package?: string;
137
+ arguments: NewArguments | [
138
+ title: RawTransactionArgument<string>,
139
+ tracks: TransactionArgument,
140
+ nonce: RawTransactionArgument<number | bigint>,
141
+ registry: RawTransactionArgument<string>
142
+ ];
143
+ }
144
+ /**
145
+ * Creates a new release with the given configuration. Returns the release and
146
+ * admin capability.
147
+ */
148
+ export declare function _new(options: NewOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
149
+ export interface PublishArguments {
150
+ self: RawTransactionArgument<string>;
151
+ cap: RawTransactionArgument<string>;
152
+ }
153
+ export interface PublishOptions {
154
+ package?: string;
155
+ arguments: PublishArguments | [
156
+ self: RawTransactionArgument<string>,
157
+ cap: RawTransactionArgument<string>
158
+ ];
159
+ }
160
+ /**
161
+ * Publishes the release, making it immutable. Track splits must be set and sum to
162
+ * 100% before publishing. Required State: Initialized
163
+ *
164
+ * Note: core enforces no attribution requirement — credits live in the credits
165
+ * extension and may be attached before or after publish via `uid_mut`.
166
+ */
167
+ export declare function publish(options: PublishOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
168
+ export interface AuthorizeArguments {
169
+ self: RawTransactionArgument<string>;
170
+ cap: RawTransactionArgument<string>;
171
+ }
172
+ export interface AuthorizeOptions {
173
+ package?: string;
174
+ arguments: AuthorizeArguments | [
175
+ self: RawTransactionArgument<string>,
176
+ cap: RawTransactionArgument<string>
177
+ ];
178
+ }
179
+ /** Verifies that the admin capability matches this release. */
180
+ export declare function authorize(options: AuthorizeOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
181
+ export interface DeriveReleaseIdArguments {
182
+ recordingIds: RawTransactionArgument<Array<string>>;
183
+ trackSplitValues: RawTransactionArgument<Array<number | bigint>>;
184
+ nonce: RawTransactionArgument<number | bigint>;
185
+ registry: RawTransactionArgument<string>;
186
+ }
187
+ export interface DeriveReleaseIdOptions {
188
+ package?: string;
189
+ arguments: DeriveReleaseIdArguments | [
190
+ recordingIds: RawTransactionArgument<Array<string>>,
191
+ trackSplitValues: RawTransactionArgument<Array<number | bigint>>,
192
+ nonce: RawTransactionArgument<number | bigint>,
193
+ registry: RawTransactionArgument<string>
194
+ ];
195
+ }
196
+ /**
197
+ * Derives the release ID that `new()` would produce for the given inputs, without
198
+ * creating the object. This is the on-chain equivalent of the client-side
199
+ * `deriveReleaseId()` function.
200
+ */
201
+ export declare function deriveReleaseId(options: DeriveReleaseIdOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
202
+ export interface IdArguments {
203
+ self: RawTransactionArgument<string>;
204
+ }
205
+ export interface IdOptions {
206
+ package?: string;
207
+ arguments: IdArguments | [
208
+ self: RawTransactionArgument<string>
209
+ ];
210
+ }
211
+ /** Returns the release's object ID. */
212
+ export declare function id(options: IdOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
213
+ export interface TitleArguments {
214
+ self: RawTransactionArgument<string>;
215
+ }
216
+ export interface TitleOptions {
217
+ package?: string;
218
+ arguments: TitleArguments | [
219
+ self: RawTransactionArgument<string>
220
+ ];
221
+ }
222
+ /** Returns the release title. */
223
+ export declare function title(options: TitleOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
224
+ export interface TracksArguments {
225
+ self: RawTransactionArgument<string>;
226
+ }
227
+ export interface TracksOptions {
228
+ package?: string;
229
+ arguments: TracksArguments | [
230
+ self: RawTransactionArgument<string>
231
+ ];
232
+ }
233
+ /**
234
+ * Returns a reference to the ordered tracklist. The single tracklist accessor —
235
+ * consumers derive length, membership, and per-track data from it
236
+ * (`tracks().length()`, `tracks().any!(..)`, indexing).
237
+ */
238
+ export declare function tracks(options: TracksOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
239
+ export interface ReleaseAdminCapReleaseIdArguments {
240
+ cap: RawTransactionArgument<string>;
241
+ }
242
+ export interface ReleaseAdminCapReleaseIdOptions {
243
+ package?: string;
244
+ arguments: ReleaseAdminCapReleaseIdArguments | [
245
+ cap: RawTransactionArgument<string>
246
+ ];
247
+ }
248
+ /** Returns the release ID associated with the admin capability. */
249
+ export declare function releaseAdminCapReleaseId(options: ReleaseAdminCapReleaseIdOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
250
+ export interface UidArguments {
251
+ self: RawTransactionArgument<string>;
252
+ }
253
+ export interface UidOptions {
254
+ package?: string;
255
+ arguments: UidArguments | [
256
+ self: RawTransactionArgument<string>
257
+ ];
258
+ }
259
+ /** Returns a reference to the release's UID for reading dynamic fields. */
260
+ export declare function uid(options: UidOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
261
+ export interface UidMutArguments {
262
+ self: RawTransactionArgument<string>;
263
+ cap: RawTransactionArgument<string>;
264
+ }
265
+ export interface UidMutOptions {
266
+ package?: string;
267
+ arguments: UidMutArguments | [
268
+ self: RawTransactionArgument<string>,
269
+ cap: RawTransactionArgument<string>
270
+ ];
271
+ }
272
+ /**
273
+ * Returns a mutable reference to the release's UID. Requires the admin capability.
274
+ * Works in any lifecycle state — dynamic fields are the extension surface (e.g.
275
+ * credits) and stay admin-mutable after publish; only the embedded fields are
276
+ * frozen. The reference is root over every dynamic field on the object, including
277
+ * fields attached by other extensions.
278
+ */
279
+ export declare function uidMut(options: UidMutOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
280
+ //# sourceMappingURL=release.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../../src/contracts/miso/release.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,282 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ /**
5
+ * Represents a music release in Miso. A release is an ordered tracklist with
6
+ * per-track revenue distribution configuration. Cover art lives in the `cover_art`
7
+ * extension, not in core.
8
+ *
9
+ * The tracklist is deliberately FLAT — a `vector<Track>` with no disc structure.
10
+ * Grouping a sequence into discs, vinyl sides, acts, or movements is a property of
11
+ * a distribution medium, not of the release: it has more than one correct
12
+ * rendering, which makes it presentation, and presentation lives in the metadata
13
+ * extension. A consequence worth stating: the stored tracklist and the digest
14
+ * pre-image have the same shape, so what signers consented to is exactly what is
15
+ * stored — nothing structural is chosen after consent except the title.
16
+ *
17
+ * ### Key Features:
18
+ *
19
+ * - Ordered flat tracklist (grouping is presentation, in the metadata extension)
20
+ * - Configurable per-track revenue splits
21
+ * - State machine: Initialized -> Published
22
+ *
23
+ * Attribution (credits, primary/featured artists) is intentionally NOT part of
24
+ * core: it is display-oriented, varies across platforms, and is never read by the
25
+ * economics. It lives in a first-party credits extension attached via `uid_mut`,
26
+ * so core takes no dependency on an identity package and core publish enforces no
27
+ * attribution.
28
+ *
29
+ * The same rule governs naming. Core stores what a thing _is_ — identity and
30
+ * everything the economics read; extensions describe it. The release's `title` is
31
+ * the one embedded name: it is constitutive (naming the package is part of
32
+ * creating it) and freezing it at publish is a buyer-facing guarantee. Edition
33
+ * naming ("Deluxe Edition"), disc titles, localized titles, and DSP-shaped slots
34
+ * all have more than one correct rendering — presentation — and live in the
35
+ * metadata extension.
36
+ *
37
+ * ### Consent scope
38
+ *
39
+ * The release digest — and therefore the derived release id every `Deal` commits
40
+ * to — binds the economics and membership of the release: the ordered list of
41
+ * `(recording, split)` pairs and the creator's nonce. It deliberately binds
42
+ * nothing else. The title — the one embedded field outside the digest — and
43
+ * everything in the extension layer (artwork, credits, display grouping) are
44
+ * chosen by the release creator, before or after deals are signed, and are trusted
45
+ * and publicly attributable rather than cryptographically committed. See
46
+ * `deal::new` for the signer-side statement of this boundary.
47
+ *
48
+ * ### Lifecycle and trust model
49
+ *
50
+ * A release is `key`-only with no `drop`: a fresh `Initialized` object cannot be
51
+ * transferred, wrapped, publicly shared, or discarded, and its only by-value
52
+ * consumer is `publish`. Create-and-publish is therefore atomic by construction —
53
+ * an `Initialized` release cannot outlive its creating transaction, and every
54
+ * release that exists on-chain is `Published` and shared. There is deliberately no
55
+ * keep function; assembling tracks, discs, and the release must fit one
56
+ * transaction.
57
+ *
58
+ * `uid_mut` works in any lifecycle state and is permanent root over ALL dynamic
59
+ * fields on the object — including fields attached by other extensions. "Immutable
60
+ * after publish" covers the embedded fields only; extension-layer data stays
61
+ * admin-mutable in perpetuity. This is the designed extension surface, and it is
62
+ * the one trust assumption that never expires: integrators should model the cap
63
+ * holder as able to mutate or delete any extension data, forever.
64
+ */
65
+ import { MoveTuple, MoveEnum, MoveStruct, normalizeMoveArguments } from '../utils/index.js';
66
+ import { bcs } from '@mysten/sui/bcs';
67
+ import {} from '@mysten/sui/transactions';
68
+ import * as track from './track.js';
69
+ const $moduleName = '@local-pkg/miso::release';
70
+ export const RELEASE = new MoveTuple({ name: `${$moduleName}::RELEASE`, fields: [bcs.bool()] });
71
+ /** Lifecycle state of a release. */
72
+ export const ReleaseState = new MoveEnum({ name: `${$moduleName}::ReleaseState`, fields: {
73
+ /** Release is initialized but not yet published. */
74
+ Initialized: null,
75
+ /** Release is published and immutable. Includes publication timestamp. */
76
+ Published: bcs.u64()
77
+ } });
78
+ export const Release = new MoveStruct({ name: `${$moduleName}::Release`, fields: {
79
+ /** Unique identifier for this release. */
80
+ id: bcs.Address,
81
+ /** Current lifecycle state. */
82
+ state: ReleaseState,
83
+ /** Title of the release. */
84
+ title: bcs.string(),
85
+ /**
86
+ * The ordered tracklist. Same shape as the digest pre-image every deal consented
87
+ * to; display grouping lives in the metadata extension.
88
+ */
89
+ tracks: bcs.vector(track.Track)
90
+ } });
91
+ export const ReleaseKey = new MoveTuple({ name: `${$moduleName}::ReleaseKey`, fields: [bcs.vector(bcs.u8())] });
92
+ export const ReleaseRegistry = new MoveStruct({ name: `${$moduleName}::ReleaseRegistry`, fields: {
93
+ id: bcs.Address
94
+ } });
95
+ export const ReleaseAdminCap = new MoveStruct({ name: `${$moduleName}::ReleaseAdminCap`, fields: {
96
+ /** Unique identifier for this capability. */
97
+ id: bcs.Address,
98
+ /** ID of the release this capability controls. */
99
+ release_id: bcs.Address
100
+ } });
101
+ export const ReleaseAdminCapKey = new MoveTuple({ name: `${$moduleName}::ReleaseAdminCapKey`, fields: [bcs.bool()] });
102
+ export const ReleaseRegistryCreatedEvent = new MoveStruct({ name: `${$moduleName}::ReleaseRegistryCreatedEvent`, fields: {
103
+ registry_id: bcs.Address,
104
+ created_by: bcs.Address
105
+ } });
106
+ export const ReleasePublishedEvent = new MoveStruct({ name: `${$moduleName}::ReleasePublishedEvent`, fields: {
107
+ release_id: bcs.Address
108
+ } });
109
+ /**
110
+ * Creates a new release with the given configuration. Returns the release and
111
+ * admin capability.
112
+ */
113
+ export function _new(options) {
114
+ const packageAddress = options.package ?? '@local-pkg/miso';
115
+ const argumentsTypes = [
116
+ '0x1::string::String',
117
+ 'vector<null>',
118
+ 'u256',
119
+ null
120
+ ];
121
+ const parameterNames = ["title", "tracks", "nonce", "registry"];
122
+ return (tx) => tx.moveCall({
123
+ package: packageAddress,
124
+ module: 'release',
125
+ function: 'new',
126
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
127
+ });
128
+ }
129
+ /**
130
+ * Publishes the release, making it immutable. Track splits must be set and sum to
131
+ * 100% before publishing. Required State: Initialized
132
+ *
133
+ * Note: core enforces no attribution requirement — credits live in the credits
134
+ * extension and may be attached before or after publish via `uid_mut`.
135
+ */
136
+ export function publish(options) {
137
+ const packageAddress = options.package ?? '@local-pkg/miso';
138
+ const argumentsTypes = [
139
+ null,
140
+ null,
141
+ '0x2::clock::Clock'
142
+ ];
143
+ const parameterNames = ["self", "cap"];
144
+ return (tx) => tx.moveCall({
145
+ package: packageAddress,
146
+ module: 'release',
147
+ function: 'publish',
148
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
149
+ });
150
+ }
151
+ /** Verifies that the admin capability matches this release. */
152
+ export function authorize(options) {
153
+ const packageAddress = options.package ?? '@local-pkg/miso';
154
+ const argumentsTypes = [
155
+ null,
156
+ null
157
+ ];
158
+ const parameterNames = ["self", "cap"];
159
+ return (tx) => tx.moveCall({
160
+ package: packageAddress,
161
+ module: 'release',
162
+ function: 'authorize',
163
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
164
+ });
165
+ }
166
+ /**
167
+ * Derives the release ID that `new()` would produce for the given inputs, without
168
+ * creating the object. This is the on-chain equivalent of the client-side
169
+ * `deriveReleaseId()` function.
170
+ */
171
+ export function deriveReleaseId(options) {
172
+ const packageAddress = options.package ?? '@local-pkg/miso';
173
+ const argumentsTypes = [
174
+ 'vector<0x2::object::ID>',
175
+ 'vector<u64>',
176
+ 'u256',
177
+ null
178
+ ];
179
+ const parameterNames = ["recordingIds", "trackSplitValues", "nonce", "registry"];
180
+ return (tx) => tx.moveCall({
181
+ package: packageAddress,
182
+ module: 'release',
183
+ function: 'derive_release_id',
184
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
185
+ });
186
+ }
187
+ /** Returns the release's object ID. */
188
+ export function id(options) {
189
+ const packageAddress = options.package ?? '@local-pkg/miso';
190
+ const argumentsTypes = [
191
+ null
192
+ ];
193
+ const parameterNames = ["self"];
194
+ return (tx) => tx.moveCall({
195
+ package: packageAddress,
196
+ module: 'release',
197
+ function: 'id',
198
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
199
+ });
200
+ }
201
+ /** Returns the release title. */
202
+ export function title(options) {
203
+ const packageAddress = options.package ?? '@local-pkg/miso';
204
+ const argumentsTypes = [
205
+ null
206
+ ];
207
+ const parameterNames = ["self"];
208
+ return (tx) => tx.moveCall({
209
+ package: packageAddress,
210
+ module: 'release',
211
+ function: 'title',
212
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
213
+ });
214
+ }
215
+ /**
216
+ * Returns a reference to the ordered tracklist. The single tracklist accessor —
217
+ * consumers derive length, membership, and per-track data from it
218
+ * (`tracks().length()`, `tracks().any!(..)`, indexing).
219
+ */
220
+ export function tracks(options) {
221
+ const packageAddress = options.package ?? '@local-pkg/miso';
222
+ const argumentsTypes = [
223
+ null
224
+ ];
225
+ const parameterNames = ["self"];
226
+ return (tx) => tx.moveCall({
227
+ package: packageAddress,
228
+ module: 'release',
229
+ function: 'tracks',
230
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
231
+ });
232
+ }
233
+ /** Returns the release ID associated with the admin capability. */
234
+ export function releaseAdminCapReleaseId(options) {
235
+ const packageAddress = options.package ?? '@local-pkg/miso';
236
+ const argumentsTypes = [
237
+ null
238
+ ];
239
+ const parameterNames = ["cap"];
240
+ return (tx) => tx.moveCall({
241
+ package: packageAddress,
242
+ module: 'release',
243
+ function: 'release_admin_cap_release_id',
244
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
245
+ });
246
+ }
247
+ /** Returns a reference to the release's UID for reading dynamic fields. */
248
+ export function uid(options) {
249
+ const packageAddress = options.package ?? '@local-pkg/miso';
250
+ const argumentsTypes = [
251
+ null
252
+ ];
253
+ const parameterNames = ["self"];
254
+ return (tx) => tx.moveCall({
255
+ package: packageAddress,
256
+ module: 'release',
257
+ function: 'uid',
258
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
259
+ });
260
+ }
261
+ /**
262
+ * Returns a mutable reference to the release's UID. Requires the admin capability.
263
+ * Works in any lifecycle state — dynamic fields are the extension surface (e.g.
264
+ * credits) and stay admin-mutable after publish; only the embedded fields are
265
+ * frozen. The reference is root over every dynamic field on the object, including
266
+ * fields attached by other extensions.
267
+ */
268
+ export function uidMut(options) {
269
+ const packageAddress = options.package ?? '@local-pkg/miso';
270
+ const argumentsTypes = [
271
+ null,
272
+ null
273
+ ];
274
+ const parameterNames = ["self", "cap"];
275
+ return (tx) => tx.moveCall({
276
+ package: packageAddress,
277
+ module: 'release',
278
+ function: 'uid_mut',
279
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
280
+ });
281
+ }
282
+ //# sourceMappingURL=release.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release.js","sourceRoot":"","sources":["../../../src/contracts/miso/release.ts"],"names":[],"mappings":"AAAA;;gEAEgE;AAGhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,sBAAsB,EAA+B,MAAM,mBAAmB,CAAC;AACzH,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAA8C,MAAM,0BAA0B,CAAC;AACtF,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAC/C,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,WAAW,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;AAChG,oCAAoC;AACpC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,gBAAgB,EAAE,MAAM,EAAE;QACjF,oDAAoD;QACpD,WAAW,EAAE,IAAI;QACjB,0EAA0E;QAC1E,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE;KACvB,EAAE,CAAC,CAAC;AACT,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,WAAW,EAAE,MAAM,EAAE;QACzE,0CAA0C;QAC1C,EAAE,EAAE,GAAG,CAAC,OAAO;QACf,+BAA+B;QAC/B,KAAK,EAAE,YAAY;QACnB,4BAA4B;QAC5B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE;QACnB;;;WAGG;QACH,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;KAClC,EAAE,CAAC,CAAC;AACT,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,cAAc,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAChH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,mBAAmB,EAAE,MAAM,EAAE;QACzF,EAAE,EAAE,GAAG,CAAC,OAAO;KAClB,EAAE,CAAC,CAAC;AACT,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,mBAAmB,EAAE,MAAM,EAAE;QACzF,6CAA6C;QAC7C,EAAE,EAAE,GAAG,CAAC,OAAO;QACf,kDAAkD;QAClD,UAAU,EAAE,GAAG,CAAC,OAAO;KAC1B,EAAE,CAAC,CAAC;AACT,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,sBAAsB,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;AACtH,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,+BAA+B,EAAE,MAAM,EAAE;QACjH,WAAW,EAAE,GAAG,CAAC,OAAO;QACxB,UAAU,EAAE,GAAG,CAAC,OAAO;KAC1B,EAAE,CAAC,CAAC;AACT,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,yBAAyB,EAAE,MAAM,EAAE;QACrG,UAAU,EAAE,GAAG,CAAC,OAAO;KAC1B,EAAE,CAAC,CAAC;AAgBT;;;GAGG;AACH,MAAM,UAAU,IAAI,CAAC,OAAmB;IACpC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAC;IAC5D,MAAM,cAAc,GAAG;QACnB,qBAAqB;QACrB,cAAc;QACd,MAAM;QACN,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAChE,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KACvF,CAAC,CAAC;AACP,CAAC;AAYD;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,OAAuB;IAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAC;IAC5D,MAAM,cAAc,GAAG;QACnB,IAAI;QACJ,IAAI;QACJ,mBAAmB;KACM,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KACvF,CAAC,CAAC;AACP,CAAC;AAYD,+DAA+D;AAC/D,MAAM,UAAU,SAAS,CAAC,OAAyB;IAC/C,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAC;IAC5D,MAAM,cAAc,GAAG;QACnB,IAAI;QACJ,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KACvF,CAAC,CAAC;AACP,CAAC;AAgBD;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAA+B;IAC3D,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAC;IAC5D,MAAM,cAAc,GAAG;QACnB,yBAAyB;QACzB,aAAa;QACb,MAAM;QACN,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,cAAc,EAAE,kBAAkB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACjF,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,mBAAmB;QAC7B,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KACvF,CAAC,CAAC;AACP,CAAC;AAUD,uCAAuC;AACvC,MAAM,UAAU,EAAE,CAAC,OAAkB;IACjC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAC;IAC5D,MAAM,cAAc,GAAG;QACnB,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KACvF,CAAC,CAAC;AACP,CAAC;AAUD,iCAAiC;AACjC,MAAM,UAAU,KAAK,CAAC,OAAqB;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAC;IAC5D,MAAM,cAAc,GAAG;QACnB,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,OAAO;QACjB,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KACvF,CAAC,CAAC;AACP,CAAC;AAUD;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,OAAsB;IACzC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAC;IAC5D,MAAM,cAAc,GAAG;QACnB,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KACvF,CAAC,CAAC;AACP,CAAC;AAUD,mEAAmE;AACnE,MAAM,UAAU,wBAAwB,CAAC,OAAwC;IAC7E,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAC;IAC5D,MAAM,cAAc,GAAG;QACnB,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,8BAA8B;QACxC,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KACvF,CAAC,CAAC;AACP,CAAC;AAUD,2EAA2E;AAC3E,MAAM,UAAU,GAAG,CAAC,OAAmB;IACnC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAC;IAC5D,MAAM,cAAc,GAAG;QACnB,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KACvF,CAAC,CAAC;AACP,CAAC;AAYD;;;;;;GAMG;AACH,MAAM,UAAU,MAAM,CAAC,OAAsB;IACzC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,iBAAiB,CAAC;IAC5D,MAAM,cAAc,GAAG;QACnB,IAAI;QACJ,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KACvF,CAAC,CAAC;AACP,CAAC"}