@misonetwork/sdk 0.8.0 → 0.9.1

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 (207) hide show
  1. package/README.md +48 -38
  2. package/dist/client.d.ts +3 -17
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +18 -3
  5. package/dist/client.js.map +1 -1
  6. package/dist/contracts/miso/composition.d.ts +0 -14
  7. package/dist/contracts/miso/composition.d.ts.map +1 -1
  8. package/dist/contracts/miso/composition.js +0 -15
  9. package/dist/contracts/miso/composition.js.map +1 -1
  10. package/dist/contracts/miso/recording.d.ts +0 -15
  11. package/dist/contracts/miso/recording.d.ts.map +1 -1
  12. package/dist/contracts/miso/recording.js +0 -15
  13. package/dist/contracts/miso/recording.js.map +1 -1
  14. package/dist/contracts/miso/release.d.ts +0 -11
  15. package/dist/contracts/miso/release.d.ts.map +1 -1
  16. package/dist/contracts/miso/release.js +0 -14
  17. package/dist/contracts/miso/release.js.map +1 -1
  18. package/dist/contracts/miso_party/deps/sui/vec_set.d.ts +21 -0
  19. package/dist/contracts/miso_party/deps/sui/vec_set.d.ts.map +1 -0
  20. package/dist/contracts/miso_party/deps/sui/vec_set.js +20 -0
  21. package/dist/contracts/miso_party/deps/sui/vec_set.js.map +1 -0
  22. package/dist/contracts/miso_party/party.d.ts +481 -0
  23. package/dist/contracts/miso_party/party.d.ts.map +1 -0
  24. package/dist/contracts/miso_party/party.js +527 -0
  25. package/dist/contracts/miso_party/party.js.map +1 -0
  26. package/dist/contracts/party_cta/party_cta.d.ts +120 -0
  27. package/dist/contracts/party_cta/party_cta.d.ts.map +1 -0
  28. package/dist/contracts/party_cta/party_cta.js +139 -0
  29. package/dist/contracts/party_cta/party_cta.js.map +1 -0
  30. package/dist/contracts/party_genre/party_genre.d.ts +117 -0
  31. package/dist/contracts/party_genre/party_genre.d.ts.map +1 -0
  32. package/dist/contracts/party_genre/party_genre.js +131 -0
  33. package/dist/contracts/party_genre/party_genre.js.map +1 -0
  34. package/dist/contracts/party_media/party_media.d.ts +86 -0
  35. package/dist/contracts/party_media/party_media.d.ts.map +1 -0
  36. package/dist/contracts/party_media/party_media.js +97 -0
  37. package/dist/contracts/party_media/party_media.js.map +1 -0
  38. package/dist/contracts/party_music/party_music.d.ts +209 -0
  39. package/dist/contracts/party_music/party_music.d.ts.map +1 -0
  40. package/dist/contracts/party_music/party_music.js +259 -0
  41. package/dist/contracts/party_music/party_music.js.map +1 -0
  42. package/dist/contracts/party_platform_link/party_platform_link.d.ts +89 -0
  43. package/dist/contracts/party_platform_link/party_platform_link.d.ts.map +1 -0
  44. package/dist/contracts/party_platform_link/party_platform_link.js +92 -0
  45. package/dist/contracts/party_platform_link/party_platform_link.js.map +1 -0
  46. package/dist/contracts/party_pro_link/party_pro_link.d.ts +233 -0
  47. package/dist/contracts/party_pro_link/party_pro_link.d.ts.map +1 -0
  48. package/dist/contracts/party_pro_link/party_pro_link.js +289 -0
  49. package/dist/contracts/party_pro_link/party_pro_link.js.map +1 -0
  50. package/dist/contracts/party_profile/deps/country_code/country_code.d.ts +15 -0
  51. package/dist/contracts/party_profile/deps/country_code/country_code.d.ts.map +1 -0
  52. package/dist/contracts/party_profile/deps/country_code/country_code.js +17 -0
  53. package/dist/contracts/party_profile/deps/country_code/country_code.js.map +1 -0
  54. package/dist/contracts/party_profile/deps/language_code/language_code.d.ts +6 -0
  55. package/dist/contracts/party_profile/deps/language_code/language_code.d.ts.map +1 -0
  56. package/dist/contracts/party_profile/deps/language_code/language_code.js +8 -0
  57. package/dist/contracts/party_profile/deps/language_code/language_code.js.map +1 -0
  58. package/dist/contracts/party_profile/party_profile.d.ts +133 -0
  59. package/dist/contracts/party_profile/party_profile.d.ts.map +1 -0
  60. package/dist/contracts/party_profile/party_profile.js +153 -0
  61. package/dist/contracts/party_profile/party_profile.js.map +1 -0
  62. package/dist/contracts/party_roles/party_roles.d.ts +201 -0
  63. package/dist/contracts/party_roles/party_roles.d.ts.map +1 -0
  64. package/dist/contracts/party_roles/party_roles.js +237 -0
  65. package/dist/contracts/party_roles/party_roles.js.map +1 -0
  66. package/dist/contracts/party_social/party_social.d.ts +258 -0
  67. package/dist/contracts/party_social/party_social.d.ts.map +1 -0
  68. package/dist/contracts/party_social/party_social.js +320 -0
  69. package/dist/contracts/party_social/party_social.js.map +1 -0
  70. package/dist/contracts/party_tags/party_tags.d.ts +116 -0
  71. package/dist/contracts/party_tags/party_tags.d.ts.map +1 -0
  72. package/dist/contracts/party_tags/party_tags.js +130 -0
  73. package/dist/contracts/party_tags/party_tags.js.map +1 -0
  74. package/dist/contracts/routed_stake/routed_stake.d.ts +0 -14
  75. package/dist/contracts/routed_stake/routed_stake.d.ts.map +1 -1
  76. package/dist/contracts/routed_stake/routed_stake.js +0 -14
  77. package/dist/contracts/routed_stake/routed_stake.js.map +1 -1
  78. package/dist/contracts/royalty_pool/pool.d.ts +0 -14
  79. package/dist/contracts/royalty_pool/pool.d.ts.map +1 -1
  80. package/dist/contracts/royalty_pool/pool.js +0 -14
  81. package/dist/contracts/royalty_pool/pool.js.map +1 -1
  82. package/dist/contracts/royalty_pool/stake.d.ts +6 -13
  83. package/dist/contracts/royalty_pool/stake.d.ts.map +1 -1
  84. package/dist/contracts/royalty_pool/stake.js +6 -14
  85. package/dist/contracts/royalty_pool/stake.js.map +1 -1
  86. package/dist/contracts.d.ts +13 -2
  87. package/dist/contracts.d.ts.map +1 -1
  88. package/dist/contracts.js +14 -2
  89. package/dist/contracts.js.map +1 -1
  90. package/dist/deployments.d.ts +73 -14
  91. package/dist/deployments.d.ts.map +1 -1
  92. package/dist/deployments.js +53 -13
  93. package/dist/deployments.js.map +1 -1
  94. package/dist/events.d.ts +0 -14
  95. package/dist/events.d.ts.map +1 -1
  96. package/dist/events.js +0 -4
  97. package/dist/events.js.map +1 -1
  98. package/dist/index.d.ts +2 -0
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +1 -0
  101. package/dist/index.js.map +1 -1
  102. package/dist/packages.d.ts +39 -4
  103. package/dist/packages.d.ts.map +1 -1
  104. package/dist/packages.js +39 -4
  105. package/dist/packages.js.map +1 -1
  106. package/dist/party/client.d.ts +233 -0
  107. package/dist/party/client.d.ts.map +1 -0
  108. package/dist/party/client.js +222 -0
  109. package/dist/party/client.js.map +1 -0
  110. package/dist/party/extensions/ctas.d.ts +19 -0
  111. package/dist/party/extensions/ctas.d.ts.map +1 -0
  112. package/dist/party/extensions/ctas.js +25 -0
  113. package/dist/party/extensions/ctas.js.map +1 -0
  114. package/dist/party/extensions/genres.d.ts +27 -0
  115. package/dist/party/extensions/genres.d.ts.map +1 -0
  116. package/dist/party/extensions/genres.js +31 -0
  117. package/dist/party/extensions/genres.js.map +1 -0
  118. package/dist/party/extensions/links.d.ts +65 -0
  119. package/dist/party/extensions/links.d.ts.map +1 -0
  120. package/dist/party/extensions/links.js +117 -0
  121. package/dist/party/extensions/links.js.map +1 -0
  122. package/dist/party/extensions/media.d.ts +36 -0
  123. package/dist/party/extensions/media.d.ts.map +1 -0
  124. package/dist/party/extensions/media.js +45 -0
  125. package/dist/party/extensions/media.js.map +1 -0
  126. package/dist/party/extensions/profile.d.ts +24 -0
  127. package/dist/party/extensions/profile.d.ts.map +1 -0
  128. package/dist/party/extensions/profile.js +48 -0
  129. package/dist/party/extensions/profile.js.map +1 -0
  130. package/dist/party/extensions/roles.d.ts +37 -0
  131. package/dist/party/extensions/roles.d.ts.map +1 -0
  132. package/dist/party/extensions/roles.js +46 -0
  133. package/dist/party/extensions/roles.js.map +1 -0
  134. package/dist/party/extensions/tags.d.ts +25 -0
  135. package/dist/party/extensions/tags.d.ts.map +1 -0
  136. package/dist/party/extensions/tags.js +25 -0
  137. package/dist/party/extensions/tags.js.map +1 -0
  138. package/dist/party/index.d.ts +12 -0
  139. package/dist/party/index.d.ts.map +1 -0
  140. package/dist/party/index.js +14 -0
  141. package/dist/party/index.js.map +1 -0
  142. package/dist/party/internal.d.ts +15 -0
  143. package/dist/party/internal.d.ts.map +1 -0
  144. package/dist/party/internal.js +103 -0
  145. package/dist/party/internal.js.map +1 -0
  146. package/dist/party/queries.d.ts +38 -0
  147. package/dist/party/queries.d.ts.map +1 -0
  148. package/dist/party/queries.js +232 -0
  149. package/dist/party/queries.js.map +1 -0
  150. package/dist/party/transactions.d.ts +74 -0
  151. package/dist/party/transactions.d.ts.map +1 -0
  152. package/dist/party/transactions.js +85 -0
  153. package/dist/party/transactions.js.map +1 -0
  154. package/dist/party/types.d.ts +54 -0
  155. package/dist/party/types.d.ts.map +1 -0
  156. package/dist/party/types.js +4 -0
  157. package/dist/party/types.js.map +1 -0
  158. package/package.json +6 -2
  159. package/src/client.ts +21 -3
  160. package/src/contracts/miso/composition.ts +0 -27
  161. package/src/contracts/miso/recording.ts +0 -28
  162. package/src/contracts/miso/release.ts +0 -23
  163. package/src/contracts/miso_party/deps/sui/vec_set.ts +21 -0
  164. package/src/contracts/miso_party/party.ts +797 -0
  165. package/src/contracts/party_cta/party_cta.ts +212 -0
  166. package/src/contracts/party_genre/party_genre.ts +199 -0
  167. package/src/contracts/party_media/party_media.ts +141 -0
  168. package/src/contracts/party_music/party_music.ts +405 -0
  169. package/src/contracts/party_platform_link/party_platform_link.ts +148 -0
  170. package/src/contracts/party_pro_link/party_pro_link.ts +453 -0
  171. package/src/contracts/party_profile/deps/country_code/country_code.ts +19 -0
  172. package/src/contracts/party_profile/deps/language_code/language_code.ts +7 -0
  173. package/src/contracts/party_profile/party_profile.ts +239 -0
  174. package/src/contracts/party_roles/party_roles.ts +363 -0
  175. package/src/contracts/party_social/party_social.ts +502 -0
  176. package/src/contracts/party_tags/party_tags.ts +198 -0
  177. package/src/contracts/routed_stake/routed_stake.ts +0 -27
  178. package/src/contracts/royalty_pool/pool.ts +0 -27
  179. package/src/contracts/royalty_pool/stake.ts +6 -26
  180. package/src/contracts.ts +15 -2
  181. package/src/deployments.ts +56 -14
  182. package/src/events.ts +0 -4
  183. package/src/index.ts +2 -0
  184. package/src/packages.ts +40 -8
  185. package/src/party/client.ts +283 -0
  186. package/src/party/extensions/ctas.ts +46 -0
  187. package/src/party/extensions/genres.ts +62 -0
  188. package/src/party/extensions/links.ts +185 -0
  189. package/src/party/extensions/media.ts +72 -0
  190. package/src/party/extensions/profile.ts +81 -0
  191. package/src/party/extensions/roles.ts +94 -0
  192. package/src/party/extensions/tags.ts +54 -0
  193. package/src/party/index.ts +14 -0
  194. package/src/party/internal.ts +119 -0
  195. package/src/party/queries.ts +303 -0
  196. package/src/party/transactions.ts +167 -0
  197. package/src/party/types.ts +95 -0
  198. package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.d.ts +0 -52
  199. package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.d.ts.map +0 -1
  200. package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.js +0 -37
  201. package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.js.map +0 -1
  202. package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.d.ts +0 -91
  203. package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.d.ts.map +0 -1
  204. package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.js +0 -91
  205. package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.js.map +0 -1
  206. package/src/contracts/release_snapshot_bundle/deps/ori/walrus_data.ts +0 -36
  207. package/src/contracts/release_snapshot_bundle/release_snapshot_bundle.ts +0 -124
@@ -0,0 +1,405 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+
5
+
6
+ /**
7
+ * Music-platform payloads for the `platform_link` primitive — a party's links to
8
+ * its own artist/profile pages on streaming and music sites.
9
+ *
10
+ * These are _artist-level_ identifiers (an artist's Spotify id, a Bandcamp
11
+ * subdomain), distinct from the release-level (album/track) payloads the
12
+ * protocol's DSP-link extension uses. Only the native id is stored; the public URL
13
+ * is rebuilt client-side, so a platform reshaping its URLs needs no on-chain
14
+ * change. Validation is intentionally minimal — non-empty plus the shared
15
+ * max-length backstop (`platform_link::max_identifier_length()`).
16
+ */
17
+
18
+ import { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.ts';
19
+ import { bcs } from '@mysten/sui/bcs';
20
+ import { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';
21
+ const $moduleName = '@local-pkg/party_music::party_music';
22
+ export const SpotifyData = new MoveStruct({ name: `${$moduleName}::SpotifyData`, fields: {
23
+ artist_id: bcs.string()
24
+ } });
25
+ export const BandcampData = new MoveStruct({ name: `${$moduleName}::BandcampData`, fields: {
26
+ subdomain: bcs.string()
27
+ } });
28
+ export const SoundCloudData = new MoveStruct({ name: `${$moduleName}::SoundCloudData`, fields: {
29
+ username: bcs.string()
30
+ } });
31
+ export const AppleMusicData = new MoveStruct({ name: `${$moduleName}::AppleMusicData`, fields: {
32
+ artist_id: bcs.string()
33
+ } });
34
+ export const DeezerData = new MoveStruct({ name: `${$moduleName}::DeezerData`, fields: {
35
+ artist_id: bcs.string()
36
+ } });
37
+ export const TidalData = new MoveStruct({ name: `${$moduleName}::TidalData`, fields: {
38
+ artist_id: bcs.string()
39
+ } });
40
+ export const AmazonMusicData = new MoveStruct({ name: `${$moduleName}::AmazonMusicData`, fields: {
41
+ artist_id: bcs.string()
42
+ } });
43
+ export const AudiomackData = new MoveStruct({ name: `${$moduleName}::AudiomackData`, fields: {
44
+ username: bcs.string()
45
+ } });
46
+ export interface SpotifyArguments {
47
+ artistId: RawTransactionArgument<string>;
48
+ }
49
+ export interface SpotifyOptions {
50
+ package?: string;
51
+ arguments: SpotifyArguments | [
52
+ artistId: RawTransactionArgument<string>
53
+ ];
54
+ }
55
+ /** Builds a Spotify artist link. Aborts if empty. */
56
+ export function spotify(options: SpotifyOptions) {
57
+ const packageAddress = options.package ?? '@local-pkg/party_music';
58
+ const argumentsTypes = [
59
+ '0x1::string::String'
60
+ ] satisfies (string | null)[];
61
+ const parameterNames = ["artistId"];
62
+ return (tx: Transaction) => tx.moveCall({
63
+ package: packageAddress,
64
+ module: 'party_music',
65
+ function: 'spotify',
66
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
67
+ });
68
+ }
69
+ export interface BandcampArguments {
70
+ subdomain: RawTransactionArgument<string>;
71
+ }
72
+ export interface BandcampOptions {
73
+ package?: string;
74
+ arguments: BandcampArguments | [
75
+ subdomain: RawTransactionArgument<string>
76
+ ];
77
+ }
78
+ /** Builds a Bandcamp link from an artist subdomain. Aborts if empty. */
79
+ export function bandcamp(options: BandcampOptions) {
80
+ const packageAddress = options.package ?? '@local-pkg/party_music';
81
+ const argumentsTypes = [
82
+ '0x1::string::String'
83
+ ] satisfies (string | null)[];
84
+ const parameterNames = ["subdomain"];
85
+ return (tx: Transaction) => tx.moveCall({
86
+ package: packageAddress,
87
+ module: 'party_music',
88
+ function: 'bandcamp',
89
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
90
+ });
91
+ }
92
+ export interface SoundcloudArguments {
93
+ username: RawTransactionArgument<string>;
94
+ }
95
+ export interface SoundcloudOptions {
96
+ package?: string;
97
+ arguments: SoundcloudArguments | [
98
+ username: RawTransactionArgument<string>
99
+ ];
100
+ }
101
+ /** Builds a SoundCloud link from a username. Aborts if empty. */
102
+ export function soundcloud(options: SoundcloudOptions) {
103
+ const packageAddress = options.package ?? '@local-pkg/party_music';
104
+ const argumentsTypes = [
105
+ '0x1::string::String'
106
+ ] satisfies (string | null)[];
107
+ const parameterNames = ["username"];
108
+ return (tx: Transaction) => tx.moveCall({
109
+ package: packageAddress,
110
+ module: 'party_music',
111
+ function: 'soundcloud',
112
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
113
+ });
114
+ }
115
+ export interface AppleMusicArguments {
116
+ artistId: RawTransactionArgument<string>;
117
+ }
118
+ export interface AppleMusicOptions {
119
+ package?: string;
120
+ arguments: AppleMusicArguments | [
121
+ artistId: RawTransactionArgument<string>
122
+ ];
123
+ }
124
+ /** Builds an Apple Music artist link. Aborts if empty. */
125
+ export function appleMusic(options: AppleMusicOptions) {
126
+ const packageAddress = options.package ?? '@local-pkg/party_music';
127
+ const argumentsTypes = [
128
+ '0x1::string::String'
129
+ ] satisfies (string | null)[];
130
+ const parameterNames = ["artistId"];
131
+ return (tx: Transaction) => tx.moveCall({
132
+ package: packageAddress,
133
+ module: 'party_music',
134
+ function: 'apple_music',
135
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
136
+ });
137
+ }
138
+ export interface DeezerArguments {
139
+ artistId: RawTransactionArgument<string>;
140
+ }
141
+ export interface DeezerOptions {
142
+ package?: string;
143
+ arguments: DeezerArguments | [
144
+ artistId: RawTransactionArgument<string>
145
+ ];
146
+ }
147
+ /** Builds a Deezer artist link. Aborts if empty. */
148
+ export function deezer(options: DeezerOptions) {
149
+ const packageAddress = options.package ?? '@local-pkg/party_music';
150
+ const argumentsTypes = [
151
+ '0x1::string::String'
152
+ ] satisfies (string | null)[];
153
+ const parameterNames = ["artistId"];
154
+ return (tx: Transaction) => tx.moveCall({
155
+ package: packageAddress,
156
+ module: 'party_music',
157
+ function: 'deezer',
158
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
159
+ });
160
+ }
161
+ export interface TidalArguments {
162
+ artistId: RawTransactionArgument<string>;
163
+ }
164
+ export interface TidalOptions {
165
+ package?: string;
166
+ arguments: TidalArguments | [
167
+ artistId: RawTransactionArgument<string>
168
+ ];
169
+ }
170
+ /** Builds a Tidal artist link. Aborts if empty. */
171
+ export function tidal(options: TidalOptions) {
172
+ const packageAddress = options.package ?? '@local-pkg/party_music';
173
+ const argumentsTypes = [
174
+ '0x1::string::String'
175
+ ] satisfies (string | null)[];
176
+ const parameterNames = ["artistId"];
177
+ return (tx: Transaction) => tx.moveCall({
178
+ package: packageAddress,
179
+ module: 'party_music',
180
+ function: 'tidal',
181
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
182
+ });
183
+ }
184
+ export interface AmazonMusicArguments {
185
+ artistId: RawTransactionArgument<string>;
186
+ }
187
+ export interface AmazonMusicOptions {
188
+ package?: string;
189
+ arguments: AmazonMusicArguments | [
190
+ artistId: RawTransactionArgument<string>
191
+ ];
192
+ }
193
+ /** Builds an Amazon Music artist link. Aborts if empty. */
194
+ export function amazonMusic(options: AmazonMusicOptions) {
195
+ const packageAddress = options.package ?? '@local-pkg/party_music';
196
+ const argumentsTypes = [
197
+ '0x1::string::String'
198
+ ] satisfies (string | null)[];
199
+ const parameterNames = ["artistId"];
200
+ return (tx: Transaction) => tx.moveCall({
201
+ package: packageAddress,
202
+ module: 'party_music',
203
+ function: 'amazon_music',
204
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
205
+ });
206
+ }
207
+ export interface AudiomackArguments {
208
+ username: RawTransactionArgument<string>;
209
+ }
210
+ export interface AudiomackOptions {
211
+ package?: string;
212
+ arguments: AudiomackArguments | [
213
+ username: RawTransactionArgument<string>
214
+ ];
215
+ }
216
+ /** Builds an Audiomack link from a username. Aborts if empty. */
217
+ export function audiomack(options: AudiomackOptions) {
218
+ const packageAddress = options.package ?? '@local-pkg/party_music';
219
+ const argumentsTypes = [
220
+ '0x1::string::String'
221
+ ] satisfies (string | null)[];
222
+ const parameterNames = ["username"];
223
+ return (tx: Transaction) => tx.moveCall({
224
+ package: packageAddress,
225
+ module: 'party_music',
226
+ function: 'audiomack',
227
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
228
+ });
229
+ }
230
+ export interface SpotifyArtistIdArguments {
231
+ self: TransactionArgument;
232
+ }
233
+ export interface SpotifyArtistIdOptions {
234
+ package?: string;
235
+ arguments: SpotifyArtistIdArguments | [
236
+ self: TransactionArgument
237
+ ];
238
+ }
239
+ export function spotifyArtistId(options: SpotifyArtistIdOptions) {
240
+ const packageAddress = options.package ?? '@local-pkg/party_music';
241
+ const argumentsTypes = [
242
+ null
243
+ ] satisfies (string | null)[];
244
+ const parameterNames = ["self"];
245
+ return (tx: Transaction) => tx.moveCall({
246
+ package: packageAddress,
247
+ module: 'party_music',
248
+ function: 'spotify_artist_id',
249
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
250
+ });
251
+ }
252
+ export interface BandcampSubdomainArguments {
253
+ self: TransactionArgument;
254
+ }
255
+ export interface BandcampSubdomainOptions {
256
+ package?: string;
257
+ arguments: BandcampSubdomainArguments | [
258
+ self: TransactionArgument
259
+ ];
260
+ }
261
+ export function bandcampSubdomain(options: BandcampSubdomainOptions) {
262
+ const packageAddress = options.package ?? '@local-pkg/party_music';
263
+ const argumentsTypes = [
264
+ null
265
+ ] satisfies (string | null)[];
266
+ const parameterNames = ["self"];
267
+ return (tx: Transaction) => tx.moveCall({
268
+ package: packageAddress,
269
+ module: 'party_music',
270
+ function: 'bandcamp_subdomain',
271
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
272
+ });
273
+ }
274
+ export interface SoundcloudUsernameArguments {
275
+ self: TransactionArgument;
276
+ }
277
+ export interface SoundcloudUsernameOptions {
278
+ package?: string;
279
+ arguments: SoundcloudUsernameArguments | [
280
+ self: TransactionArgument
281
+ ];
282
+ }
283
+ export function soundcloudUsername(options: SoundcloudUsernameOptions) {
284
+ const packageAddress = options.package ?? '@local-pkg/party_music';
285
+ const argumentsTypes = [
286
+ null
287
+ ] satisfies (string | null)[];
288
+ const parameterNames = ["self"];
289
+ return (tx: Transaction) => tx.moveCall({
290
+ package: packageAddress,
291
+ module: 'party_music',
292
+ function: 'soundcloud_username',
293
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
294
+ });
295
+ }
296
+ export interface AppleMusicArtistIdArguments {
297
+ self: TransactionArgument;
298
+ }
299
+ export interface AppleMusicArtistIdOptions {
300
+ package?: string;
301
+ arguments: AppleMusicArtistIdArguments | [
302
+ self: TransactionArgument
303
+ ];
304
+ }
305
+ export function appleMusicArtistId(options: AppleMusicArtistIdOptions) {
306
+ const packageAddress = options.package ?? '@local-pkg/party_music';
307
+ const argumentsTypes = [
308
+ null
309
+ ] satisfies (string | null)[];
310
+ const parameterNames = ["self"];
311
+ return (tx: Transaction) => tx.moveCall({
312
+ package: packageAddress,
313
+ module: 'party_music',
314
+ function: 'apple_music_artist_id',
315
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
316
+ });
317
+ }
318
+ export interface DeezerArtistIdArguments {
319
+ self: TransactionArgument;
320
+ }
321
+ export interface DeezerArtistIdOptions {
322
+ package?: string;
323
+ arguments: DeezerArtistIdArguments | [
324
+ self: TransactionArgument
325
+ ];
326
+ }
327
+ export function deezerArtistId(options: DeezerArtistIdOptions) {
328
+ const packageAddress = options.package ?? '@local-pkg/party_music';
329
+ const argumentsTypes = [
330
+ null
331
+ ] satisfies (string | null)[];
332
+ const parameterNames = ["self"];
333
+ return (tx: Transaction) => tx.moveCall({
334
+ package: packageAddress,
335
+ module: 'party_music',
336
+ function: 'deezer_artist_id',
337
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
338
+ });
339
+ }
340
+ export interface TidalArtistIdArguments {
341
+ self: TransactionArgument;
342
+ }
343
+ export interface TidalArtistIdOptions {
344
+ package?: string;
345
+ arguments: TidalArtistIdArguments | [
346
+ self: TransactionArgument
347
+ ];
348
+ }
349
+ export function tidalArtistId(options: TidalArtistIdOptions) {
350
+ const packageAddress = options.package ?? '@local-pkg/party_music';
351
+ const argumentsTypes = [
352
+ null
353
+ ] satisfies (string | null)[];
354
+ const parameterNames = ["self"];
355
+ return (tx: Transaction) => tx.moveCall({
356
+ package: packageAddress,
357
+ module: 'party_music',
358
+ function: 'tidal_artist_id',
359
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
360
+ });
361
+ }
362
+ export interface AmazonMusicArtistIdArguments {
363
+ self: TransactionArgument;
364
+ }
365
+ export interface AmazonMusicArtistIdOptions {
366
+ package?: string;
367
+ arguments: AmazonMusicArtistIdArguments | [
368
+ self: TransactionArgument
369
+ ];
370
+ }
371
+ export function amazonMusicArtistId(options: AmazonMusicArtistIdOptions) {
372
+ const packageAddress = options.package ?? '@local-pkg/party_music';
373
+ const argumentsTypes = [
374
+ null
375
+ ] satisfies (string | null)[];
376
+ const parameterNames = ["self"];
377
+ return (tx: Transaction) => tx.moveCall({
378
+ package: packageAddress,
379
+ module: 'party_music',
380
+ function: 'amazon_music_artist_id',
381
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
382
+ });
383
+ }
384
+ export interface AudiomackUsernameArguments {
385
+ self: TransactionArgument;
386
+ }
387
+ export interface AudiomackUsernameOptions {
388
+ package?: string;
389
+ arguments: AudiomackUsernameArguments | [
390
+ self: TransactionArgument
391
+ ];
392
+ }
393
+ export function audiomackUsername(options: AudiomackUsernameOptions) {
394
+ const packageAddress = options.package ?? '@local-pkg/party_music';
395
+ const argumentsTypes = [
396
+ null
397
+ ] satisfies (string | null)[];
398
+ const parameterNames = ["self"];
399
+ return (tx: Transaction) => tx.moveCall({
400
+ package: packageAddress,
401
+ module: 'party_music',
402
+ function: 'audiomack_username',
403
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
404
+ });
405
+ }
@@ -0,0 +1,148 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+
5
+
6
+ /**
7
+ * Attaches `PlatformLink<Data>` records to a `Party` — one independent link per
8
+ * platform type (`set_link<XData>`, `set_link<SpotifyData>`, …), each in its own
9
+ * dynamic field keyed by `Data`. Adding one platform never rewrites another's, and
10
+ * a new platform needs no change here.
11
+ *
12
+ * This one module serves every platform (social, music, anything) because it is
13
+ * generic over `Data`; the payload types live in their own small packages
14
+ * (`party_social`, `party_music`, …). All writes are gated by the `PartyAdminCap`
15
+ * via `uid_mut`; views are permissionless. Events are phantom-typed per platform
16
+ * so an indexer can see which platform changed — dynamic-field mutations are not
17
+ * otherwise observable. These events carry no payload by convention: they are
18
+ * change signals, and the indexer re-reads the field. (Small, stable payloads are
19
+ * the exception elsewhere — `party_media`'s quilt id or a role or tag string.)
20
+ */
21
+
22
+ import { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.ts';
23
+ import { bcs } from '@mysten/sui/bcs';
24
+ import { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';
25
+ const $moduleName = '@local-pkg/party_platform_link::party_platform_link';
26
+ export const LinkSetEvent = new MoveStruct({ name: `${$moduleName}::LinkSetEvent<phantom Data>`, fields: {
27
+ party_id: bcs.Address
28
+ } });
29
+ export const LinkClearedEvent = new MoveStruct({ name: `${$moduleName}::LinkClearedEvent<phantom Data>`, fields: {
30
+ party_id: bcs.Address
31
+ } });
32
+ export interface SetLinkArguments {
33
+ self: RawTransactionArgument<string>;
34
+ cap: RawTransactionArgument<string>;
35
+ link: TransactionArgument;
36
+ }
37
+ export interface SetLinkOptions {
38
+ package?: string;
39
+ arguments: SetLinkArguments | [
40
+ self: RawTransactionArgument<string>,
41
+ cap: RawTransactionArgument<string>,
42
+ link: TransactionArgument
43
+ ];
44
+ typeArguments: [
45
+ string
46
+ ];
47
+ }
48
+ /** Sets (or replaces) a platform's link on the party. */
49
+ export function setLink(options: SetLinkOptions) {
50
+ const packageAddress = options.package ?? '@local-pkg/party_platform_link';
51
+ const argumentsTypes = [
52
+ null,
53
+ null,
54
+ null
55
+ ] satisfies (string | null)[];
56
+ const parameterNames = ["self", "cap", "link"];
57
+ return (tx: Transaction) => tx.moveCall({
58
+ package: packageAddress,
59
+ module: 'party_platform_link',
60
+ function: 'set_link',
61
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
62
+ typeArguments: options.typeArguments
63
+ });
64
+ }
65
+ export interface ClearLinkArguments {
66
+ self: RawTransactionArgument<string>;
67
+ cap: RawTransactionArgument<string>;
68
+ }
69
+ export interface ClearLinkOptions {
70
+ package?: string;
71
+ arguments: ClearLinkArguments | [
72
+ self: RawTransactionArgument<string>,
73
+ cap: RawTransactionArgument<string>
74
+ ];
75
+ typeArguments: [
76
+ string
77
+ ];
78
+ }
79
+ /** Clears a platform's link from the party. No-op if unset. */
80
+ export function clearLink(options: ClearLinkOptions) {
81
+ const packageAddress = options.package ?? '@local-pkg/party_platform_link';
82
+ const argumentsTypes = [
83
+ null,
84
+ null
85
+ ] satisfies (string | null)[];
86
+ const parameterNames = ["self", "cap"];
87
+ return (tx: Transaction) => tx.moveCall({
88
+ package: packageAddress,
89
+ module: 'party_platform_link',
90
+ function: 'clear_link',
91
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
92
+ typeArguments: options.typeArguments
93
+ });
94
+ }
95
+ export interface HasLinkArguments {
96
+ self: RawTransactionArgument<string>;
97
+ }
98
+ export interface HasLinkOptions {
99
+ package?: string;
100
+ arguments: HasLinkArguments | [
101
+ self: RawTransactionArgument<string>
102
+ ];
103
+ typeArguments: [
104
+ string
105
+ ];
106
+ }
107
+ /** Whether the party has a link for this platform. */
108
+ export function hasLink(options: HasLinkOptions) {
109
+ const packageAddress = options.package ?? '@local-pkg/party_platform_link';
110
+ const argumentsTypes = [
111
+ null
112
+ ] satisfies (string | null)[];
113
+ const parameterNames = ["self"];
114
+ return (tx: Transaction) => tx.moveCall({
115
+ package: packageAddress,
116
+ module: 'party_platform_link',
117
+ function: 'has_link',
118
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
119
+ typeArguments: options.typeArguments
120
+ });
121
+ }
122
+ export interface LinkArguments {
123
+ self: RawTransactionArgument<string>;
124
+ }
125
+ export interface LinkOptions {
126
+ package?: string;
127
+ arguments: LinkArguments | [
128
+ self: RawTransactionArgument<string>
129
+ ];
130
+ typeArguments: [
131
+ string
132
+ ];
133
+ }
134
+ /** The party's link for this platform, if set. */
135
+ export function link(options: LinkOptions) {
136
+ const packageAddress = options.package ?? '@local-pkg/party_platform_link';
137
+ const argumentsTypes = [
138
+ null
139
+ ] satisfies (string | null)[];
140
+ const parameterNames = ["self"];
141
+ return (tx: Transaction) => tx.moveCall({
142
+ package: packageAddress,
143
+ module: 'party_platform_link',
144
+ function: 'link',
145
+ arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
146
+ typeArguments: options.typeArguments
147
+ });
148
+ }