@misonetwork/sdk 0.8.0 → 0.9.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 (207) hide show
  1. package/README.md +39 -7
  2. package/dist/client.d.ts +3 -17
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +13 -0
  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 +0 -13
  83. package/dist/contracts/royalty_pool/stake.d.ts.map +1 -1
  84. package/dist/contracts/royalty_pool/stake.js +0 -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 +2 -2
  91. package/dist/deployments.d.ts.map +1 -1
  92. package/dist/deployments.js +16 -3
  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 +16 -0
  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 +0 -26
  180. package/src/contracts.ts +15 -2
  181. package/src/deployments.ts +18 -3
  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,45 @@
1
+ // Copyright (c) Miso Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ // The `party_media` extension: a party's imagery, stored on-chain as a single
4
+ // Walrus *quilt* id. Individual images are quilt patches addressed by identifier
5
+ // ("avatar", "header", …) — those roles are a client convention, derived here
6
+ // off-chain, never stored on-chain. The write builder takes the quilt's base64url
7
+ // blob id (what `walrus store-quilt` prints) and converts it to the on-chain
8
+ // u256; the read helpers build aggregator URLs per identifier.
9
+ import { b64UrlToU256 } from "../internal.js";
10
+ import * as mediaMod from "../../contracts/party_media/party_media.js";
11
+ /**
12
+ * Quilt patch identifiers party media uses, in role order. Uploaders store images
13
+ * under these identifiers; readers fetch by them. This is the whole "meaning" the
14
+ * chain defers to the client.
15
+ */
16
+ export const MEDIA_IDENTIFIERS = { avatar: "avatar", header: "header" };
17
+ /** Sets (or replaces) the party's media quilt. */
18
+ export function setMedia(params) {
19
+ return (tx) => {
20
+ tx.add(mediaMod.setMedia({
21
+ package: params.partyMediaPackageId,
22
+ arguments: [params.partyId, params.capId, BigInt(b64UrlToU256(params.quiltId))],
23
+ }));
24
+ };
25
+ }
26
+ /** Removes the party's media entirely. No-op on-chain if none is set. */
27
+ export function clearMedia(params) {
28
+ return (tx) => {
29
+ tx.add(mediaMod.clearMedia({ package: params.partyMediaPackageId, arguments: [params.partyId, params.capId] }));
30
+ };
31
+ }
32
+ /** Aggregator URL for one image in a party's quilt, addressed by identifier. */
33
+ export function mediaImageUrl(aggregatorUrl, quiltId, identifier) {
34
+ return `${aggregatorUrl.replace(/\/$/, "")}/v1/blobs/by-quilt-id/${quiltId}/${identifier}`;
35
+ }
36
+ /** The avatar + header image URLs for a party's media, or null if unset. */
37
+ export function mediaUrls(aggregatorUrl, media) {
38
+ if (!media)
39
+ return null;
40
+ return {
41
+ avatar: mediaImageUrl(aggregatorUrl, media.quiltId, MEDIA_IDENTIFIERS.avatar),
42
+ header: mediaImageUrl(aggregatorUrl, media.quiltId, MEDIA_IDENTIFIERS.header),
43
+ };
44
+ }
45
+ //# sourceMappingURL=media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../../../src/party/extensions/media.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAEtC,8EAA8E;AAC9E,iFAAiF;AACjF,8EAA8E;AAC9E,kFAAkF;AAClF,6EAA6E;AAC7E,+DAA+D;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,4CAA4C,CAAC;AAIvE;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAW,CAAC;AAWjF,kDAAkD;AAClD,MAAM,UAAU,QAAQ,CAAC,MAAsB;IAC7C,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,EAAE,CAAC,GAAG,CACJ,QAAQ,CAAC,QAAQ,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC,mBAAmB;YACnC,SAAS,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;SAChF,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAQD,yEAAyE;AACzE,MAAM,UAAU,UAAU,CAAC,MAAwB;IACjD,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,mBAAmB,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,aAAa,CAAC,aAAqB,EAAE,OAAe,EAAE,UAAkB;IACtF,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,yBAAyB,OAAO,IAAI,UAAU,EAAE,CAAC;AAC7F,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,SAAS,CACvB,aAAqB,EACrB,KAAmB;IAEnB,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO;QACL,MAAM,EAAE,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC;QAC7E,MAAM,EAAE,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC;KAC9E,CAAC;AACJ,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { TxThunk } from "../transactions.ts";
2
+ export interface SetProfileParams {
3
+ partyId: string;
4
+ capId: string;
5
+ bioShort: string;
6
+ bioLong?: string;
7
+ /** ISO 3166-1 alpha-2 country code, e.g. "GB". */
8
+ country?: string;
9
+ /** ISO 639-1 language codes, e.g. ["en", "ja"]. */
10
+ languages?: string[];
11
+ partyProfilePackageId: string;
12
+ countryCodePackageId: string;
13
+ languageCodePackageId: string;
14
+ }
15
+ /** Sets (creates or replaces) a party's whole profile. */
16
+ export declare function setProfile(params: SetProfileParams): TxThunk;
17
+ export interface ClearProfileParams {
18
+ partyId: string;
19
+ capId: string;
20
+ partyProfilePackageId: string;
21
+ }
22
+ /** Removes a party's profile. No-op on-chain if none is set. */
23
+ export declare function clearProfile(params: ClearProfileParams): TxThunk;
24
+ //# sourceMappingURL=profile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../src/party/extensions/profile.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAKlD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,0DAA0D;AAC1D,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAkC5D;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,gEAAgE;AAChE,wBAAgB,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAShE"}
@@ -0,0 +1,48 @@
1
+ // Copyright (c) Miso Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ // The `party_profile` extension: an editable identity card attached to a Party.
4
+ // The builders hide the Option/vector plumbing and construct the validated
5
+ // `CountryCode` / `LanguageCode` values from raw ISO codes.
6
+ import * as profileMod from "../../contracts/party_profile/party_profile.js";
7
+ const OPTION_NONE = "0x1::option::none";
8
+ const OPTION_SOME = "0x1::option::some";
9
+ /** Sets (creates or replaces) a party's whole profile. */
10
+ export function setProfile(params) {
11
+ return (tx) => {
12
+ const ccType = `${params.countryCodePackageId}::country_code::CountryCode`;
13
+ const country = params.country
14
+ ? tx.moveCall({
15
+ target: OPTION_SOME,
16
+ typeArguments: [ccType],
17
+ arguments: [
18
+ tx.moveCall({
19
+ target: `${params.countryCodePackageId}::country_code::new`,
20
+ arguments: [tx.pure.string(params.country)],
21
+ }),
22
+ ],
23
+ })
24
+ : tx.moveCall({ target: OPTION_NONE, typeArguments: [ccType], arguments: [] });
25
+ const lcType = `${params.languageCodePackageId}::language_code::LanguageCode`;
26
+ const languages = tx.makeMoveVec({
27
+ type: lcType,
28
+ elements: (params.languages ?? []).map((code) => tx.moveCall({
29
+ target: `${params.languageCodePackageId}::language_code::new`,
30
+ arguments: [tx.pure.string(code)],
31
+ })),
32
+ });
33
+ tx.add(profileMod.setProfile({
34
+ package: params.partyProfilePackageId,
35
+ arguments: [params.partyId, params.capId, params.bioShort, params.bioLong ?? null, country, languages],
36
+ }));
37
+ };
38
+ }
39
+ /** Removes a party's profile. No-op on-chain if none is set. */
40
+ export function clearProfile(params) {
41
+ return (tx) => {
42
+ tx.add(profileMod.clearProfile({
43
+ package: params.partyProfilePackageId,
44
+ arguments: [params.partyId, params.capId],
45
+ }));
46
+ };
47
+ }
48
+ //# sourceMappingURL=profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../src/party/extensions/profile.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAEtC,gFAAgF;AAChF,2EAA2E;AAC3E,4DAA4D;AAE5D,OAAO,KAAK,UAAU,MAAM,gDAAgD,CAAC;AAG7E,MAAM,WAAW,GAAG,mBAAmB,CAAC;AACxC,MAAM,WAAW,GAAG,mBAAmB,CAAC;AAgBxC,0DAA0D;AAC1D,MAAM,UAAU,UAAU,CAAC,MAAwB;IACjD,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,6BAA6B,CAAC;QAC3E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO;YAC5B,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC;gBACV,MAAM,EAAE,WAAW;gBACnB,aAAa,EAAE,CAAC,MAAM,CAAC;gBACvB,SAAS,EAAE;oBACT,EAAE,CAAC,QAAQ,CAAC;wBACV,MAAM,EAAE,GAAG,MAAM,CAAC,oBAAoB,qBAAqB;wBAC3D,SAAS,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;qBAC5C,CAAC;iBACH;aACF,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QAEjF,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,qBAAqB,+BAA+B,CAAC;QAC9E,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC;YAC/B,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9C,EAAE,CAAC,QAAQ,CAAC;gBACV,MAAM,EAAE,GAAG,MAAM,CAAC,qBAAqB,sBAAsB;gBAC7D,SAAS,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAClC,CAAC,CACH;SACF,CAAC,CAAC;QAEH,EAAE,CAAC,GAAG,CACJ,UAAU,CAAC,UAAU,CAAC;YACpB,OAAO,EAAE,MAAM,CAAC,qBAAqB;YACrC,SAAS,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC;SACvG,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAQD,gEAAgE;AAChE,MAAM,UAAU,YAAY,CAAC,MAA0B;IACrD,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,EAAE,CAAC,GAAG,CACJ,UAAU,CAAC,YAAY,CAAC;YACtB,OAAO,EAAE,MAAM,CAAC,qBAAqB;YACrC,SAAS,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;SAC1C,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,37 @@
1
+ import type { TxThunk } from "../transactions.ts";
2
+ /** The canonical role variants (a fixed, typo-free set the frontend can render). */
3
+ export type CanonicalRole = "artist" | "producer" | "dj" | "composer" | "songwriter" | "band" | "label" | "collective";
4
+ /**
5
+ * A role to add/remove: a canonical variant, or a user-defined `custom` name.
6
+ * Prefer a canonical variant when one fits.
7
+ */
8
+ export type Role = {
9
+ kind: CanonicalRole;
10
+ } | {
11
+ kind: "custom";
12
+ name: string;
13
+ };
14
+ export interface AddRoleParams {
15
+ partyId: string;
16
+ capId: string;
17
+ role: Role;
18
+ partyRolesPackageId: string;
19
+ }
20
+ /** Adds a role to the party. Aborts on-chain if already held or the max is reached. */
21
+ export declare function addRole(params: AddRoleParams): TxThunk;
22
+ export interface RemoveRoleParams {
23
+ partyId: string;
24
+ capId: string;
25
+ role: Role;
26
+ partyRolesPackageId: string;
27
+ }
28
+ /** Removes a role from the party. Aborts on-chain if not held. */
29
+ export declare function removeRole(params: RemoveRoleParams): TxThunk;
30
+ export interface ClearRolesParams {
31
+ partyId: string;
32
+ capId: string;
33
+ partyRolesPackageId: string;
34
+ }
35
+ /** Removes the party's entire role set. No-op on-chain if none is set. */
36
+ export declare function clearRoles(params: ClearRolesParams): TxThunk;
37
+ //# sourceMappingURL=roles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../../src/party/extensions/roles.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,oFAAoF;AACpF,MAAM,MAAM,aAAa,GACrB,QAAQ,GACR,UAAU,GACV,IAAI,GACJ,UAAU,GACV,YAAY,GACZ,MAAM,GACN,OAAO,GACP,YAAY,CAAC;AAEjB;;;GAGG;AACH,MAAM,MAAM,IAAI,GAAG;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAsB9E,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IACX,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,uFAAuF;AACvF,wBAAgB,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAOtD;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IACX,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,kEAAkE;AAClE,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAO5D;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAI5D"}
@@ -0,0 +1,46 @@
1
+ // Copyright (c) Miso Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ // The `party_roles` extension: the artist-type roles a party holds (artist,
4
+ // producer, DJ, …), a `VecSet<ArtistRole>` on the party. Roles are a closed enum
5
+ // with a `Custom(String)` escape hatch; the builders construct the right
6
+ // `ArtistRole` value via its constructor move-call, then add/remove it.
7
+ import * as rolesMod from "../../contracts/party_roles/party_roles.js";
8
+ // Canonical `kind` → the generated constructor function name (all take no args).
9
+ const CANONICAL_CTORS = {
10
+ artist: rolesMod.artist,
11
+ producer: rolesMod.producer,
12
+ dj: rolesMod.dj,
13
+ composer: rolesMod.composer,
14
+ songwriter: rolesMod.songwriter,
15
+ band: rolesMod.band,
16
+ label: rolesMod.label,
17
+ collective: rolesMod.collective,
18
+ };
19
+ /** Builds the `ArtistRole` value for a role via its constructor move-call. */
20
+ function buildRole(tx, role, pkg) {
21
+ if (role.kind === "custom") {
22
+ return tx.add(rolesMod.custom({ package: pkg, arguments: [role.name] }));
23
+ }
24
+ return tx.add(CANONICAL_CTORS[role.kind]({ package: pkg }));
25
+ }
26
+ /** Adds a role to the party. Aborts on-chain if already held or the max is reached. */
27
+ export function addRole(params) {
28
+ return (tx) => {
29
+ const role = buildRole(tx, params.role, params.partyRolesPackageId);
30
+ tx.add(rolesMod.addRole({ package: params.partyRolesPackageId, arguments: [params.partyId, params.capId, role] }));
31
+ };
32
+ }
33
+ /** Removes a role from the party. Aborts on-chain if not held. */
34
+ export function removeRole(params) {
35
+ return (tx) => {
36
+ const role = buildRole(tx, params.role, params.partyRolesPackageId);
37
+ tx.add(rolesMod.removeRole({ package: params.partyRolesPackageId, arguments: [params.partyId, params.capId, role] }));
38
+ };
39
+ }
40
+ /** Removes the party's entire role set. No-op on-chain if none is set. */
41
+ export function clearRoles(params) {
42
+ return (tx) => {
43
+ tx.add(rolesMod.clearRoles({ package: params.partyRolesPackageId, arguments: [params.partyId, params.capId] }));
44
+ };
45
+ }
46
+ //# sourceMappingURL=roles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/party/extensions/roles.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAEtC,4EAA4E;AAC5E,iFAAiF;AACjF,yEAAyE;AACzE,wEAAwE;AAExE,OAAO,KAAK,QAAQ,MAAM,4CAA4C,CAAC;AAoBvE,iFAAiF;AACjF,MAAM,eAAe,GAAG;IACtB,MAAM,EAAE,QAAQ,CAAC,MAAM;IACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;IAC3B,EAAE,EAAE,QAAQ,CAAC,EAAE;IACf,QAAQ,EAAE,QAAQ,CAAC,QAAQ;IAC3B,UAAU,EAAE,QAAQ,CAAC,UAAU;IAC/B,IAAI,EAAE,QAAQ,CAAC,IAAI;IACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;IACrB,UAAU,EAAE,QAAQ,CAAC,UAAU;CACvB,CAAC;AAEX,8EAA8E;AAC9E,SAAS,SAAS,CAAC,EAA0B,EAAE,IAAU,EAAE,GAAW;IACpE,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AAC9D,CAAC;AASD,uFAAuF;AACvF,MAAM,UAAU,OAAO,CAAC,MAAqB;IAC3C,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACpE,EAAE,CAAC,GAAG,CACJ,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,mBAAmB,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAC3G,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AASD,kEAAkE;AAClE,MAAM,UAAU,UAAU,CAAC,MAAwB;IACjD,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACpE,EAAE,CAAC,GAAG,CACJ,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,mBAAmB,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAC9G,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAQD,0EAA0E;AAC1E,MAAM,UAAU,UAAU,CAAC,MAAwB;IACjD,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,mBAAmB,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { TxThunk } from "../transactions.ts";
2
+ export interface AddTagParams {
3
+ partyId: string;
4
+ capId: string;
5
+ tag: string;
6
+ partyTagsPackageId: string;
7
+ }
8
+ /** Adds a tag to the party. Aborts on-chain if empty, too long, duplicate, or the max is reached. */
9
+ export declare function addTag(params: AddTagParams): TxThunk;
10
+ export interface RemoveTagParams {
11
+ partyId: string;
12
+ capId: string;
13
+ tag: string;
14
+ partyTagsPackageId: string;
15
+ }
16
+ /** Removes a tag from the party. Aborts on-chain if not present. */
17
+ export declare function removeTag(params: RemoveTagParams): TxThunk;
18
+ export interface ClearTagsParams {
19
+ partyId: string;
20
+ capId: string;
21
+ partyTagsPackageId: string;
22
+ }
23
+ /** Removes the party's entire tag set. No-op on-chain if none is set. */
24
+ export declare function clearTags(params: ClearTagsParams): TxThunk;
25
+ //# sourceMappingURL=tags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../src/party/extensions/tags.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,qGAAqG;AACrG,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAMpD;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,oEAAoE;AACpE,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAM1D;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,yEAAyE;AACzE,wBAAgB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAI1D"}
@@ -0,0 +1,25 @@
1
+ // Copyright (c) Miso Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ // The `party_tags` extension: free-form descriptor tags on a party, a
4
+ // `VecSet<String>`. Tags are stored exactly as given; normalization is a client
5
+ // concern.
6
+ import * as tagsMod from "../../contracts/party_tags/party_tags.js";
7
+ /** Adds a tag to the party. Aborts on-chain if empty, too long, duplicate, or the max is reached. */
8
+ export function addTag(params) {
9
+ return (tx) => {
10
+ tx.add(tagsMod.addTag({ package: params.partyTagsPackageId, arguments: [params.partyId, params.capId, params.tag] }));
11
+ };
12
+ }
13
+ /** Removes a tag from the party. Aborts on-chain if not present. */
14
+ export function removeTag(params) {
15
+ return (tx) => {
16
+ tx.add(tagsMod.removeTag({ package: params.partyTagsPackageId, arguments: [params.partyId, params.capId, params.tag] }));
17
+ };
18
+ }
19
+ /** Removes the party's entire tag set. No-op on-chain if none is set. */
20
+ export function clearTags(params) {
21
+ return (tx) => {
22
+ tx.add(tagsMod.clearTags({ package: params.partyTagsPackageId, arguments: [params.partyId, params.capId] }));
23
+ };
24
+ }
25
+ //# sourceMappingURL=tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tags.js","sourceRoot":"","sources":["../../../src/party/extensions/tags.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAEtC,sEAAsE;AACtE,gFAAgF;AAChF,WAAW;AAEX,OAAO,KAAK,OAAO,MAAM,0CAA0C,CAAC;AAUpE,qGAAqG;AACrG,MAAM,UAAU,MAAM,CAAC,MAAoB;IACzC,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,EAAE,CAAC,GAAG,CACJ,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,kBAAkB,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAC9G,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AASD,oEAAoE;AACpE,MAAM,UAAU,SAAS,CAAC,MAAuB;IAC/C,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,EAAE,CAAC,GAAG,CACJ,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,kBAAkB,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CACjH,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAQD,yEAAyE;AACzE,MAAM,UAAU,SAAS,CAAC,MAAuB;IAC/C,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,kBAAkB,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/G,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ export * from "./types.ts";
2
+ export * from "./transactions.ts";
3
+ export * from "./queries.ts";
4
+ export * from "./client.ts";
5
+ export * from "./extensions/profile.ts";
6
+ export * from "./extensions/media.ts";
7
+ export * from "./extensions/roles.ts";
8
+ export * from "./extensions/tags.ts";
9
+ export * from "./extensions/genres.ts";
10
+ export * from "./extensions/ctas.ts";
11
+ export * from "./extensions/links.ts";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/party/index.ts"],"names":[],"mappings":"AAGA,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,14 @@
1
+ // Copyright (c) Miso Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export * from "./types.js";
4
+ export * from "./transactions.js";
5
+ export * from "./queries.js";
6
+ export * from "./client.js";
7
+ export * from "./extensions/profile.js";
8
+ export * from "./extensions/media.js";
9
+ export * from "./extensions/roles.js";
10
+ export * from "./extensions/tags.js";
11
+ export * from "./extensions/genres.js";
12
+ export * from "./extensions/ctas.js";
13
+ export * from "./extensions/links.js";
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/party/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAEtC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { Cta, Media, Party, Profile } from "./types.ts";
2
+ export declare function u256ToB64Url(value: bigint | string): string;
3
+ export declare function b64UrlToU256(value: string): string;
4
+ export declare function mapProfile(partyId: string, d: any): Profile;
5
+ export declare function mapMedia(partyId: string, d: any): Media;
6
+ /** A party's `VecSet<ArtistRole>` → role display names. */
7
+ export declare function mapRoles(d: any): string[];
8
+ /** A party's `VecSet<String>` tag set → tag strings. */
9
+ export declare function mapTags(d: any): string[];
10
+ /** A party's `VecSet<ID>` genre set → genre object id strings. */
11
+ export declare function mapGenres(d: any): string[];
12
+ /** A party's `vector<Cta>` → CTA entries, preserving order (position is priority). */
13
+ export declare function mapCtas(d: any): Cta[];
14
+ export declare function mapParty(id: string, d: any): Party;
15
+ //# sourceMappingURL=internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/party/internal.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAc7D,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AASD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,OAAO,CAU3D;AAKD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,KAAK,CAEvD;AAsBD,2DAA2D;AAE3D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,CAGzC;AAED,wDAAwD;AAExD,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,CAGxC;AAED,kEAAkE;AAElE,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,CAG1C;AAED,sFAAsF;AAEtF,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,CAErC;AAGD,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,KAAK,CAclD"}
@@ -0,0 +1,103 @@
1
+ // Copyright (c) Miso Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ // The single boundary between generated BCS-parse output (snake_case, Move-shaped)
4
+ // and the public camelCase types.
5
+ import { bcs } from "@mysten/sui/bcs";
6
+ import { fromBase64, toBase64 } from "@mysten/sui/utils";
7
+ const u256 = bcs.u256();
8
+ function toBase64Url(bytes) {
9
+ return toBase64(bytes).replace(/=*$/, "").replaceAll("+", "-").replaceAll("/", "_");
10
+ }
11
+ function fromBase64Url(value) {
12
+ let base64 = value.replaceAll("-", "+").replaceAll("_", "/");
13
+ while (base64.length % 4)
14
+ base64 += "=";
15
+ return fromBase64(base64);
16
+ }
17
+ export function u256ToB64Url(value) {
18
+ return toBase64Url(u256.serialize(BigInt(value)).toBytes());
19
+ }
20
+ export function b64UrlToU256(value) {
21
+ return u256.parse(fromBase64Url(value)).toString();
22
+ }
23
+ /** `CountryCode` / `LanguageCode` are single-field tuple structs → parse to a 1-element array. */
24
+ function unwrapCode(v) {
25
+ if (v == null)
26
+ return undefined;
27
+ return Array.isArray(v) ? v[0] : v;
28
+ }
29
+ // deno-lint-ignore no-explicit-any -- generated parse output is loosely typed
30
+ export function mapProfile(partyId, d) {
31
+ return {
32
+ partyId,
33
+ bioShort: d.bio_short,
34
+ bioLong: d.bio_long ?? undefined,
35
+ country: unwrapCode(d.country),
36
+ languages: Array.isArray(d.languages)
37
+ ? d.languages.map((l) => unwrapCode(l)).filter((c) => Boolean(c))
38
+ : [],
39
+ };
40
+ }
41
+ // On-chain `Media` holds the quilt blob id as a u256 (decimal string from BCS);
42
+ // expose it in Walrus's base64url form so callers can build aggregator URLs.
43
+ // deno-lint-ignore no-explicit-any -- generated parse output is loosely typed
44
+ export function mapMedia(partyId, d) {
45
+ return { partyId, quiltId: u256ToB64Url(String(d.quilt)) };
46
+ }
47
+ // The display name of each canonical `ArtistRole` variant (matches Move's
48
+ // `role_name` — note `Dj` → "DJ"). `Custom` carries its own string.
49
+ const CANONICAL_ROLE_NAMES = {
50
+ Artist: "Artist",
51
+ Producer: "Producer",
52
+ Dj: "DJ",
53
+ Composer: "Composer",
54
+ Songwriter: "Songwriter",
55
+ Band: "Band",
56
+ Label: "Label",
57
+ Collective: "Collective",
58
+ };
59
+ /** One parsed `ArtistRole` enum value → its display name (`Custom` → its string). */
60
+ // deno-lint-ignore no-explicit-any -- generated parse output is loosely typed
61
+ function roleName(r) {
62
+ if (r?.$kind === "Custom")
63
+ return String(r.Custom ?? r.value ?? "");
64
+ return CANONICAL_ROLE_NAMES[r?.$kind] ?? String(r?.$kind ?? "");
65
+ }
66
+ /** A party's `VecSet<ArtistRole>` → role display names. */
67
+ // deno-lint-ignore no-explicit-any -- generated parse output is loosely typed
68
+ export function mapRoles(d) {
69
+ const contents = Array.isArray(d) ? d : d?.contents ?? d?.roles?.contents ?? [];
70
+ return (Array.isArray(contents) ? contents : []).map(roleName);
71
+ }
72
+ /** A party's `VecSet<String>` tag set → tag strings. */
73
+ // deno-lint-ignore no-explicit-any -- generated parse output is loosely typed
74
+ export function mapTags(d) {
75
+ const contents = Array.isArray(d) ? d : d?.contents ?? d?.tags?.contents ?? [];
76
+ return (Array.isArray(contents) ? contents : []).map((t) => String(t));
77
+ }
78
+ /** A party's `VecSet<ID>` genre set → genre object id strings. */
79
+ // deno-lint-ignore no-explicit-any -- generated parse output is loosely typed
80
+ export function mapGenres(d) {
81
+ const contents = Array.isArray(d) ? d : d?.contents ?? d?.genres?.contents ?? [];
82
+ return (Array.isArray(contents) ? contents : []).map((g) => String(g));
83
+ }
84
+ /** A party's `vector<Cta>` → CTA entries, preserving order (position is priority). */
85
+ // deno-lint-ignore no-explicit-any -- generated parse output is loosely typed
86
+ export function mapCtas(d) {
87
+ return (Array.isArray(d) ? d : []).map((c) => ({ label: String(c.label), url: String(c.url) }));
88
+ }
89
+ // deno-lint-ignore no-explicit-any -- generated parse output is loosely typed
90
+ export function mapParty(id, d) {
91
+ const kind = d.kind;
92
+ const createdAtMs = Number(d.created_at_ms);
93
+ // PartyKind is `Individual | Group(VecSet<ID>)`. The enum parses to
94
+ // `{ $kind, Individual? , Group? }`; Group's payload is a VecSet `{ contents }`.
95
+ const groupPayload = kind?.Group ?? (kind?.$kind === "Group" ? kind.value : undefined);
96
+ if (groupPayload !== undefined) {
97
+ const contents = groupPayload?.contents ?? groupPayload ?? [];
98
+ const members = (Array.isArray(contents) ? contents : []).map((m) => typeof m === "string" ? m : m?.id ?? String(m));
99
+ return { id, kind: "group", name: d.name, members, createdAtMs };
100
+ }
101
+ return { id, kind: "individual", name: d.name, createdAtMs };
102
+ }
103
+ //# sourceMappingURL=internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/party/internal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { ClientWithCoreApi } from "@mysten/sui/client";
2
+ import type { Cta, Media, Party, PlatformLink, Profile } from "./types.ts";
3
+ /** Fetches and parses a shared `Party` object. */
4
+ export declare function getPartyById(client: ClientWithCoreApi, partyId: string): Promise<Party>;
5
+ /** Fetches and parses multiple shared `Party` objects in one Core request. */
6
+ export declare function getPartiesByIds(client: ClientWithCoreApi, partyIds: readonly string[]): Promise<Partial<Record<string, Party>>>;
7
+ /** Derives a party's `PartyAdminCap` id (it is a `derived_object` off the party UID). */
8
+ export declare function derivePartyAdminCapId(partyId: string, partyPackageId: string): string;
9
+ /** Fetches a party's profile, or null if none is set. */
10
+ export declare function getProfile(client: ClientWithCoreApi, partyId: string, partyProfilePackageId: string): Promise<Profile | null>;
11
+ /** Fetches a party's media (avatar + header), or null if none is set. */
12
+ export declare function getMedia(client: ClientWithCoreApi, partyId: string, partyMediaPackageId: string): Promise<Media | null>;
13
+ /** The party's artist-type roles (display names), or `[]` if none are set. */
14
+ export declare function getRoles(client: ClientWithCoreApi, partyId: string, partyRolesPackageId: string): Promise<string[]>;
15
+ /** The party's free-form tags, or `[]` if none are set. */
16
+ export declare function getTags(client: ClientWithCoreApi, partyId: string, partyTagsPackageId: string): Promise<string[]>;
17
+ /** The party's genre object ids, or `[]` if none are set. */
18
+ export declare function getGenres(client: ClientWithCoreApi, partyId: string, partyGenrePackageId: string): Promise<string[]>;
19
+ /** The party's ordered CTA list (position is priority), or `[]` if none is set. */
20
+ export declare function getCtas(client: ClientWithCoreApi, partyId: string, partyCtaPackageId: string): Promise<Cta[]>;
21
+ /** All external-platform links attached to a party (social, music, professional). */
22
+ export declare function getLinks(client: ClientWithCoreApi, partyId: string): Promise<PlatformLink[]>;
23
+ /**
24
+ * The group ids a party currently belongs to, read from its `MembershipKey`
25
+ * dynamic fields (the member-side record). No indexer required.
26
+ */
27
+ export declare function getMemberships(client: ClientWithCoreApi, partyId: string): Promise<string[]>;
28
+ /** The member ids invited to a group but not yet accepted (its `PendingInviteKey` fields). */
29
+ export declare function getPendingInvites(client: ClientWithCoreApi, groupId: string): Promise<string[]>;
30
+ /**
31
+ * The group ids that have invited a party but are still awaiting its response.
32
+ * This reads the member-side `PendingMembershipKey` inbox index, so it only
33
+ * enumerates the target party's dynamic fields.
34
+ */
35
+ export declare function getPendingMemberships(client: ClientWithCoreApi, partyId: string): Promise<string[]>;
36
+ /** Whether `memberId` currently holds a membership record for `groupId`. */
37
+ export declare function isMember(client: ClientWithCoreApi, memberId: string, groupId: string, partyPackageId: string): Promise<boolean>;
38
+ //# sourceMappingURL=queries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/party/queries.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAkB5D,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAqB3E,kDAAkD;AAClD,wBAAsB,YAAY,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAI7F;AAED,8EAA8E;AAC9E,wBAAsB,eAAe,CACnC,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAYzC;AAED,yFAAyF;AACzF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAMrF;AAOD,yDAAyD;AACzD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,MAAM,EACf,qBAAqB,EAAE,MAAM,GAC5B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CASzB;AAOD,yEAAyE;AACzE,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,MAAM,EACf,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CASvB;AAUD,8EAA8E;AAC9E,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,MAAM,EACf,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC,CAKnB;AAKD,2DAA2D;AAC3D,wBAAsB,OAAO,CAC3B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,MAAM,EACf,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,MAAM,EAAE,CAAC,CAKnB;AAKD,6DAA6D;AAC7D,wBAAsB,SAAS,CAC7B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,MAAM,EACf,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC,CAKnB;AAMD,mFAAmF;AACnF,wBAAsB,OAAO,CAC3B,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,GAAG,EAAE,CAAC,CAKhB;AAaD,qFAAqF;AACrF,wBAAsB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAmBlG;AASD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAclG;AAED,8FAA8F;AAC9F,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAcrG;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAkBzG;AAED,4EAA4E;AAC5E,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC,CAOlB"}