@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.
- package/README.md +48 -38
- package/dist/client.d.ts +3 -17
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +18 -3
- package/dist/client.js.map +1 -1
- package/dist/contracts/miso/composition.d.ts +0 -14
- package/dist/contracts/miso/composition.d.ts.map +1 -1
- package/dist/contracts/miso/composition.js +0 -15
- package/dist/contracts/miso/composition.js.map +1 -1
- package/dist/contracts/miso/recording.d.ts +0 -15
- package/dist/contracts/miso/recording.d.ts.map +1 -1
- package/dist/contracts/miso/recording.js +0 -15
- package/dist/contracts/miso/recording.js.map +1 -1
- package/dist/contracts/miso/release.d.ts +0 -11
- package/dist/contracts/miso/release.d.ts.map +1 -1
- package/dist/contracts/miso/release.js +0 -14
- package/dist/contracts/miso/release.js.map +1 -1
- package/dist/contracts/miso_party/deps/sui/vec_set.d.ts +21 -0
- package/dist/contracts/miso_party/deps/sui/vec_set.d.ts.map +1 -0
- package/dist/contracts/miso_party/deps/sui/vec_set.js +20 -0
- package/dist/contracts/miso_party/deps/sui/vec_set.js.map +1 -0
- package/dist/contracts/miso_party/party.d.ts +481 -0
- package/dist/contracts/miso_party/party.d.ts.map +1 -0
- package/dist/contracts/miso_party/party.js +527 -0
- package/dist/contracts/miso_party/party.js.map +1 -0
- package/dist/contracts/party_cta/party_cta.d.ts +120 -0
- package/dist/contracts/party_cta/party_cta.d.ts.map +1 -0
- package/dist/contracts/party_cta/party_cta.js +139 -0
- package/dist/contracts/party_cta/party_cta.js.map +1 -0
- package/dist/contracts/party_genre/party_genre.d.ts +117 -0
- package/dist/contracts/party_genre/party_genre.d.ts.map +1 -0
- package/dist/contracts/party_genre/party_genre.js +131 -0
- package/dist/contracts/party_genre/party_genre.js.map +1 -0
- package/dist/contracts/party_media/party_media.d.ts +86 -0
- package/dist/contracts/party_media/party_media.d.ts.map +1 -0
- package/dist/contracts/party_media/party_media.js +97 -0
- package/dist/contracts/party_media/party_media.js.map +1 -0
- package/dist/contracts/party_music/party_music.d.ts +209 -0
- package/dist/contracts/party_music/party_music.d.ts.map +1 -0
- package/dist/contracts/party_music/party_music.js +259 -0
- package/dist/contracts/party_music/party_music.js.map +1 -0
- package/dist/contracts/party_platform_link/party_platform_link.d.ts +89 -0
- package/dist/contracts/party_platform_link/party_platform_link.d.ts.map +1 -0
- package/dist/contracts/party_platform_link/party_platform_link.js +92 -0
- package/dist/contracts/party_platform_link/party_platform_link.js.map +1 -0
- package/dist/contracts/party_pro_link/party_pro_link.d.ts +233 -0
- package/dist/contracts/party_pro_link/party_pro_link.d.ts.map +1 -0
- package/dist/contracts/party_pro_link/party_pro_link.js +289 -0
- package/dist/contracts/party_pro_link/party_pro_link.js.map +1 -0
- package/dist/contracts/party_profile/deps/country_code/country_code.d.ts +15 -0
- package/dist/contracts/party_profile/deps/country_code/country_code.d.ts.map +1 -0
- package/dist/contracts/party_profile/deps/country_code/country_code.js +17 -0
- package/dist/contracts/party_profile/deps/country_code/country_code.js.map +1 -0
- package/dist/contracts/party_profile/deps/language_code/language_code.d.ts +6 -0
- package/dist/contracts/party_profile/deps/language_code/language_code.d.ts.map +1 -0
- package/dist/contracts/party_profile/deps/language_code/language_code.js +8 -0
- package/dist/contracts/party_profile/deps/language_code/language_code.js.map +1 -0
- package/dist/contracts/party_profile/party_profile.d.ts +133 -0
- package/dist/contracts/party_profile/party_profile.d.ts.map +1 -0
- package/dist/contracts/party_profile/party_profile.js +153 -0
- package/dist/contracts/party_profile/party_profile.js.map +1 -0
- package/dist/contracts/party_roles/party_roles.d.ts +201 -0
- package/dist/contracts/party_roles/party_roles.d.ts.map +1 -0
- package/dist/contracts/party_roles/party_roles.js +237 -0
- package/dist/contracts/party_roles/party_roles.js.map +1 -0
- package/dist/contracts/party_social/party_social.d.ts +258 -0
- package/dist/contracts/party_social/party_social.d.ts.map +1 -0
- package/dist/contracts/party_social/party_social.js +320 -0
- package/dist/contracts/party_social/party_social.js.map +1 -0
- package/dist/contracts/party_tags/party_tags.d.ts +116 -0
- package/dist/contracts/party_tags/party_tags.d.ts.map +1 -0
- package/dist/contracts/party_tags/party_tags.js +130 -0
- package/dist/contracts/party_tags/party_tags.js.map +1 -0
- package/dist/contracts/routed_stake/routed_stake.d.ts +0 -14
- package/dist/contracts/routed_stake/routed_stake.d.ts.map +1 -1
- package/dist/contracts/routed_stake/routed_stake.js +0 -14
- package/dist/contracts/routed_stake/routed_stake.js.map +1 -1
- package/dist/contracts/royalty_pool/pool.d.ts +0 -14
- package/dist/contracts/royalty_pool/pool.d.ts.map +1 -1
- package/dist/contracts/royalty_pool/pool.js +0 -14
- package/dist/contracts/royalty_pool/pool.js.map +1 -1
- package/dist/contracts/royalty_pool/stake.d.ts +6 -13
- package/dist/contracts/royalty_pool/stake.d.ts.map +1 -1
- package/dist/contracts/royalty_pool/stake.js +6 -14
- package/dist/contracts/royalty_pool/stake.js.map +1 -1
- package/dist/contracts.d.ts +13 -2
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +14 -2
- package/dist/contracts.js.map +1 -1
- package/dist/deployments.d.ts +73 -14
- package/dist/deployments.d.ts.map +1 -1
- package/dist/deployments.js +53 -13
- package/dist/deployments.js.map +1 -1
- package/dist/events.d.ts +0 -14
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +0 -4
- package/dist/events.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/packages.d.ts +39 -4
- package/dist/packages.d.ts.map +1 -1
- package/dist/packages.js +39 -4
- package/dist/packages.js.map +1 -1
- package/dist/party/client.d.ts +233 -0
- package/dist/party/client.d.ts.map +1 -0
- package/dist/party/client.js +222 -0
- package/dist/party/client.js.map +1 -0
- package/dist/party/extensions/ctas.d.ts +19 -0
- package/dist/party/extensions/ctas.d.ts.map +1 -0
- package/dist/party/extensions/ctas.js +25 -0
- package/dist/party/extensions/ctas.js.map +1 -0
- package/dist/party/extensions/genres.d.ts +27 -0
- package/dist/party/extensions/genres.d.ts.map +1 -0
- package/dist/party/extensions/genres.js +31 -0
- package/dist/party/extensions/genres.js.map +1 -0
- package/dist/party/extensions/links.d.ts +65 -0
- package/dist/party/extensions/links.d.ts.map +1 -0
- package/dist/party/extensions/links.js +117 -0
- package/dist/party/extensions/links.js.map +1 -0
- package/dist/party/extensions/media.d.ts +36 -0
- package/dist/party/extensions/media.d.ts.map +1 -0
- package/dist/party/extensions/media.js +45 -0
- package/dist/party/extensions/media.js.map +1 -0
- package/dist/party/extensions/profile.d.ts +24 -0
- package/dist/party/extensions/profile.d.ts.map +1 -0
- package/dist/party/extensions/profile.js +48 -0
- package/dist/party/extensions/profile.js.map +1 -0
- package/dist/party/extensions/roles.d.ts +37 -0
- package/dist/party/extensions/roles.d.ts.map +1 -0
- package/dist/party/extensions/roles.js +46 -0
- package/dist/party/extensions/roles.js.map +1 -0
- package/dist/party/extensions/tags.d.ts +25 -0
- package/dist/party/extensions/tags.d.ts.map +1 -0
- package/dist/party/extensions/tags.js +25 -0
- package/dist/party/extensions/tags.js.map +1 -0
- package/dist/party/index.d.ts +12 -0
- package/dist/party/index.d.ts.map +1 -0
- package/dist/party/index.js +14 -0
- package/dist/party/index.js.map +1 -0
- package/dist/party/internal.d.ts +15 -0
- package/dist/party/internal.d.ts.map +1 -0
- package/dist/party/internal.js +103 -0
- package/dist/party/internal.js.map +1 -0
- package/dist/party/queries.d.ts +38 -0
- package/dist/party/queries.d.ts.map +1 -0
- package/dist/party/queries.js +232 -0
- package/dist/party/queries.js.map +1 -0
- package/dist/party/transactions.d.ts +74 -0
- package/dist/party/transactions.d.ts.map +1 -0
- package/dist/party/transactions.js +85 -0
- package/dist/party/transactions.js.map +1 -0
- package/dist/party/types.d.ts +54 -0
- package/dist/party/types.d.ts.map +1 -0
- package/dist/party/types.js +4 -0
- package/dist/party/types.js.map +1 -0
- package/package.json +6 -2
- package/src/client.ts +21 -3
- package/src/contracts/miso/composition.ts +0 -27
- package/src/contracts/miso/recording.ts +0 -28
- package/src/contracts/miso/release.ts +0 -23
- package/src/contracts/miso_party/deps/sui/vec_set.ts +21 -0
- package/src/contracts/miso_party/party.ts +797 -0
- package/src/contracts/party_cta/party_cta.ts +212 -0
- package/src/contracts/party_genre/party_genre.ts +199 -0
- package/src/contracts/party_media/party_media.ts +141 -0
- package/src/contracts/party_music/party_music.ts +405 -0
- package/src/contracts/party_platform_link/party_platform_link.ts +148 -0
- package/src/contracts/party_pro_link/party_pro_link.ts +453 -0
- package/src/contracts/party_profile/deps/country_code/country_code.ts +19 -0
- package/src/contracts/party_profile/deps/language_code/language_code.ts +7 -0
- package/src/contracts/party_profile/party_profile.ts +239 -0
- package/src/contracts/party_roles/party_roles.ts +363 -0
- package/src/contracts/party_social/party_social.ts +502 -0
- package/src/contracts/party_tags/party_tags.ts +198 -0
- package/src/contracts/routed_stake/routed_stake.ts +0 -27
- package/src/contracts/royalty_pool/pool.ts +0 -27
- package/src/contracts/royalty_pool/stake.ts +6 -26
- package/src/contracts.ts +15 -2
- package/src/deployments.ts +56 -14
- package/src/events.ts +0 -4
- package/src/index.ts +2 -0
- package/src/packages.ts +40 -8
- package/src/party/client.ts +283 -0
- package/src/party/extensions/ctas.ts +46 -0
- package/src/party/extensions/genres.ts +62 -0
- package/src/party/extensions/links.ts +185 -0
- package/src/party/extensions/media.ts +72 -0
- package/src/party/extensions/profile.ts +81 -0
- package/src/party/extensions/roles.ts +94 -0
- package/src/party/extensions/tags.ts +54 -0
- package/src/party/index.ts +14 -0
- package/src/party/internal.ts +119 -0
- package/src/party/queries.ts +303 -0
- package/src/party/transactions.ts +167 -0
- package/src/party/types.ts +95 -0
- package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.d.ts +0 -52
- package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.d.ts.map +0 -1
- package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.js +0 -37
- package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.js.map +0 -1
- package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.d.ts +0 -91
- package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.d.ts.map +0 -1
- package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.js +0 -91
- package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.js.map +0 -1
- package/src/contracts/release_snapshot_bundle/deps/ori/walrus_data.ts +0 -36
- package/src/contracts/release_snapshot_bundle/release_snapshot_bundle.ts +0 -124
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
// Copyright (c) Miso Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import * as queries from "./queries.js";
|
|
4
|
+
import * as transactions from "./transactions.js";
|
|
5
|
+
import * as profileExt from "./extensions/profile.js";
|
|
6
|
+
import * as mediaExt from "./extensions/media.js";
|
|
7
|
+
import * as rolesExt from "./extensions/roles.js";
|
|
8
|
+
import * as tagsExt from "./extensions/tags.js";
|
|
9
|
+
import * as genresExt from "./extensions/genres.js";
|
|
10
|
+
import * as ctasExt from "./extensions/ctas.js";
|
|
11
|
+
import * as linksExt from "./extensions/links.js";
|
|
12
|
+
import * as partyMod from "../contracts/miso_party/party.js";
|
|
13
|
+
import * as profileMod from "../contracts/party_profile/party_profile.js";
|
|
14
|
+
import * as mediaMod from "../contracts/party_media/party_media.js";
|
|
15
|
+
import * as rolesMod from "../contracts/party_roles/party_roles.js";
|
|
16
|
+
import * as tagsMod from "../contracts/party_tags/party_tags.js";
|
|
17
|
+
import * as ctaMod from "../contracts/party_cta/party_cta.js";
|
|
18
|
+
import * as genreMod from "../contracts/party_genre/party_genre.js";
|
|
19
|
+
import * as platformLinkMod from "../contracts/party_platform_link/party_platform_link.js";
|
|
20
|
+
import * as socialMod from "../contracts/party_social/party_social.js";
|
|
21
|
+
import * as musicMod from "../contracts/party_music/party_music.js";
|
|
22
|
+
import * as proLinkMod from "../contracts/party_pro_link/party_pro_link.js";
|
|
23
|
+
/** Defaults generated calls to one package and removes reference-returning calls. */
|
|
24
|
+
function bindModulePackage(mod, pkg, unavailable = []) {
|
|
25
|
+
const out = {};
|
|
26
|
+
for (const [key, value] of Object.entries({ ...mod })) {
|
|
27
|
+
if (unavailable.includes(key))
|
|
28
|
+
continue;
|
|
29
|
+
out[key] =
|
|
30
|
+
typeof value === "function"
|
|
31
|
+
? (options) => value({ package: pkg, ...options })
|
|
32
|
+
: value;
|
|
33
|
+
}
|
|
34
|
+
return out;
|
|
35
|
+
}
|
|
36
|
+
/** Package-bound Party client exposed at `client.miso.party`. */
|
|
37
|
+
export class PartyProtocolClient {
|
|
38
|
+
#client;
|
|
39
|
+
#pkg;
|
|
40
|
+
#profilePkg;
|
|
41
|
+
#countryCodePkg;
|
|
42
|
+
#languageCodePkg;
|
|
43
|
+
#mediaPkg;
|
|
44
|
+
#rolesPkg;
|
|
45
|
+
#tagsPkg;
|
|
46
|
+
#partyGenrePkg;
|
|
47
|
+
#ctaPkg;
|
|
48
|
+
#platformLinkPkg;
|
|
49
|
+
#socialPkg;
|
|
50
|
+
#musicPkg;
|
|
51
|
+
#proLinkPkg;
|
|
52
|
+
#genrePkg;
|
|
53
|
+
constructor(client, o) {
|
|
54
|
+
this.#client = client;
|
|
55
|
+
this.#pkg = o.misoParty;
|
|
56
|
+
this.#profilePkg = o.partyProfile;
|
|
57
|
+
this.#countryCodePkg = o.countryCode;
|
|
58
|
+
this.#languageCodePkg = o.languageCode;
|
|
59
|
+
this.#mediaPkg = o.partyMedia;
|
|
60
|
+
this.#rolesPkg = o.partyRoles;
|
|
61
|
+
this.#tagsPkg = o.partyTags;
|
|
62
|
+
this.#partyGenrePkg = o.partyGenre;
|
|
63
|
+
this.#ctaPkg = o.partyCta;
|
|
64
|
+
this.#platformLinkPkg = o.partyPlatformLink;
|
|
65
|
+
this.#socialPkg = o.partySocial;
|
|
66
|
+
this.#musicPkg = o.partyMusic;
|
|
67
|
+
this.#proLinkPkg = o.partyProLink;
|
|
68
|
+
this.#genrePkg = o.genre;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* The `genre` vocabulary package id. Callers resolve `Genre` objects from it to
|
|
72
|
+
* pass to `tx.addGenre` (which takes a genre object id, not this package).
|
|
73
|
+
*/
|
|
74
|
+
get genrePackageId() {
|
|
75
|
+
return this.#genrePkg;
|
|
76
|
+
}
|
|
77
|
+
// === Queries ===
|
|
78
|
+
async getPartyById(partyId) {
|
|
79
|
+
return queries.getPartyById(this.#client, partyId);
|
|
80
|
+
}
|
|
81
|
+
async getPartiesByIds(partyIds) {
|
|
82
|
+
return queries.getPartiesByIds(this.#client, partyIds);
|
|
83
|
+
}
|
|
84
|
+
derivePartyAdminCapId(partyId) {
|
|
85
|
+
return queries.derivePartyAdminCapId(partyId, this.#pkg);
|
|
86
|
+
}
|
|
87
|
+
async getProfile(partyId) {
|
|
88
|
+
return queries.getProfile(this.#client, partyId, this.#profilePkg);
|
|
89
|
+
}
|
|
90
|
+
async getMedia(partyId) {
|
|
91
|
+
return queries.getMedia(this.#client, partyId, this.#mediaPkg);
|
|
92
|
+
}
|
|
93
|
+
/** The party's artist-type roles (display names). */
|
|
94
|
+
async getRoles(partyId) {
|
|
95
|
+
return queries.getRoles(this.#client, partyId, this.#rolesPkg);
|
|
96
|
+
}
|
|
97
|
+
/** The party's free-form tags. */
|
|
98
|
+
async getTags(partyId) {
|
|
99
|
+
return queries.getTags(this.#client, partyId, this.#tagsPkg);
|
|
100
|
+
}
|
|
101
|
+
/** The party's genre object ids. */
|
|
102
|
+
async getGenres(partyId) {
|
|
103
|
+
return queries.getGenres(this.#client, partyId, this.#partyGenrePkg);
|
|
104
|
+
}
|
|
105
|
+
/** The party's ordered CTA list (position is priority). */
|
|
106
|
+
async getCtas(partyId) {
|
|
107
|
+
return queries.getCtas(this.#client, partyId, this.#ctaPkg);
|
|
108
|
+
}
|
|
109
|
+
/** All external-platform links attached to the party (social, music, professional). */
|
|
110
|
+
async getLinks(partyId) {
|
|
111
|
+
return queries.getLinks(this.#client, partyId);
|
|
112
|
+
}
|
|
113
|
+
/** Group ids a party belongs to (member-side membership records). */
|
|
114
|
+
async getMemberships(partyId) {
|
|
115
|
+
return queries.getMemberships(this.#client, partyId);
|
|
116
|
+
}
|
|
117
|
+
/** Member ids invited to a group but not yet accepted. */
|
|
118
|
+
async getPendingInvites(groupId) {
|
|
119
|
+
return queries.getPendingInvites(this.#client, groupId);
|
|
120
|
+
}
|
|
121
|
+
/** Group ids that have invited this party but are awaiting its response. */
|
|
122
|
+
async getPendingMemberships(partyId) {
|
|
123
|
+
return queries.getPendingMemberships(this.#client, partyId);
|
|
124
|
+
}
|
|
125
|
+
/** Whether a party is a member of a group. */
|
|
126
|
+
async isMember(memberId, groupId) {
|
|
127
|
+
return queries.isMember(this.#client, memberId, groupId, this.#pkg);
|
|
128
|
+
}
|
|
129
|
+
// === Transaction builders (thunks; package ids bound from the client) ===
|
|
130
|
+
get tx() {
|
|
131
|
+
const pkg = this.#pkg;
|
|
132
|
+
const profilePkg = this.#profilePkg;
|
|
133
|
+
const cc = this.#countryCodePkg;
|
|
134
|
+
const lc = this.#languageCodePkg;
|
|
135
|
+
const mediaPkg = this.#mediaPkg;
|
|
136
|
+
const rolesPkg = this.#rolesPkg;
|
|
137
|
+
const tagsPkg = this.#tagsPkg;
|
|
138
|
+
const ctaPkg = this.#ctaPkg;
|
|
139
|
+
const partyGenrePkg = this.#partyGenrePkg;
|
|
140
|
+
const linkIds = {
|
|
141
|
+
partyPlatformLinkPackageId: this.#platformLinkPkg,
|
|
142
|
+
partySocialPackageId: this.#socialPkg,
|
|
143
|
+
partyMusicPackageId: this.#musicPkg,
|
|
144
|
+
partyProLinkPackageId: this.#proLinkPkg,
|
|
145
|
+
};
|
|
146
|
+
return {
|
|
147
|
+
createIndividualParty: (p) => transactions.createIndividualParty({ ...p, partyPackageId: pkg }),
|
|
148
|
+
createGroupParty: (p) => transactions.createGroupParty({ ...p, partyPackageId: pkg }),
|
|
149
|
+
setName: (p) => transactions.setName({ ...p, partyPackageId: pkg }),
|
|
150
|
+
inviteParty: (p) => transactions.inviteParty({ ...p, partyPackageId: pkg }),
|
|
151
|
+
acceptInvite: (p) => transactions.acceptInvite({ ...p, partyPackageId: pkg }),
|
|
152
|
+
declineInvite: (p) => transactions.declineInvite({ ...p, partyPackageId: pkg }),
|
|
153
|
+
revokeInvite: (p) => transactions.revokeInvite({ ...p, partyPackageId: pkg }),
|
|
154
|
+
leaveGroup: (p) => transactions.leaveGroup({ ...p, partyPackageId: pkg }),
|
|
155
|
+
removeMember: (p) => transactions.removeMember({ ...p, partyPackageId: pkg }),
|
|
156
|
+
setProfile: (p) => profileExt.setProfile({
|
|
157
|
+
...p,
|
|
158
|
+
partyProfilePackageId: profilePkg,
|
|
159
|
+
countryCodePackageId: cc,
|
|
160
|
+
languageCodePackageId: lc,
|
|
161
|
+
}),
|
|
162
|
+
clearProfile: (p) => profileExt.clearProfile({ ...p, partyProfilePackageId: profilePkg }),
|
|
163
|
+
setMedia: (p) => mediaExt.setMedia({ ...p, partyMediaPackageId: mediaPkg }),
|
|
164
|
+
clearMedia: (p) => mediaExt.clearMedia({ ...p, partyMediaPackageId: mediaPkg }),
|
|
165
|
+
// Roles
|
|
166
|
+
addRole: (p) => rolesExt.addRole({ ...p, partyRolesPackageId: rolesPkg }),
|
|
167
|
+
removeRole: (p) => rolesExt.removeRole({ ...p, partyRolesPackageId: rolesPkg }),
|
|
168
|
+
clearRoles: (p) => rolesExt.clearRoles({ ...p, partyRolesPackageId: rolesPkg }),
|
|
169
|
+
// Tags
|
|
170
|
+
addTag: (p) => tagsExt.addTag({ ...p, partyTagsPackageId: tagsPkg }),
|
|
171
|
+
removeTag: (p) => tagsExt.removeTag({ ...p, partyTagsPackageId: tagsPkg }),
|
|
172
|
+
clearTags: (p) => tagsExt.clearTags({ ...p, partyTagsPackageId: tagsPkg }),
|
|
173
|
+
// Genres
|
|
174
|
+
addGenre: (p) => genresExt.addGenre({ ...p, partyGenrePackageId: partyGenrePkg }),
|
|
175
|
+
removeGenre: (p) => genresExt.removeGenre({ ...p, partyGenrePackageId: partyGenrePkg }),
|
|
176
|
+
clearGenres: (p) => genresExt.clearGenres({ ...p, partyGenrePackageId: partyGenrePkg }),
|
|
177
|
+
// CTAs
|
|
178
|
+
setCtas: (p) => ctasExt.setCtas({ ...p, partyCtaPackageId: ctaPkg }),
|
|
179
|
+
clearCtas: (p) => ctasExt.clearCtas({ ...p, partyCtaPackageId: ctaPkg }),
|
|
180
|
+
// Platform links — generic (any platform) plus per-platform `set…`/`clear…`.
|
|
181
|
+
setLink: (platform, p) => linksExt.setLink(platform, { ...p, ...linkIds }),
|
|
182
|
+
clearLink: (platform, p) => linksExt.clearLink(platform, { ...p, ...linkIds }),
|
|
183
|
+
...linksExt.linkTxBuilders(linkIds),
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
// === Generated type-safe Move calls (for tx.add) ===
|
|
187
|
+
get call() {
|
|
188
|
+
return {
|
|
189
|
+
party: bindModulePackage(partyMod, this.#pkg, ["groupMembers", "uid", "uidMut"]),
|
|
190
|
+
profile: bindModulePackage(profileMod, this.#profilePkg, ["profile"]),
|
|
191
|
+
media: bindModulePackage(mediaMod, this.#mediaPkg),
|
|
192
|
+
roles: bindModulePackage(rolesMod, this.#rolesPkg),
|
|
193
|
+
tags: bindModulePackage(tagsMod, this.#tagsPkg),
|
|
194
|
+
cta: bindModulePackage(ctaMod, this.#ctaPkg),
|
|
195
|
+
genre: bindModulePackage(genreMod, this.#partyGenrePkg),
|
|
196
|
+
platformLink: bindModulePackage(platformLinkMod, this.#platformLinkPkg),
|
|
197
|
+
social: bindModulePackage(socialMod, this.#socialPkg),
|
|
198
|
+
music: bindModulePackage(musicMod, this.#musicPkg),
|
|
199
|
+
proLink: bindModulePackage(proLinkMod, this.#proLinkPkg),
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
// === Generated BCS structs (for parsing object/event content) ===
|
|
203
|
+
get bcs() {
|
|
204
|
+
return {
|
|
205
|
+
Party: partyMod.Party,
|
|
206
|
+
PartyAdminCap: partyMod.PartyAdminCap,
|
|
207
|
+
Profile: profileMod.Profile,
|
|
208
|
+
ProfileSetEvent: profileMod.ProfileSetEvent,
|
|
209
|
+
Media: mediaMod.Media,
|
|
210
|
+
MediaSetEvent: mediaMod.MediaSetEvent,
|
|
211
|
+
ArtistRole: rolesMod.ArtistRole,
|
|
212
|
+
RoleAddedEvent: rolesMod.RoleAddedEvent,
|
|
213
|
+
TagAddedEvent: tagsMod.TagAddedEvent,
|
|
214
|
+
Cta: ctaMod.Cta,
|
|
215
|
+
CtasSetEvent: ctaMod.CtasSetEvent,
|
|
216
|
+
GenreAddedEvent: genreMod.GenreAddedEvent,
|
|
217
|
+
LinkSetEvent: platformLinkMod.LinkSetEvent,
|
|
218
|
+
LinkClearedEvent: platformLinkMod.LinkClearedEvent,
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/party/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { TxThunk } from "../transactions.ts";
|
|
2
|
+
import type { Cta } from "../types.ts";
|
|
3
|
+
export interface SetCtasParams {
|
|
4
|
+
partyId: string;
|
|
5
|
+
capId: string;
|
|
6
|
+
/** The ordered CTA list — position is priority. */
|
|
7
|
+
ctas: Cta[];
|
|
8
|
+
partyCtaPackageId: string;
|
|
9
|
+
}
|
|
10
|
+
/** Sets (or replaces) the party's ordered CTA list. */
|
|
11
|
+
export declare function setCtas(params: SetCtasParams): TxThunk;
|
|
12
|
+
export interface ClearCtasParams {
|
|
13
|
+
partyId: string;
|
|
14
|
+
capId: string;
|
|
15
|
+
partyCtaPackageId: string;
|
|
16
|
+
}
|
|
17
|
+
/** Removes the party's CTA list. No-op on-chain if none is set. */
|
|
18
|
+
export declare function clearCtas(params: ClearCtasParams): TxThunk;
|
|
19
|
+
//# sourceMappingURL=ctas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ctas.d.ts","sourceRoot":"","sources":["../../../src/party/extensions/ctas.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,uDAAuD;AACvD,wBAAgB,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAWtD;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,mEAAmE;AACnE,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_cta` extension: a party's ordered call-to-action list (Tickets,
|
|
4
|
+
// Merch, Newsletter, …). Each CTA is a `{ label, url }`; the whole list is written
|
|
5
|
+
// at once (position is priority). The builder constructs each `Cta` via `new_cta`
|
|
6
|
+
// and passes the vector to `set_ctas`.
|
|
7
|
+
import * as ctaMod from "../../contracts/party_cta/party_cta.js";
|
|
8
|
+
/** Sets (or replaces) the party's ordered CTA list. */
|
|
9
|
+
export function setCtas(params) {
|
|
10
|
+
return (tx) => {
|
|
11
|
+
const ctaType = `${params.partyCtaPackageId}::party_cta::Cta`;
|
|
12
|
+
const ctas = tx.makeMoveVec({
|
|
13
|
+
type: ctaType,
|
|
14
|
+
elements: params.ctas.map((c) => tx.add(ctaMod.newCta({ package: params.partyCtaPackageId, arguments: [c.label, c.url] }))),
|
|
15
|
+
});
|
|
16
|
+
tx.add(ctaMod.setCtas({ package: params.partyCtaPackageId, arguments: [params.partyId, params.capId, ctas] }));
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/** Removes the party's CTA list. No-op on-chain if none is set. */
|
|
20
|
+
export function clearCtas(params) {
|
|
21
|
+
return (tx) => {
|
|
22
|
+
tx.add(ctaMod.clearCtas({ package: params.partyCtaPackageId, arguments: [params.partyId, params.capId] }));
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=ctas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ctas.js","sourceRoot":"","sources":["../../../src/party/extensions/ctas.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAEtC,6EAA6E;AAC7E,mFAAmF;AACnF,kFAAkF;AAClF,uCAAuC;AAEvC,OAAO,KAAK,MAAM,MAAM,wCAAwC,CAAC;AAYjE,uDAAuD;AACvD,MAAM,UAAU,OAAO,CAAC,MAAqB;IAC3C,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,MAAM,OAAO,GAAG,GAAG,MAAM,CAAC,iBAAiB,kBAAkB,CAAC;QAC9D,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC;YAC1B,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9B,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAC1F;SACF,CAAC,CAAC;QACH,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,iBAAiB,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACjH,CAAC,CAAC;AACJ,CAAC;AAQD,mEAAmE;AACnE,MAAM,UAAU,SAAS,CAAC,MAAuB;IAC/C,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,iBAAiB,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7G,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { TxThunk } from "../transactions.ts";
|
|
2
|
+
export interface AddGenreParams {
|
|
3
|
+
partyId: string;
|
|
4
|
+
capId: string;
|
|
5
|
+
/** The `genre::Genre` vocabulary object id to tag. */
|
|
6
|
+
genreId: string;
|
|
7
|
+
partyGenrePackageId: string;
|
|
8
|
+
}
|
|
9
|
+
/** Tags a genre on the party. Aborts on-chain if already present or the max is reached. */
|
|
10
|
+
export declare function addGenre(params: AddGenreParams): TxThunk;
|
|
11
|
+
export interface RemoveGenreParams {
|
|
12
|
+
partyId: string;
|
|
13
|
+
capId: string;
|
|
14
|
+
/** The genre id to untag. */
|
|
15
|
+
genreId: string;
|
|
16
|
+
partyGenrePackageId: string;
|
|
17
|
+
}
|
|
18
|
+
/** Untags a genre from the party. Aborts on-chain if not present. */
|
|
19
|
+
export declare function removeGenre(params: RemoveGenreParams): TxThunk;
|
|
20
|
+
export interface ClearGenresParams {
|
|
21
|
+
partyId: string;
|
|
22
|
+
capId: string;
|
|
23
|
+
partyGenrePackageId: string;
|
|
24
|
+
}
|
|
25
|
+
/** Removes the party's entire genre set. No-op on-chain if none is set. */
|
|
26
|
+
export declare function clearGenres(params: ClearGenresParams): TxThunk;
|
|
27
|
+
//# sourceMappingURL=genres.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"genres.d.ts","sourceRoot":"","sources":["../../../src/party/extensions/genres.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,2FAA2F;AAC3F,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CASxD;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,qEAAqE;AACrE,wBAAgB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAS9D;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAI9D"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// Copyright (c) Miso Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
// The `party_genre` extension: a set of `genre::Genre` object ids tagged on a
|
|
4
|
+
// party. `add_genre` takes a `&Genre` vocabulary object (proving the id is a real
|
|
5
|
+
// entry), so the builder passes `tx.object(genreId)`; removal is by id.
|
|
6
|
+
import * as genreMod from "../../contracts/party_genre/party_genre.js";
|
|
7
|
+
/** Tags a genre on the party. Aborts on-chain if already present or the max is reached. */
|
|
8
|
+
export function addGenre(params) {
|
|
9
|
+
return (tx) => {
|
|
10
|
+
tx.add(genreMod.addGenre({
|
|
11
|
+
package: params.partyGenrePackageId,
|
|
12
|
+
arguments: [params.partyId, params.capId, tx.object(params.genreId)],
|
|
13
|
+
}));
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
/** Untags a genre from the party. Aborts on-chain if not present. */
|
|
17
|
+
export function removeGenre(params) {
|
|
18
|
+
return (tx) => {
|
|
19
|
+
tx.add(genreMod.removeGenre({
|
|
20
|
+
package: params.partyGenrePackageId,
|
|
21
|
+
arguments: [params.partyId, params.capId, params.genreId],
|
|
22
|
+
}));
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/** Removes the party's entire genre set. No-op on-chain if none is set. */
|
|
26
|
+
export function clearGenres(params) {
|
|
27
|
+
return (tx) => {
|
|
28
|
+
tx.add(genreMod.clearGenres({ package: params.partyGenrePackageId, arguments: [params.partyId, params.capId] }));
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=genres.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"genres.js","sourceRoot":"","sources":["../../../src/party/extensions/genres.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAEtC,8EAA8E;AAC9E,kFAAkF;AAClF,wEAAwE;AAExE,OAAO,KAAK,QAAQ,MAAM,4CAA4C,CAAC;AAWvE,2FAA2F;AAC3F,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,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACrE,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAUD,qEAAqE;AACrE,MAAM,UAAU,WAAW,CAAC,MAAyB;IACnD,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,EAAE,CAAC,GAAG,CACJ,QAAQ,CAAC,WAAW,CAAC;YACnB,OAAO,EAAE,MAAM,CAAC,mBAAmB;YACnC,SAAS,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;SAC1D,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAQD,2EAA2E;AAC3E,MAAM,UAAU,WAAW,CAAC,MAAyB;IACnD,OAAO,CAAC,EAAE,EAAE,EAAE;QACZ,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,mBAAmB,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACnH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { TxThunk } from "../transactions.ts";
|
|
2
|
+
import type { PlatformKey, PlatformLink } from "../types.ts";
|
|
3
|
+
/** Which payload package a platform's `Data` type + constructor live in. */
|
|
4
|
+
type PayloadPkgKind = "social" | "music" | "pro";
|
|
5
|
+
/** Everything needed to build, store, and rebuild one platform's link. */
|
|
6
|
+
export interface PlatformSpec {
|
|
7
|
+
key: PlatformKey;
|
|
8
|
+
/** Payload package the `Data` type + constructor live in. */
|
|
9
|
+
pkgKind: PayloadPkgKind;
|
|
10
|
+
/** Move module holding the constructor + `Data` type. */
|
|
11
|
+
module: "party_social" | "party_music" | "party_pro_link";
|
|
12
|
+
/** Constructor function (snake_case) — takes a single `String`, returns `PlatformLink<Data>`. */
|
|
13
|
+
ctor: string;
|
|
14
|
+
/** The `Data` type name (e.g. `InstagramData`). */
|
|
15
|
+
dataType: string;
|
|
16
|
+
/** Rebuilds the public URL from the stored native identifier. */
|
|
17
|
+
url: (value: string) => string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Every platform this SDK can link, keyed by `PlatformKey`. The single source of
|
|
21
|
+
* truth: setters, clearers, and the read-side URL/type mapping all derive from it.
|
|
22
|
+
*/
|
|
23
|
+
export declare const PLATFORMS: Record<PlatformKey, PlatformSpec>;
|
|
24
|
+
/** All platform keys, in table order. */
|
|
25
|
+
export declare const PLATFORM_KEYS: PlatformKey[];
|
|
26
|
+
/** The package ids the platform-link facade binds (the facade + the three payload packages). */
|
|
27
|
+
export interface LinkPackageIds {
|
|
28
|
+
partyPlatformLinkPackageId: string;
|
|
29
|
+
partySocialPackageId: string;
|
|
30
|
+
partyMusicPackageId: string;
|
|
31
|
+
partyProLinkPackageId: string;
|
|
32
|
+
}
|
|
33
|
+
export interface SetLinkParams extends LinkPackageIds {
|
|
34
|
+
partyId: string;
|
|
35
|
+
capId: string;
|
|
36
|
+
/** The platform-native identifier to store (handle / id / subdomain / full URL). */
|
|
37
|
+
value: string;
|
|
38
|
+
}
|
|
39
|
+
/** Sets (or replaces) a platform's link on the party. */
|
|
40
|
+
export declare function setLink(platform: PlatformKey, params: SetLinkParams): TxThunk;
|
|
41
|
+
export interface ClearLinkParams extends LinkPackageIds {
|
|
42
|
+
partyId: string;
|
|
43
|
+
capId: string;
|
|
44
|
+
}
|
|
45
|
+
/** Clears a platform's link from the party. No-op on-chain if unset. */
|
|
46
|
+
export declare function clearLink(platform: PlatformKey, params: ClearLinkParams): TxThunk;
|
|
47
|
+
/**
|
|
48
|
+
* The platform for a fully-qualified `Data` type argument, or null if unknown.
|
|
49
|
+
* @param dataType e.g. `0x…::party_social::InstagramData`.
|
|
50
|
+
*/
|
|
51
|
+
export declare function platformForDataType(dataType: string): PlatformKey | null;
|
|
52
|
+
/** Builds a public `PlatformLink` from a platform key and its stored native identifier. */
|
|
53
|
+
export declare function buildLink(platform: PlatformKey, value: string): PlatformLink;
|
|
54
|
+
export type BoundSetLinkParams = Omit<SetLinkParams, keyof LinkPackageIds>;
|
|
55
|
+
export type BoundClearLinkParams = Omit<ClearLinkParams, keyof LinkPackageIds>;
|
|
56
|
+
/** Per-platform `setX` / `clearX` builders, keyed off the table so all ~27 are covered. */
|
|
57
|
+
export type LinkTxBuilders = {
|
|
58
|
+
[K in PlatformKey as `set${Capitalize<K>}`]: (p: BoundSetLinkParams) => TxThunk;
|
|
59
|
+
} & {
|
|
60
|
+
[K in PlatformKey as `clear${Capitalize<K>}`]: (p: BoundClearLinkParams) => TxThunk;
|
|
61
|
+
};
|
|
62
|
+
/** Builds the per-platform link tx builders with `ids` pre-bound. */
|
|
63
|
+
export declare function linkTxBuilders(ids: LinkPackageIds): LinkTxBuilders;
|
|
64
|
+
export {};
|
|
65
|
+
//# sourceMappingURL=links.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../../src/party/extensions/links.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE7D,4EAA4E;AAC5E,KAAK,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;AAEjD,0EAA0E;AAC1E,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,WAAW,CAAC;IACjB,6DAA6D;IAC7D,OAAO,EAAE,cAAc,CAAC;IACxB,yDAAyD;IACzD,MAAM,EAAE,cAAc,GAAG,aAAa,GAAG,gBAAgB,CAAC;IAC1D,iGAAiG;IACjG,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAChC;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,CA+BvD,CAAC;AAEF,yCAAyC;AACzC,eAAO,MAAM,aAAa,EAA6B,WAAW,EAAE,CAAC;AAErE,gGAAgG;AAChG,MAAM,WAAW,cAAc;IAC7B,0BAA0B,EAAE,MAAM,CAAC;IACnC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAkBD,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,KAAK,EAAE,MAAM,CAAC;CACf;AAED,yDAAyD;AACzD,wBAAgB,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAgB7E;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wEAAwE;AACxE,wBAAgB,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAWjF;AAUD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAGxE;AAED,2FAA2F;AAC3F,wBAAgB,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAE5E;AAID,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,cAAc,CAAC,CAAC;AAC3E,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,EAAE,MAAM,cAAc,CAAC,CAAC;AAE/E,2FAA2F;AAC3F,MAAM,MAAM,cAAc,GACtB;KAAG,CAAC,IAAI,WAAW,IAAI,MAAM,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,kBAAkB,KAAK,OAAO;CAAE,GACnF;KAAG,CAAC,IAAI,WAAW,IAAI,QAAQ,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,oBAAoB,KAAK,OAAO;CAAE,CAAC;AAE5F,qEAAqE;AACrE,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,cAAc,CAQlE"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
// Copyright (c) Miso Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
// The platform-link facade: attaches one independent `PlatformLink<Data>` per
|
|
4
|
+
// platform to a party via `party_platform_link`. The payload `Data` types live in
|
|
5
|
+
// their own packages (`party_social`, `party_music`, `party_pro_link`); this file
|
|
6
|
+
// drives all ~27 platforms from a single table (`PLATFORMS`) rather than 27×
|
|
7
|
+
// copy-paste. Each setter builds the link via the platform's constructor move-call
|
|
8
|
+
// (returning a `PlatformLink<…Data>`), then calls `set_link` with the matching
|
|
9
|
+
// `Data` type argument; clearers call `clear_link` with the same type argument.
|
|
10
|
+
// Only the native identifier is stored on-chain; the public URL is rebuilt from it.
|
|
11
|
+
import * as platformLinkMod from "../../contracts/party_platform_link/party_platform_link.js";
|
|
12
|
+
/**
|
|
13
|
+
* Every platform this SDK can link, keyed by `PlatformKey`. The single source of
|
|
14
|
+
* truth: setters, clearers, and the read-side URL/type mapping all derive from it.
|
|
15
|
+
*/
|
|
16
|
+
export const PLATFORMS = {
|
|
17
|
+
// === Social (party_social) ===
|
|
18
|
+
x: { key: "x", pkgKind: "social", module: "party_social", ctor: "x", dataType: "XData", url: (v) => `https://x.com/${v}` },
|
|
19
|
+
instagram: { key: "instagram", pkgKind: "social", module: "party_social", ctor: "instagram", dataType: "InstagramData", url: (v) => `https://instagram.com/${v}` },
|
|
20
|
+
threads: { key: "threads", pkgKind: "social", module: "party_social", ctor: "threads", dataType: "ThreadsData", url: (v) => `https://www.threads.net/@${v}` },
|
|
21
|
+
tiktok: { key: "tiktok", pkgKind: "social", module: "party_social", ctor: "tiktok", dataType: "TikTokData", url: (v) => `https://www.tiktok.com/@${v}` },
|
|
22
|
+
youtube: { key: "youtube", pkgKind: "social", module: "party_social", ctor: "youtube", dataType: "YouTubeData", url: (v) => `https://youtube.com/@${v}` },
|
|
23
|
+
discord: { key: "discord", pkgKind: "social", module: "party_social", ctor: "discord", dataType: "DiscordData", url: (v) => `https://discord.gg/${v}` },
|
|
24
|
+
telegram: { key: "telegram", pkgKind: "social", module: "party_social", ctor: "telegram", dataType: "TelegramData", url: (v) => `https://t.me/${v}` },
|
|
25
|
+
reddit: { key: "reddit", pkgKind: "social", module: "party_social", ctor: "reddit", dataType: "RedditData", url: (v) => `https://reddit.com/user/${v}` },
|
|
26
|
+
twitch: { key: "twitch", pkgKind: "social", module: "party_social", ctor: "twitch", dataType: "TwitchData", url: (v) => `https://twitch.tv/${v}` },
|
|
27
|
+
facebook: { key: "facebook", pkgKind: "social", module: "party_social", ctor: "facebook", dataType: "FacebookData", url: (v) => `https://facebook.com/${v}` },
|
|
28
|
+
// === Music (party_music) ===
|
|
29
|
+
spotify: { key: "spotify", pkgKind: "music", module: "party_music", ctor: "spotify", dataType: "SpotifyData", url: (v) => `https://open.spotify.com/artist/${v}` },
|
|
30
|
+
bandcamp: { key: "bandcamp", pkgKind: "music", module: "party_music", ctor: "bandcamp", dataType: "BandcampData", url: (v) => `https://${v}.bandcamp.com` },
|
|
31
|
+
soundcloud: { key: "soundcloud", pkgKind: "music", module: "party_music", ctor: "soundcloud", dataType: "SoundCloudData", url: (v) => `https://soundcloud.com/${v}` },
|
|
32
|
+
appleMusic: { key: "appleMusic", pkgKind: "music", module: "party_music", ctor: "apple_music", dataType: "AppleMusicData", url: (v) => `https://music.apple.com/artist/${v}` },
|
|
33
|
+
deezer: { key: "deezer", pkgKind: "music", module: "party_music", ctor: "deezer", dataType: "DeezerData", url: (v) => `https://www.deezer.com/artist/${v}` },
|
|
34
|
+
tidal: { key: "tidal", pkgKind: "music", module: "party_music", ctor: "tidal", dataType: "TidalData", url: (v) => `https://tidal.com/artist/${v}` },
|
|
35
|
+
amazonMusic: { key: "amazonMusic", pkgKind: "music", module: "party_music", ctor: "amazon_music", dataType: "AmazonMusicData", url: (v) => `https://music.amazon.com/artists/${v}` },
|
|
36
|
+
audiomack: { key: "audiomack", pkgKind: "music", module: "party_music", ctor: "audiomack", dataType: "AudiomackData", url: (v) => `https://audiomack.com/${v}` },
|
|
37
|
+
// === Professional / industry (party_pro_link). URL-based payloads store a full URL. ===
|
|
38
|
+
website: { key: "website", pkgKind: "pro", module: "party_pro_link", ctor: "website", dataType: "WebsiteData", url: (v) => v },
|
|
39
|
+
bookingPage: { key: "bookingPage", pkgKind: "pro", module: "party_pro_link", ctor: "booking_page", dataType: "BookingPageData", url: (v) => v },
|
|
40
|
+
managementPage: { key: "managementPage", pkgKind: "pro", module: "party_pro_link", ctor: "management_page", dataType: "ManagementPageData", url: (v) => v },
|
|
41
|
+
publisherPage: { key: "publisherPage", pkgKind: "pro", module: "party_pro_link", ctor: "publisher_page", dataType: "PublisherPageData", url: (v) => v },
|
|
42
|
+
labelPage: { key: "labelPage", pkgKind: "pro", module: "party_pro_link", ctor: "label_page", dataType: "LabelPageData", url: (v) => v },
|
|
43
|
+
epk: { key: "epk", pkgKind: "pro", module: "party_pro_link", ctor: "epk", dataType: "EpkData", url: (v) => v },
|
|
44
|
+
patreon: { key: "patreon", pkgKind: "pro", module: "party_pro_link", ctor: "patreon", dataType: "PatreonData", url: (v) => `https://patreon.com/${v}` },
|
|
45
|
+
substack: { key: "substack", pkgKind: "pro", module: "party_pro_link", ctor: "substack", dataType: "SubstackData", url: (v) => `https://${v}.substack.com` },
|
|
46
|
+
kofi: { key: "kofi", pkgKind: "pro", module: "party_pro_link", ctor: "kofi", dataType: "KofiData", url: (v) => `https://ko-fi.com/${v}` },
|
|
47
|
+
};
|
|
48
|
+
/** All platform keys, in table order. */
|
|
49
|
+
export const PLATFORM_KEYS = Object.keys(PLATFORMS);
|
|
50
|
+
function payloadPackageId(spec, ids) {
|
|
51
|
+
switch (spec.pkgKind) {
|
|
52
|
+
case "social":
|
|
53
|
+
return ids.partySocialPackageId;
|
|
54
|
+
case "music":
|
|
55
|
+
return ids.partyMusicPackageId;
|
|
56
|
+
case "pro":
|
|
57
|
+
return ids.partyProLinkPackageId;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/** The fully-qualified Move `Data` type for a platform (e.g. `0x…::party_social::InstagramData`). */
|
|
61
|
+
function dataTypeArg(spec, ids) {
|
|
62
|
+
return `${payloadPackageId(spec, ids)}::${spec.module}::${spec.dataType}`;
|
|
63
|
+
}
|
|
64
|
+
/** Sets (or replaces) a platform's link on the party. */
|
|
65
|
+
export function setLink(platform, params) {
|
|
66
|
+
return (tx) => {
|
|
67
|
+
const spec = PLATFORMS[platform];
|
|
68
|
+
const pkg = payloadPackageId(spec, params);
|
|
69
|
+
const link = tx.moveCall({
|
|
70
|
+
target: `${pkg}::${spec.module}::${spec.ctor}`,
|
|
71
|
+
arguments: [tx.pure.string(params.value)],
|
|
72
|
+
});
|
|
73
|
+
tx.add(platformLinkMod.setLink({
|
|
74
|
+
package: params.partyPlatformLinkPackageId,
|
|
75
|
+
typeArguments: [dataTypeArg(spec, params)],
|
|
76
|
+
arguments: [params.partyId, params.capId, link],
|
|
77
|
+
}));
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/** Clears a platform's link from the party. No-op on-chain if unset. */
|
|
81
|
+
export function clearLink(platform, params) {
|
|
82
|
+
return (tx) => {
|
|
83
|
+
const spec = PLATFORMS[platform];
|
|
84
|
+
tx.add(platformLinkMod.clearLink({
|
|
85
|
+
package: params.partyPlatformLinkPackageId,
|
|
86
|
+
typeArguments: [dataTypeArg(spec, params)],
|
|
87
|
+
arguments: [params.partyId, params.capId],
|
|
88
|
+
}));
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
// === Read helpers ===
|
|
92
|
+
// The Move `Data` type suffix (`<module>::<dataType>`) → platform key. The package
|
|
93
|
+
// id prefix varies, so match on the last two `::` segments (unique across the table).
|
|
94
|
+
const BY_MOVE_TYPE = Object.fromEntries(PLATFORM_KEYS.map((k) => [`${PLATFORMS[k].module}::${PLATFORMS[k].dataType}`, k]));
|
|
95
|
+
/**
|
|
96
|
+
* The platform for a fully-qualified `Data` type argument, or null if unknown.
|
|
97
|
+
* @param dataType e.g. `0x…::party_social::InstagramData`.
|
|
98
|
+
*/
|
|
99
|
+
export function platformForDataType(dataType) {
|
|
100
|
+
const suffix = dataType.split("::").slice(-2).join("::");
|
|
101
|
+
return BY_MOVE_TYPE[suffix] ?? null;
|
|
102
|
+
}
|
|
103
|
+
/** Builds a public `PlatformLink` from a platform key and its stored native identifier. */
|
|
104
|
+
export function buildLink(platform, value) {
|
|
105
|
+
return { platform, value, url: PLATFORMS[platform].url(value) };
|
|
106
|
+
}
|
|
107
|
+
/** Builds the per-platform link tx builders with `ids` pre-bound. */
|
|
108
|
+
export function linkTxBuilders(ids) {
|
|
109
|
+
const out = {};
|
|
110
|
+
for (const key of PLATFORM_KEYS) {
|
|
111
|
+
const cap = key.charAt(0).toUpperCase() + key.slice(1);
|
|
112
|
+
out[`set${cap}`] = (p) => setLink(key, { ...p, ...ids });
|
|
113
|
+
out[`clear${cap}`] = (p) => clearLink(key, { ...p, ...ids });
|
|
114
|
+
}
|
|
115
|
+
return out;
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=links.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"links.js","sourceRoot":"","sources":["../../../src/party/extensions/links.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { TxThunk } from "../transactions.ts";
|
|
2
|
+
import type { Media } from "../types.ts";
|
|
3
|
+
/**
|
|
4
|
+
* Quilt patch identifiers party media uses, in role order. Uploaders store images
|
|
5
|
+
* under these identifiers; readers fetch by them. This is the whole "meaning" the
|
|
6
|
+
* chain defers to the client.
|
|
7
|
+
*/
|
|
8
|
+
export declare const MEDIA_IDENTIFIERS: {
|
|
9
|
+
readonly avatar: "avatar";
|
|
10
|
+
readonly header: "header";
|
|
11
|
+
};
|
|
12
|
+
export type MediaIdentifier = (typeof MEDIA_IDENTIFIERS)[keyof typeof MEDIA_IDENTIFIERS];
|
|
13
|
+
export interface SetMediaParams {
|
|
14
|
+
partyId: string;
|
|
15
|
+
capId: string;
|
|
16
|
+
/** Walrus quilt blob id (base64url), e.g. from `walrus store-quilt`. */
|
|
17
|
+
quiltId: string;
|
|
18
|
+
partyMediaPackageId: string;
|
|
19
|
+
}
|
|
20
|
+
/** Sets (or replaces) the party's media quilt. */
|
|
21
|
+
export declare function setMedia(params: SetMediaParams): TxThunk;
|
|
22
|
+
export interface ClearMediaParams {
|
|
23
|
+
partyId: string;
|
|
24
|
+
capId: string;
|
|
25
|
+
partyMediaPackageId: string;
|
|
26
|
+
}
|
|
27
|
+
/** Removes the party's media entirely. No-op on-chain if none is set. */
|
|
28
|
+
export declare function clearMedia(params: ClearMediaParams): TxThunk;
|
|
29
|
+
/** Aggregator URL for one image in a party's quilt, addressed by identifier. */
|
|
30
|
+
export declare function mediaImageUrl(aggregatorUrl: string, quiltId: string, identifier: string): string;
|
|
31
|
+
/** The avatar + header image URLs for a party's media, or null if unset. */
|
|
32
|
+
export declare function mediaUrls(aggregatorUrl: string, media: Media | null): {
|
|
33
|
+
avatar: string;
|
|
34
|
+
header: string;
|
|
35
|
+
} | null;
|
|
36
|
+
//# sourceMappingURL=media.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../../src/party/extensions/media.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;CAAkD,CAAC;AACjF,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAEzF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,kDAAkD;AAClD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CASxD;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,yEAAyE;AACzE,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAI5D;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEhG;AAED,4EAA4E;AAC5E,wBAAgB,SAAS,CACvB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,KAAK,GAAG,IAAI,GAClB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAM3C"}
|