@misofm/sdk 0.9.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +88 -56
- package/dist/client.d.ts +121 -18
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +200 -44
- package/dist/client.js.map +1 -1
- package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts +205 -0
- package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts.map +1 -0
- package/dist/contracts/composition_routed_stake/composition_routed_stake.js +184 -0
- package/dist/contracts/composition_routed_stake/composition_routed_stake.js.map +1 -0
- package/dist/contracts/composition_routed_stake/witness.d.ts +7 -0
- package/dist/contracts/composition_routed_stake/witness.d.ts.map +1 -0
- package/dist/contracts/composition_routed_stake/witness.js +9 -0
- package/dist/contracts/composition_routed_stake/witness.js.map +1 -0
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts +89 -28
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts.map +1 -1
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js +84 -23
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js.map +1 -1
- package/dist/contracts/composition_royalty_pool/witness.d.ts +6 -0
- package/dist/contracts/composition_royalty_pool/witness.d.ts.map +1 -0
- package/dist/contracts/composition_royalty_pool/witness.js +8 -0
- package/dist/contracts/composition_royalty_pool/witness.js.map +1 -0
- package/dist/contracts/genre/genre.d.ts +96 -0
- package/dist/contracts/genre/genre.d.ts.map +1 -0
- package/dist/contracts/genre/genre.js +107 -0
- package/dist/contracts/genre/genre.js.map +1 -0
- package/dist/contracts/recording_advisory/recording_advisory.d.ts +194 -0
- package/dist/contracts/recording_advisory/recording_advisory.d.ts.map +1 -0
- package/dist/contracts/recording_advisory/recording_advisory.js +204 -0
- package/dist/contracts/recording_advisory/recording_advisory.js.map +1 -0
- package/dist/contracts/recording_language/deps/language_code/language_code.d.ts +6 -0
- package/dist/contracts/recording_language/deps/language_code/language_code.d.ts.map +1 -0
- package/dist/contracts/recording_language/deps/language_code/language_code.js +8 -0
- package/dist/contracts/recording_language/deps/language_code/language_code.js.map +1 -0
- package/dist/contracts/recording_language/recording_language.d.ts +152 -0
- package/dist/contracts/recording_language/recording_language.d.ts.map +1 -0
- package/dist/contracts/recording_language/recording_language.js +149 -0
- package/dist/contracts/recording_language/recording_language.js.map +1 -0
- package/dist/contracts/recording_master_reference/deps/ori/walrus_data.d.ts +52 -0
- package/dist/contracts/recording_master_reference/deps/ori/walrus_data.d.ts.map +1 -0
- package/dist/contracts/recording_master_reference/deps/ori/walrus_data.js +37 -0
- package/dist/contracts/recording_master_reference/deps/ori/walrus_data.js.map +1 -0
- package/dist/contracts/recording_master_reference/recording_master_reference.d.ts +131 -0
- package/dist/contracts/recording_master_reference/recording_master_reference.d.ts.map +1 -0
- package/dist/contracts/recording_master_reference/recording_master_reference.js +121 -0
- package/dist/contracts/recording_master_reference/recording_master_reference.js.map +1 -0
- package/dist/contracts/recording_preview/deps/ori/walrus_data.d.ts +52 -0
- package/dist/contracts/recording_preview/deps/ori/walrus_data.d.ts.map +1 -0
- package/dist/contracts/recording_preview/deps/ori/walrus_data.js +37 -0
- package/dist/contracts/recording_preview/deps/ori/walrus_data.js.map +1 -0
- package/dist/contracts/recording_preview/recording_preview.d.ts +104 -0
- package/dist/contracts/recording_preview/recording_preview.d.ts.map +1 -0
- package/dist/contracts/recording_preview/recording_preview.js +94 -0
- package/dist/contracts/recording_preview/recording_preview.js.map +1 -0
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts +90 -28
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts.map +1 -1
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js +84 -23
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js.map +1 -1
- package/dist/contracts/recording_royalty_pool/witness.d.ts +6 -0
- package/dist/contracts/recording_royalty_pool/witness.d.ts.map +1 -0
- package/dist/contracts/recording_royalty_pool/witness.js +8 -0
- package/dist/contracts/recording_royalty_pool/witness.js.map +1 -0
- package/dist/contracts/release_description/release_description.d.ts +112 -0
- package/dist/contracts/release_description/release_description.d.ts.map +1 -0
- package/dist/contracts/release_description/release_description.js +123 -0
- package/dist/contracts/release_description/release_description.js.map +1 -0
- package/dist/contracts/release_dsp_link/release_dsp_link.d.ts +644 -0
- package/dist/contracts/release_dsp_link/release_dsp_link.d.ts.map +1 -0
- package/dist/contracts/release_dsp_link/release_dsp_link.js +556 -0
- package/dist/contracts/release_dsp_link/release_dsp_link.js.map +1 -0
- package/dist/contracts/release_genre/deps/per_track/per_track.d.ts +33 -0
- package/dist/contracts/release_genre/deps/per_track/per_track.d.ts.map +1 -0
- package/dist/contracts/release_genre/deps/per_track/per_track.js +32 -0
- package/dist/contracts/release_genre/deps/per_track/per_track.js.map +1 -0
- package/dist/contracts/release_genre/release_genre.d.ts +193 -0
- package/dist/contracts/release_genre/release_genre.d.ts.map +1 -0
- package/dist/contracts/release_genre/release_genre.js +207 -0
- package/dist/contracts/release_genre/release_genre.js.map +1 -0
- package/dist/contracts/release_kind/release_kind.d.ts +98 -0
- package/dist/contracts/release_kind/release_kind.d.ts.map +1 -0
- package/dist/contracts/release_kind/release_kind.js +109 -0
- package/dist/contracts/release_kind/release_kind.js.map +1 -0
- package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts +106 -0
- package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts.map +1 -0
- package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js +113 -0
- package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js.map +1 -0
- package/dist/contracts/release_revenue_distributor/witness.d.ts +7 -0
- package/dist/contracts/release_revenue_distributor/witness.d.ts.map +1 -0
- package/dist/contracts/release_revenue_distributor/witness.js +9 -0
- package/dist/contracts/release_revenue_distributor/witness.js.map +1 -0
- package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts +54 -0
- package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts.map +1 -0
- package/dist/contracts/routed_stake/deps/royalty_pool/stake.js +37 -0
- package/dist/contracts/routed_stake/deps/royalty_pool/stake.js.map +1 -0
- package/dist/contracts/routed_stake/deps/std/type_name.d.ts +18 -0
- package/dist/contracts/routed_stake/deps/std/type_name.d.ts.map +1 -0
- package/dist/contracts/routed_stake/deps/std/type_name.js +20 -0
- package/dist/contracts/routed_stake/deps/std/type_name.js.map +1 -0
- package/dist/contracts/routed_stake/deps/sui/balance.d.ts +13 -0
- package/dist/contracts/routed_stake/deps/sui/balance.d.ts.map +1 -0
- package/dist/contracts/routed_stake/deps/sui/balance.js +15 -0
- package/dist/contracts/routed_stake/deps/sui/balance.js.map +1 -0
- package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts +37 -0
- package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts.map +1 -0
- package/dist/contracts/routed_stake/deps/sui/vec_map.js +28 -0
- package/dist/contracts/routed_stake/deps/sui/vec_map.js.map +1 -0
- package/dist/contracts/routed_stake/routed_stake.d.ts +356 -0
- package/dist/contracts/routed_stake/routed_stake.d.ts.map +1 -0
- package/dist/contracts/routed_stake/routed_stake.js +311 -0
- package/dist/contracts/routed_stake/routed_stake.js.map +1 -0
- package/dist/contracts/royalty_pool/pool.d.ts +27 -17
- package/dist/contracts/royalty_pool/pool.d.ts.map +1 -1
- package/dist/contracts/royalty_pool/pool.js +26 -17
- package/dist/contracts/royalty_pool/pool.js.map +1 -1
- package/dist/contracts/vault/deps/sui/bag.d.ts +35 -0
- package/dist/contracts/vault/deps/sui/bag.d.ts.map +1 -0
- package/dist/contracts/vault/deps/sui/bag.js +37 -0
- package/dist/contracts/vault/deps/sui/bag.js.map +1 -0
- package/dist/contracts/vault/deps/sui/borrow.d.ts +20 -0
- package/dist/contracts/vault/deps/sui/borrow.d.ts.map +1 -0
- package/dist/contracts/vault/deps/sui/borrow.js +21 -0
- package/dist/contracts/vault/deps/sui/borrow.js.map +1 -0
- package/dist/contracts/vault/vault.d.ts +276 -0
- package/dist/contracts/vault/vault.d.ts.map +1 -0
- package/dist/contracts/vault/vault.js +274 -0
- package/dist/contracts/vault/vault.js.map +1 -0
- package/dist/contracts.d.ts +13 -2
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +15 -7
- package/dist/contracts.js.map +1 -1
- package/dist/cover.d.ts +17 -3
- package/dist/cover.d.ts.map +1 -1
- package/dist/cover.js +43 -20
- package/dist/cover.js.map +1 -1
- package/dist/credits.d.ts +31 -12
- package/dist/credits.d.ts.map +1 -1
- package/dist/credits.js +41 -25
- package/dist/credits.js.map +1 -1
- package/dist/deployments.d.ts +30 -57
- package/dist/deployments.d.ts.map +1 -1
- package/dist/deployments.js +5 -53
- package/dist/deployments.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -5
- package/dist/index.js.map +1 -1
- package/dist/pressing.d.ts +8 -7
- package/dist/pressing.d.ts.map +1 -1
- package/dist/pressing.js +91 -32
- package/dist/pressing.js.map +1 -1
- package/dist/read/artist.js +3 -3
- package/dist/read/artist.js.map +1 -1
- package/dist/read/catalog.d.ts +14 -9
- package/dist/read/catalog.d.ts.map +1 -1
- package/dist/read/catalog.js +71 -37
- package/dist/read/catalog.js.map +1 -1
- package/dist/read/client.d.ts +4 -2
- package/dist/read/client.d.ts.map +1 -1
- package/dist/read/client.js +15 -4
- package/dist/read/client.js.map +1 -1
- package/dist/read/config.d.ts +14 -11
- package/dist/read/config.d.ts.map +1 -1
- package/dist/read/config.js +10 -37
- package/dist/read/config.js.map +1 -1
- package/dist/read/index.d.ts +2 -2
- package/dist/read/index.d.ts.map +1 -1
- package/dist/read/index.js +1 -1
- package/dist/read/index.js.map +1 -1
- package/dist/read/receipts.d.ts +24 -7
- package/dist/read/receipts.d.ts.map +1 -1
- package/dist/read/receipts.js +78 -25
- package/dist/read/receipts.js.map +1 -1
- package/dist/read/types.d.ts +43 -25
- package/dist/read/types.d.ts.map +1 -1
- package/dist/read/types.js +2 -2
- package/dist/read/types.js.map +1 -1
- package/dist/recording-extensions.d.ts +37 -0
- package/dist/recording-extensions.d.ts.map +1 -0
- package/dist/recording-extensions.js +61 -0
- package/dist/recording-extensions.js.map +1 -0
- package/dist/release-extensions.d.ts +84 -0
- package/dist/release-extensions.d.ts.map +1 -0
- package/dist/release-extensions.js +160 -0
- package/dist/release-extensions.js.map +1 -0
- package/dist/release-graph.d.ts +17 -26
- package/dist/release-graph.d.ts.map +1 -1
- package/dist/release-graph.js +55 -49
- package/dist/release-graph.js.map +1 -1
- package/dist/transactions.d.ts +43 -24
- package/dist/transactions.d.ts.map +1 -1
- package/dist/transactions.js +48 -27
- package/dist/transactions.js.map +1 -1
- package/dist/vault.d.ts +268 -0
- package/dist/vault.d.ts.map +1 -0
- package/dist/vault.js +389 -0
- package/dist/vault.js.map +1 -0
- package/package.json +17 -11
- package/src/client.ts +399 -61
- package/src/contracts/composition_routed_stake/composition_routed_stake.ts +346 -0
- package/src/contracts/composition_routed_stake/witness.ts +11 -0
- package/src/contracts/composition_royalty_pool/composition_royalty_pool.ts +151 -35
- package/src/contracts/composition_royalty_pool/witness.ts +7 -0
- package/src/contracts/genre/genre.ts +151 -0
- package/src/contracts/recording_advisory/recording_advisory.ts +315 -0
- package/src/contracts/recording_language/deps/language_code/language_code.ts +7 -0
- package/src/contracts/recording_language/recording_language.ts +237 -0
- package/src/contracts/recording_master_reference/deps/ori/walrus_data.ts +36 -0
- package/src/contracts/recording_master_reference/recording_master_reference.ts +181 -0
- package/src/contracts/recording_preview/deps/ori/walrus_data.ts +36 -0
- package/src/contracts/recording_preview/recording_preview.ts +154 -0
- package/src/contracts/recording_royalty_pool/recording_royalty_pool.ts +152 -35
- package/src/contracts/recording_royalty_pool/witness.ts +7 -0
- package/src/contracts/release_description/release_description.ts +167 -0
- package/src/contracts/release_dsp_link/release_dsp_link.ts +813 -0
- package/src/contracts/release_genre/deps/per_track/per_track.ts +36 -0
- package/src/contracts/release_genre/release_genre.ts +314 -0
- package/src/contracts/release_kind/release_kind.ts +153 -0
- package/src/contracts/release_revenue_distributor/release_revenue_distributor.ts +178 -0
- package/src/contracts/release_revenue_distributor/witness.ts +11 -0
- package/src/contracts/routed_stake/deps/royalty_pool/stake.ts +39 -0
- package/src/contracts/routed_stake/deps/std/type_name.ts +22 -0
- package/src/contracts/routed_stake/deps/sui/balance.ts +17 -0
- package/src/contracts/routed_stake/deps/sui/vec_map.ts +33 -0
- package/src/contracts/routed_stake/routed_stake.ts +508 -0
- package/src/contracts/royalty_pool/pool.ts +34 -24
- package/src/contracts/vault/deps/sui/bag.ts +39 -0
- package/src/contracts/vault/deps/sui/borrow.ts +25 -0
- package/src/contracts/vault/vault.ts +454 -0
- package/src/contracts.ts +16 -9
- package/src/cover.ts +62 -37
- package/src/credits.ts +64 -51
- package/src/deployments.ts +35 -97
- package/src/index.ts +11 -5
- package/src/pressing.ts +135 -39
- package/src/read/artist.ts +3 -3
- package/src/read/catalog.ts +99 -44
- package/src/read/client.ts +20 -4
- package/src/read/config.ts +23 -49
- package/src/read/index.ts +3 -1
- package/src/read/receipts.ts +103 -26
- package/src/read/types.ts +44 -27
- package/src/recording-extensions.ts +102 -0
- package/src/release-extensions.ts +261 -0
- package/src/release-graph.ts +68 -81
- package/src/transactions.ts +79 -53
- package/src/vault.ts +777 -0
- package/dist/contracts/miso_drop/drop.d.ts +0 -550
- package/dist/contracts/miso_drop/drop.d.ts.map +0 -1
- package/dist/contracts/miso_drop/drop.js +0 -523
- package/dist/contracts/miso_drop/drop.js.map +0 -1
- package/dist/contracts/release_registry/release_registry.d.ts +0 -114
- package/dist/contracts/release_registry/release_registry.d.ts.map +0 -1
- package/dist/contracts/release_registry/release_registry.js +0 -119
- package/dist/contracts/release_registry/release_registry.js.map +0 -1
- package/dist/drop.d.ts +0 -127
- package/dist/drop.d.ts.map +0 -1
- package/dist/drop.js +0 -202
- package/dist/drop.js.map +0 -1
- package/dist/extensions/royalty-pool.d.ts +0 -32
- package/dist/extensions/royalty-pool.d.ts.map +0 -1
- package/dist/extensions/royalty-pool.js +0 -33
- package/dist/extensions/royalty-pool.js.map +0 -1
- package/src/contracts/miso_drop/drop.ts +0 -798
- package/src/contracts/release_registry/release_registry.ts +0 -160
- package/src/drop.ts +0 -376
- package/src/extensions/royalty-pool.ts +0 -90
|
@@ -0,0 +1,556 @@
|
|
|
1
|
+
/**************************************************************
|
|
2
|
+
* THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
|
|
3
|
+
**************************************************************/
|
|
4
|
+
/**
|
|
5
|
+
* Streaming deep links for a Miso release, one Digital Service Provider (DSP) at a
|
|
6
|
+
* time. Attaches `DspLinkData` records to a `miso::release::Release`: an
|
|
7
|
+
* album-level link per DSP, plus an optional per-track link per DSP.
|
|
8
|
+
*
|
|
9
|
+
* `DspLinkData` is a single built-in enum with one variant per DSP, holding that
|
|
10
|
+
* DSP's native identifier(s) — e.g. a Spotify album id, or Apple Music's
|
|
11
|
+
* `(storefront, album_id, track_id)`. URLs are never stored: a client rebuilds the
|
|
12
|
+
* public URL from the variant it reads back, so a DSP reshaping its URLs needs no
|
|
13
|
+
* on-chain change. Storage is keyed by the variant's platform code (a `u8`
|
|
14
|
+
* discriminant matching declaration order, via `platform()`), so each DSP occupies
|
|
15
|
+
* its own independent dynamic field on the release's `UID` — adding or clearing
|
|
16
|
+
* one DSP's link never touches another's.
|
|
17
|
+
*
|
|
18
|
+
* Two levels per DSP: the album-level link is the single `DspLinkData` stored
|
|
19
|
+
* under `ReleaseLinkKey(platform)`; the per-track links are a
|
|
20
|
+
* `PerTrack<Option<DspLinkData>>` stored under `TrackLinksKey(platform)` (one slot
|
|
21
|
+
* per track, aligned to the tracklist by construction). A track whose slot is
|
|
22
|
+
* `none` inherits the album-level link at the frontend.
|
|
23
|
+
*
|
|
24
|
+
* Streaming presence is presentation, not protocol-verifiable state, so it lives
|
|
25
|
+
* on the release (the consumer object), not the recording. All writes are gated by
|
|
26
|
+
* the `ReleaseAdminCap` via `uid_mut`; views are permissionless.
|
|
27
|
+
*/
|
|
28
|
+
import { MoveTuple, MoveEnum, MoveStruct, normalizeMoveArguments } from '../utils/index.js';
|
|
29
|
+
import { bcs } from '@mysten/sui/bcs';
|
|
30
|
+
import {} from '@mysten/sui/transactions';
|
|
31
|
+
const $moduleName = '@local-pkg/release_dsp_link::release_dsp_link';
|
|
32
|
+
export const ReleaseLinkKey = new MoveTuple({ name: `${$moduleName}::ReleaseLinkKey`, fields: [bcs.u8()] });
|
|
33
|
+
export const TrackLinksKey = new MoveTuple({ name: `${$moduleName}::TrackLinksKey`, fields: [bcs.u8()] });
|
|
34
|
+
/**
|
|
35
|
+
* A link to a release (or one of its tracks) on a single DSP, one variant per
|
|
36
|
+
* platform. Which slot a value is stored in — the album-level slot or a per-track
|
|
37
|
+
* slot — decides whether it addresses the release or one track; most DSPs use the
|
|
38
|
+
* same identifier shape for both, which is why a variant doesn't carry an explicit
|
|
39
|
+
* album/track flag.
|
|
40
|
+
*
|
|
41
|
+
* **Variant order is frozen.** Storage keys off `platform()`, a `u8` discriminant
|
|
42
|
+
* matching declaration order (`Spotify = 0` … `YouTubeMusic = 7`). Sui's
|
|
43
|
+
* compatible-upgrade policy allows appending new enum variants but not reordering
|
|
44
|
+
* or removing existing ones, so a new platform is always appended at the end in a
|
|
45
|
+
* package upgrade — existing BCS variant indices, and therefore existing
|
|
46
|
+
* dynamic-field keys, stay stable.
|
|
47
|
+
*/
|
|
48
|
+
export const DspLinkData = new MoveEnum({ name: `${$moduleName}::DspLinkData`, fields: {
|
|
49
|
+
/**
|
|
50
|
+
* Spotify addresses both albums and tracks by a single 22-char base62 id
|
|
51
|
+
* (`open.spotify.com/album/{id}` or `/track/{id}`); album-vs-track is chosen by
|
|
52
|
+
* where the link is stored, so one `id` field serves both.
|
|
53
|
+
*/
|
|
54
|
+
Spotify: new MoveStruct({ name: `DspLinkData.Spotify`, fields: {
|
|
55
|
+
id: bcs.string()
|
|
56
|
+
} }),
|
|
57
|
+
/**
|
|
58
|
+
* Apple Music: an album is `music.apple.com/{storefront}/album/{album_id}`; a
|
|
59
|
+
* track within it adds the `?i={track_id}` selector. `storefront` is the
|
|
60
|
+
* two-letter region (e.g. `us`), and because a track link still needs the album
|
|
61
|
+
* id, the album id is always present. The optional `track_id` distinguishes the
|
|
62
|
+
* two forms — clients emit the track URL when it is set, the album URL otherwise.
|
|
63
|
+
* The canonical web URL carries a cosmetic name slug (`/album/{slug}/{album_id}`);
|
|
64
|
+
* only the trailing numeric `album_id` is stored, and Apple resolves the slug-less
|
|
65
|
+
* form.
|
|
66
|
+
*/
|
|
67
|
+
AppleMusic: new MoveStruct({ name: `DspLinkData.AppleMusic`, fields: {
|
|
68
|
+
storefront: bcs.string(),
|
|
69
|
+
album_id: bcs.string(),
|
|
70
|
+
track_id: bcs.option(bcs.string())
|
|
71
|
+
} }),
|
|
72
|
+
/**
|
|
73
|
+
* Amazon Music: an album is `music.amazon.com/albums/{album_id}`; a track within
|
|
74
|
+
* it adds the `?trackAsin={track_id}` selector. Ids are ASINs (e.g. `B0064UPU4G`).
|
|
75
|
+
* The optional `track_id` distinguishes the two forms — clients emit the track URL
|
|
76
|
+
* when it is set, the album URL otherwise.
|
|
77
|
+
*/
|
|
78
|
+
AmazonMusic: new MoveStruct({ name: `DspLinkData.AmazonMusic`, fields: {
|
|
79
|
+
album_id: bcs.string(),
|
|
80
|
+
track_id: bcs.option(bcs.string())
|
|
81
|
+
} }),
|
|
82
|
+
/**
|
|
83
|
+
* Bandcamp addresses by artist subdomain + slug: an album is
|
|
84
|
+
* `{subdomain}.bandcamp.com/album/{slug}` and a track is
|
|
85
|
+
* `{subdomain}.bandcamp.com/track/{slug}`. Album-vs-track is chosen by where the
|
|
86
|
+
* link is stored, so one `(subdomain, slug)` pair serves both.
|
|
87
|
+
*/
|
|
88
|
+
Bandcamp: new MoveStruct({ name: `DspLinkData.Bandcamp`, fields: {
|
|
89
|
+
subdomain: bcs.string(),
|
|
90
|
+
slug: bcs.string()
|
|
91
|
+
} }),
|
|
92
|
+
/**
|
|
93
|
+
* Deezer addresses albums and tracks by a numeric id (`www.deezer.com/album/{id}`
|
|
94
|
+
* / `www.deezer.com/track/{id}`; a `/{locale}/` segment may appear but is
|
|
95
|
+
* optional). Album-vs-track is chosen by where the link is stored, so one `id`
|
|
96
|
+
* field serves both.
|
|
97
|
+
*/
|
|
98
|
+
Deezer: new MoveStruct({ name: `DspLinkData.Deezer`, fields: {
|
|
99
|
+
id: bcs.string()
|
|
100
|
+
} }),
|
|
101
|
+
/**
|
|
102
|
+
* SoundCloud is slug-addressed, not numeric: an album/playlist is
|
|
103
|
+
* `soundcloud.com/{user}/sets/{slug}` and a track is
|
|
104
|
+
* `soundcloud.com/{user}/{slug}`. Album-vs-track is chosen by where the link is
|
|
105
|
+
* stored, so one `(user, slug)` pair serves both.
|
|
106
|
+
*/
|
|
107
|
+
SoundCloud: new MoveStruct({ name: `DspLinkData.SoundCloud`, fields: {
|
|
108
|
+
user: bcs.string(),
|
|
109
|
+
slug: bcs.string()
|
|
110
|
+
} }),
|
|
111
|
+
/**
|
|
112
|
+
* Tidal addresses albums and tracks by a numeric id (`tidal.com/album/{id}` /
|
|
113
|
+
* `tidal.com/track/{id}`; the older `tidal.com/browse/album/{id}` form also
|
|
114
|
+
* resolves). Album-vs-track is chosen by where the link is stored, so one `id`
|
|
115
|
+
* field serves both.
|
|
116
|
+
*/
|
|
117
|
+
Tidal: new MoveStruct({ name: `DspLinkData.Tidal`, fields: {
|
|
118
|
+
id: bcs.string()
|
|
119
|
+
} }),
|
|
120
|
+
/**
|
|
121
|
+
* YouTube Music: an album is a playlist (`music.youtube.com/playlist?list={id}`)
|
|
122
|
+
* and a track is a video (`music.youtube.com/watch?v={id}`). The `id` holds the
|
|
123
|
+
* playlist id at the release level and the video id per track; album-vs-track is
|
|
124
|
+
* chosen by where the link is stored, so one `id` field serves both.
|
|
125
|
+
*/
|
|
126
|
+
YouTubeMusic: new MoveStruct({ name: `DspLinkData.YouTubeMusic`, fields: {
|
|
127
|
+
id: bcs.string()
|
|
128
|
+
} })
|
|
129
|
+
} });
|
|
130
|
+
export const ReleaseLinkSetEvent = new MoveStruct({ name: `${$moduleName}::ReleaseLinkSetEvent`, fields: {
|
|
131
|
+
release_id: bcs.Address,
|
|
132
|
+
link: DspLinkData
|
|
133
|
+
} });
|
|
134
|
+
export const ReleaseLinkClearedEvent = new MoveStruct({ name: `${$moduleName}::ReleaseLinkClearedEvent`, fields: {
|
|
135
|
+
release_id: bcs.Address,
|
|
136
|
+
platform: bcs.u8()
|
|
137
|
+
} });
|
|
138
|
+
export const TrackLinkSetEvent = new MoveStruct({ name: `${$moduleName}::TrackLinkSetEvent`, fields: {
|
|
139
|
+
release_id: bcs.Address,
|
|
140
|
+
platform: bcs.u8(),
|
|
141
|
+
track_index: bcs.u64(),
|
|
142
|
+
link: bcs.option(DspLinkData)
|
|
143
|
+
} });
|
|
144
|
+
export const TrackLinksClearedEvent = new MoveStruct({ name: `${$moduleName}::TrackLinksClearedEvent`, fields: {
|
|
145
|
+
release_id: bcs.Address,
|
|
146
|
+
platform: bcs.u8()
|
|
147
|
+
} });
|
|
148
|
+
/**
|
|
149
|
+
* The link's platform code — the `u8` discriminant clients pass to
|
|
150
|
+
* `clear_release_link`, `clear_track_link`, `clear_track_links`, and the view
|
|
151
|
+
* functions below.
|
|
152
|
+
*/
|
|
153
|
+
export function platform(options) {
|
|
154
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
155
|
+
const argumentsTypes = [
|
|
156
|
+
null
|
|
157
|
+
];
|
|
158
|
+
const parameterNames = ["self"];
|
|
159
|
+
return (tx) => tx.moveCall({
|
|
160
|
+
package: packageAddress,
|
|
161
|
+
module: 'release_dsp_link',
|
|
162
|
+
function: 'platform',
|
|
163
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
/** Platform code for `Spotify`. */
|
|
167
|
+
export function platformSpotify(options = {}) {
|
|
168
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
169
|
+
return (tx) => tx.moveCall({
|
|
170
|
+
package: packageAddress,
|
|
171
|
+
module: 'release_dsp_link',
|
|
172
|
+
function: 'platform_spotify',
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
/** Platform code for `AppleMusic`. */
|
|
176
|
+
export function platformAppleMusic(options = {}) {
|
|
177
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
178
|
+
return (tx) => tx.moveCall({
|
|
179
|
+
package: packageAddress,
|
|
180
|
+
module: 'release_dsp_link',
|
|
181
|
+
function: 'platform_apple_music',
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
/** Platform code for `AmazonMusic`. */
|
|
185
|
+
export function platformAmazonMusic(options = {}) {
|
|
186
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
187
|
+
return (tx) => tx.moveCall({
|
|
188
|
+
package: packageAddress,
|
|
189
|
+
module: 'release_dsp_link',
|
|
190
|
+
function: 'platform_amazon_music',
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
/** Platform code for `Bandcamp`. */
|
|
194
|
+
export function platformBandcamp(options = {}) {
|
|
195
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
196
|
+
return (tx) => tx.moveCall({
|
|
197
|
+
package: packageAddress,
|
|
198
|
+
module: 'release_dsp_link',
|
|
199
|
+
function: 'platform_bandcamp',
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
/** Platform code for `Deezer`. */
|
|
203
|
+
export function platformDeezer(options = {}) {
|
|
204
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
205
|
+
return (tx) => tx.moveCall({
|
|
206
|
+
package: packageAddress,
|
|
207
|
+
module: 'release_dsp_link',
|
|
208
|
+
function: 'platform_deezer',
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
/** Platform code for `SoundCloud`. */
|
|
212
|
+
export function platformSoundcloud(options = {}) {
|
|
213
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
214
|
+
return (tx) => tx.moveCall({
|
|
215
|
+
package: packageAddress,
|
|
216
|
+
module: 'release_dsp_link',
|
|
217
|
+
function: 'platform_soundcloud',
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
/** Platform code for `Tidal`. */
|
|
221
|
+
export function platformTidal(options = {}) {
|
|
222
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
223
|
+
return (tx) => tx.moveCall({
|
|
224
|
+
package: packageAddress,
|
|
225
|
+
module: 'release_dsp_link',
|
|
226
|
+
function: 'platform_tidal',
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
/** Platform code for `YouTubeMusic`. */
|
|
230
|
+
export function platformYoutubeMusic(options = {}) {
|
|
231
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
232
|
+
return (tx) => tx.moveCall({
|
|
233
|
+
package: packageAddress,
|
|
234
|
+
module: 'release_dsp_link',
|
|
235
|
+
function: 'platform_youtube_music',
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Builds a Spotify link from its id. Aborts if `id` is empty or exceeds
|
|
240
|
+
* `MAX_SPOTIFY_ID_LENGTH`.
|
|
241
|
+
*/
|
|
242
|
+
export function newSpotify(options) {
|
|
243
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
244
|
+
const argumentsTypes = [
|
|
245
|
+
'0x1::string::String'
|
|
246
|
+
];
|
|
247
|
+
const parameterNames = ["id"];
|
|
248
|
+
return (tx) => tx.moveCall({
|
|
249
|
+
package: packageAddress,
|
|
250
|
+
module: 'release_dsp_link',
|
|
251
|
+
function: 'new_spotify',
|
|
252
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Builds an Apple Music album link (no track selector). Aborts if `storefront` or
|
|
257
|
+
* `album_id` is empty or exceeds its maximum length.
|
|
258
|
+
*/
|
|
259
|
+
export function newAppleMusicAlbum(options) {
|
|
260
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
261
|
+
const argumentsTypes = [
|
|
262
|
+
'0x1::string::String',
|
|
263
|
+
'0x1::string::String'
|
|
264
|
+
];
|
|
265
|
+
const parameterNames = ["storefront", "albumId"];
|
|
266
|
+
return (tx) => tx.moveCall({
|
|
267
|
+
package: packageAddress,
|
|
268
|
+
module: 'release_dsp_link',
|
|
269
|
+
function: 'new_apple_music_album',
|
|
270
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Builds an Apple Music track link — addresses `track_id` within its `album_id`.
|
|
275
|
+
* Aborts if any identifier is empty or exceeds its maximum length.
|
|
276
|
+
*/
|
|
277
|
+
export function newAppleMusicTrack(options) {
|
|
278
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
279
|
+
const argumentsTypes = [
|
|
280
|
+
'0x1::string::String',
|
|
281
|
+
'0x1::string::String',
|
|
282
|
+
'0x1::string::String'
|
|
283
|
+
];
|
|
284
|
+
const parameterNames = ["storefront", "albumId", "trackId"];
|
|
285
|
+
return (tx) => tx.moveCall({
|
|
286
|
+
package: packageAddress,
|
|
287
|
+
module: 'release_dsp_link',
|
|
288
|
+
function: 'new_apple_music_track',
|
|
289
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Builds an Amazon Music album link (no track selector). Aborts if `album_id` is
|
|
294
|
+
* empty or exceeds `MAX_AMAZON_MUSIC_ALBUM_ID_LENGTH`.
|
|
295
|
+
*/
|
|
296
|
+
export function newAmazonMusicAlbum(options) {
|
|
297
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
298
|
+
const argumentsTypes = [
|
|
299
|
+
'0x1::string::String'
|
|
300
|
+
];
|
|
301
|
+
const parameterNames = ["albumId"];
|
|
302
|
+
return (tx) => tx.moveCall({
|
|
303
|
+
package: packageAddress,
|
|
304
|
+
module: 'release_dsp_link',
|
|
305
|
+
function: 'new_amazon_music_album',
|
|
306
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Builds an Amazon Music track link — addresses `track_id` within its `album_id`.
|
|
311
|
+
* Aborts if either ASIN is empty or exceeds its maximum length.
|
|
312
|
+
*/
|
|
313
|
+
export function newAmazonMusicTrack(options) {
|
|
314
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
315
|
+
const argumentsTypes = [
|
|
316
|
+
'0x1::string::String',
|
|
317
|
+
'0x1::string::String'
|
|
318
|
+
];
|
|
319
|
+
const parameterNames = ["albumId", "trackId"];
|
|
320
|
+
return (tx) => tx.moveCall({
|
|
321
|
+
package: packageAddress,
|
|
322
|
+
module: 'release_dsp_link',
|
|
323
|
+
function: 'new_amazon_music_track',
|
|
324
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Builds a Bandcamp link. Aborts if `subdomain` or `slug` is empty or exceeds its
|
|
329
|
+
* maximum length.
|
|
330
|
+
*/
|
|
331
|
+
export function newBandcamp(options) {
|
|
332
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
333
|
+
const argumentsTypes = [
|
|
334
|
+
'0x1::string::String',
|
|
335
|
+
'0x1::string::String'
|
|
336
|
+
];
|
|
337
|
+
const parameterNames = ["subdomain", "slug"];
|
|
338
|
+
return (tx) => tx.moveCall({
|
|
339
|
+
package: packageAddress,
|
|
340
|
+
module: 'release_dsp_link',
|
|
341
|
+
function: 'new_bandcamp',
|
|
342
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Builds a Deezer link from its id. Aborts if `id` is empty or exceeds
|
|
347
|
+
* `MAX_DEEZER_ID_LENGTH`.
|
|
348
|
+
*/
|
|
349
|
+
export function newDeezer(options) {
|
|
350
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
351
|
+
const argumentsTypes = [
|
|
352
|
+
'0x1::string::String'
|
|
353
|
+
];
|
|
354
|
+
const parameterNames = ["id"];
|
|
355
|
+
return (tx) => tx.moveCall({
|
|
356
|
+
package: packageAddress,
|
|
357
|
+
module: 'release_dsp_link',
|
|
358
|
+
function: 'new_deezer',
|
|
359
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Builds a SoundCloud link. Aborts if `user` or `slug` is empty or exceeds its
|
|
364
|
+
* maximum length.
|
|
365
|
+
*/
|
|
366
|
+
export function newSoundcloud(options) {
|
|
367
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
368
|
+
const argumentsTypes = [
|
|
369
|
+
'0x1::string::String',
|
|
370
|
+
'0x1::string::String'
|
|
371
|
+
];
|
|
372
|
+
const parameterNames = ["user", "slug"];
|
|
373
|
+
return (tx) => tx.moveCall({
|
|
374
|
+
package: packageAddress,
|
|
375
|
+
module: 'release_dsp_link',
|
|
376
|
+
function: 'new_soundcloud',
|
|
377
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* Builds a Tidal link from its id. Aborts if `id` is empty or exceeds
|
|
382
|
+
* `MAX_TIDAL_ID_LENGTH`.
|
|
383
|
+
*/
|
|
384
|
+
export function newTidal(options) {
|
|
385
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
386
|
+
const argumentsTypes = [
|
|
387
|
+
'0x1::string::String'
|
|
388
|
+
];
|
|
389
|
+
const parameterNames = ["id"];
|
|
390
|
+
return (tx) => tx.moveCall({
|
|
391
|
+
package: packageAddress,
|
|
392
|
+
module: 'release_dsp_link',
|
|
393
|
+
function: 'new_tidal',
|
|
394
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
395
|
+
});
|
|
396
|
+
}
|
|
397
|
+
/**
|
|
398
|
+
* Builds a YouTube Music link from its id. Aborts if `id` is empty or exceeds
|
|
399
|
+
* `MAX_YOUTUBE_MUSIC_ID_LENGTH`.
|
|
400
|
+
*/
|
|
401
|
+
export function newYoutubeMusic(options) {
|
|
402
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
403
|
+
const argumentsTypes = [
|
|
404
|
+
'0x1::string::String'
|
|
405
|
+
];
|
|
406
|
+
const parameterNames = ["id"];
|
|
407
|
+
return (tx) => tx.moveCall({
|
|
408
|
+
package: packageAddress,
|
|
409
|
+
module: 'release_dsp_link',
|
|
410
|
+
function: 'new_youtube_music',
|
|
411
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
412
|
+
});
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* Sets (or replaces) a DSP's album-level link. The platform is derived from `link`
|
|
416
|
+
* itself. Per-track links are untouched.
|
|
417
|
+
*/
|
|
418
|
+
export function setReleaseLink(options) {
|
|
419
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
420
|
+
const argumentsTypes = [
|
|
421
|
+
null,
|
|
422
|
+
null,
|
|
423
|
+
null
|
|
424
|
+
];
|
|
425
|
+
const parameterNames = ["self", "cap", "link"];
|
|
426
|
+
return (tx) => tx.moveCall({
|
|
427
|
+
package: packageAddress,
|
|
428
|
+
module: 'release_dsp_link',
|
|
429
|
+
function: 'set_release_link',
|
|
430
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
431
|
+
});
|
|
432
|
+
}
|
|
433
|
+
/** Clears a DSP's album-level link. No-op if unset. */
|
|
434
|
+
export function clearReleaseLink(options) {
|
|
435
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
436
|
+
const argumentsTypes = [
|
|
437
|
+
null,
|
|
438
|
+
null,
|
|
439
|
+
'u8'
|
|
440
|
+
];
|
|
441
|
+
const parameterNames = ["self", "cap", "platform"];
|
|
442
|
+
return (tx) => tx.moveCall({
|
|
443
|
+
package: packageAddress,
|
|
444
|
+
module: 'release_dsp_link',
|
|
445
|
+
function: 'clear_release_link',
|
|
446
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
447
|
+
});
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* Sets (or replaces) a DSP's link for one track (by tracklist index). The platform
|
|
451
|
+
* is derived from `link` itself. Aborts if the index is out of range.
|
|
452
|
+
*/
|
|
453
|
+
export function setTrackLink(options) {
|
|
454
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
455
|
+
const argumentsTypes = [
|
|
456
|
+
null,
|
|
457
|
+
null,
|
|
458
|
+
'u64',
|
|
459
|
+
null
|
|
460
|
+
];
|
|
461
|
+
const parameterNames = ["self", "cap", "trackIndex", "link"];
|
|
462
|
+
return (tx) => tx.moveCall({
|
|
463
|
+
package: packageAddress,
|
|
464
|
+
module: 'release_dsp_link',
|
|
465
|
+
function: 'set_track_link',
|
|
466
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
467
|
+
});
|
|
468
|
+
}
|
|
469
|
+
/**
|
|
470
|
+
* Clears a DSP's link for one track (the track falls back to the album-level
|
|
471
|
+
* link). No-op if no per-track array exists for this platform. Aborts if the index
|
|
472
|
+
* is out of range (when an array exists).
|
|
473
|
+
*/
|
|
474
|
+
export function clearTrackLink(options) {
|
|
475
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
476
|
+
const argumentsTypes = [
|
|
477
|
+
null,
|
|
478
|
+
null,
|
|
479
|
+
'u8',
|
|
480
|
+
'u64'
|
|
481
|
+
];
|
|
482
|
+
const parameterNames = ["self", "cap", "platform", "trackIndex"];
|
|
483
|
+
return (tx) => tx.moveCall({
|
|
484
|
+
package: packageAddress,
|
|
485
|
+
module: 'release_dsp_link',
|
|
486
|
+
function: 'clear_track_link',
|
|
487
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
488
|
+
});
|
|
489
|
+
}
|
|
490
|
+
/** Removes a DSP's entire per-track array. No-op if absent. */
|
|
491
|
+
export function clearTrackLinks(options) {
|
|
492
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
493
|
+
const argumentsTypes = [
|
|
494
|
+
null,
|
|
495
|
+
null,
|
|
496
|
+
'u8'
|
|
497
|
+
];
|
|
498
|
+
const parameterNames = ["self", "cap", "platform"];
|
|
499
|
+
return (tx) => tx.moveCall({
|
|
500
|
+
package: packageAddress,
|
|
501
|
+
module: 'release_dsp_link',
|
|
502
|
+
function: 'clear_track_links',
|
|
503
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
504
|
+
});
|
|
505
|
+
}
|
|
506
|
+
/** Whether a DSP's album-level link is set. */
|
|
507
|
+
export function hasReleaseLink(options) {
|
|
508
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
509
|
+
const argumentsTypes = [
|
|
510
|
+
null,
|
|
511
|
+
'u8'
|
|
512
|
+
];
|
|
513
|
+
const parameterNames = ["self", "platform"];
|
|
514
|
+
return (tx) => tx.moveCall({
|
|
515
|
+
package: packageAddress,
|
|
516
|
+
module: 'release_dsp_link',
|
|
517
|
+
function: 'has_release_link',
|
|
518
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
519
|
+
});
|
|
520
|
+
}
|
|
521
|
+
/** A DSP's album-level link, if set. */
|
|
522
|
+
export function releaseLink(options) {
|
|
523
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
524
|
+
const argumentsTypes = [
|
|
525
|
+
null,
|
|
526
|
+
'u8'
|
|
527
|
+
];
|
|
528
|
+
const parameterNames = ["self", "platform"];
|
|
529
|
+
return (tx) => tx.moveCall({
|
|
530
|
+
package: packageAddress,
|
|
531
|
+
module: 'release_dsp_link',
|
|
532
|
+
function: 'release_link',
|
|
533
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
534
|
+
});
|
|
535
|
+
}
|
|
536
|
+
/**
|
|
537
|
+
* A DSP's link for one track, if set. An unset slot — or no array at all — yields
|
|
538
|
+
* `none`, meaning the track inherits the album-level link. Aborts if the index is
|
|
539
|
+
* out of range (when an array exists).
|
|
540
|
+
*/
|
|
541
|
+
export function trackLink(options) {
|
|
542
|
+
const packageAddress = options.package ?? '@local-pkg/release_dsp_link';
|
|
543
|
+
const argumentsTypes = [
|
|
544
|
+
null,
|
|
545
|
+
'u8',
|
|
546
|
+
'u64'
|
|
547
|
+
];
|
|
548
|
+
const parameterNames = ["self", "platform", "trackIndex"];
|
|
549
|
+
return (tx) => tx.moveCall({
|
|
550
|
+
package: packageAddress,
|
|
551
|
+
module: 'release_dsp_link',
|
|
552
|
+
function: 'track_link',
|
|
553
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
554
|
+
});
|
|
555
|
+
}
|
|
556
|
+
//# sourceMappingURL=release_dsp_link.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release_dsp_link.js","sourceRoot":"","sources":["../../../src/contracts/release_dsp_link/release_dsp_link.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**************************************************************
|
|
2
|
+
* THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
|
|
3
|
+
**************************************************************/
|
|
4
|
+
/**
|
|
5
|
+
* `PerTrack<Data>` — one `Data` value per track of a release, held in tracklist
|
|
6
|
+
* order.
|
|
7
|
+
*
|
|
8
|
+
* A release's tracks are a flat, ordered `vector<Track>`, frozen at release
|
|
9
|
+
* creation. `PerTrack` is the parallel array to that list: index `i` holds the
|
|
10
|
+
* payload for the `i`-th track. It is the shared shape behind per-track release
|
|
11
|
+
* metadata such as cover art (`PerTrack<Option<CoverArt>>`) or genre — and the
|
|
12
|
+
* natural home for display grouping (disc/side boundaries), which core
|
|
13
|
+
* deliberately does not store.
|
|
14
|
+
*
|
|
15
|
+
* Construction reads the `Release` and sizes/validates the array against the
|
|
16
|
+
* tracklist length, so a `PerTrack` is parallel to the tracklist _by construction_
|
|
17
|
+
* — an extension cannot attach a misaligned array. Because a release's tracklist
|
|
18
|
+
* is frozen at creation, that alignment holds for the release's whole life.
|
|
19
|
+
*/
|
|
20
|
+
import { type BcsType } from '@mysten/sui/bcs';
|
|
21
|
+
import { MoveTuple } from '../../../utils/index.js';
|
|
22
|
+
/**
|
|
23
|
+
* One `Data` per track, indexed by the release's tracklist position. `Data` is the
|
|
24
|
+
* per-track payload — e.g. `CoverArt` when every track carries one, or
|
|
25
|
+
* `Option<CoverArt>` for override-style metadata layered over an album-level
|
|
26
|
+
* default.
|
|
27
|
+
*/
|
|
28
|
+
export declare function PerTrack<Data extends BcsType<any>>(...typeParameters: [
|
|
29
|
+
Data
|
|
30
|
+
]): MoveTuple<readonly [BcsType<import("@mysten/bcs").InferBcsType<Data>[], Iterable<import("@mysten/bcs").InferBcsInput<Data>> & {
|
|
31
|
+
length: number;
|
|
32
|
+
}, string>], `per_track::per_track::PerTrack<${Data["name"]}>`>;
|
|
33
|
+
//# sourceMappingURL=per_track.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"per_track.d.ts","sourceRoot":"","sources":["../../../../../src/contracts/release_genre/deps/per_track/per_track.ts"],"names":[],"mappings":"AAAA;;gEAEgE;AAGhE;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAO,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,SAAS,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,cAAc,EAAE;IACnE,IAAI;CACP;;gEAEA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**************************************************************
|
|
2
|
+
* THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
|
|
3
|
+
**************************************************************/
|
|
4
|
+
/**
|
|
5
|
+
* `PerTrack<Data>` — one `Data` value per track of a release, held in tracklist
|
|
6
|
+
* order.
|
|
7
|
+
*
|
|
8
|
+
* A release's tracks are a flat, ordered `vector<Track>`, frozen at release
|
|
9
|
+
* creation. `PerTrack` is the parallel array to that list: index `i` holds the
|
|
10
|
+
* payload for the `i`-th track. It is the shared shape behind per-track release
|
|
11
|
+
* metadata such as cover art (`PerTrack<Option<CoverArt>>`) or genre — and the
|
|
12
|
+
* natural home for display grouping (disc/side boundaries), which core
|
|
13
|
+
* deliberately does not store.
|
|
14
|
+
*
|
|
15
|
+
* Construction reads the `Release` and sizes/validates the array against the
|
|
16
|
+
* tracklist length, so a `PerTrack` is parallel to the tracklist _by construction_
|
|
17
|
+
* — an extension cannot attach a misaligned array. Because a release's tracklist
|
|
18
|
+
* is frozen at creation, that alignment holds for the release's whole life.
|
|
19
|
+
*/
|
|
20
|
+
import { bcs } from '@mysten/sui/bcs';
|
|
21
|
+
import { MoveTuple } from '../../../utils/index.js';
|
|
22
|
+
const $moduleName = 'per_track::per_track';
|
|
23
|
+
/**
|
|
24
|
+
* One `Data` per track, indexed by the release's tracklist position. `Data` is the
|
|
25
|
+
* per-track payload — e.g. `CoverArt` when every track carries one, or
|
|
26
|
+
* `Option<CoverArt>` for override-style metadata layered over an album-level
|
|
27
|
+
* default.
|
|
28
|
+
*/
|
|
29
|
+
export function PerTrack(...typeParameters) {
|
|
30
|
+
return new MoveTuple({ name: `${$moduleName}::PerTrack<${typeParameters[0].name}>`, fields: [bcs.vector(typeParameters[0])] });
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=per_track.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"per_track.js","sourceRoot":"","sources":["../../../../../src/contracts/release_genre/deps/per_track/per_track.ts"],"names":[],"mappings":"AAAA;;gEAEgE;AAGhE;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAgB,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAC3C;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAA4B,GAAG,cAEtD;IACG,OAAO,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,cAAc,cAAc,CAAC,CAAC,CAAC,CAAC,IAAoB,GAAG,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACnJ,CAAC"}
|