@misofm/sdk 0.9.0 → 0.10.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 +126 -18
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +210 -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/release_snapshot_bundle/deps/ori/walrus_data.d.ts +52 -0
- package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.d.ts.map +1 -0
- package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.js +37 -0
- package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.js.map +1 -0
- package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.d.ts +91 -0
- package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.d.ts.map +1 -0
- package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.js +91 -0
- package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.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 +14 -2
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +16 -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 +31 -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 +92 -0
- package/dist/release-extensions.d.ts.map +1 -0
- package/dist/release-extensions.js +175 -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 +428 -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/release_snapshot_bundle/deps/ori/walrus_data.ts +36 -0
- package/src/contracts/release_snapshot_bundle/release_snapshot_bundle.ts +124 -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 +17 -9
- package/src/cover.ts +62 -37
- package/src/credits.ts +64 -51
- package/src/deployments.ts +36 -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 +286 -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
package/src/client.ts
CHANGED
|
@@ -39,7 +39,27 @@ import {
|
|
|
39
39
|
|
|
40
40
|
import * as listingContract from "./contracts/miso_pressing/listing.ts";
|
|
41
41
|
import * as pressingContract from "./contracts/miso_pressing/pressing.ts";
|
|
42
|
-
import * as
|
|
42
|
+
import * as genreContract from "./contracts/genre/genre.ts";
|
|
43
|
+
import * as releaseDescriptionContract from "./contracts/release_description/release_description.ts";
|
|
44
|
+
import * as releaseDspLinkContract from "./contracts/release_dsp_link/release_dsp_link.ts";
|
|
45
|
+
import * as releaseGenreContract from "./contracts/release_genre/release_genre.ts";
|
|
46
|
+
import * as releaseKindContract from "./contracts/release_kind/release_kind.ts";
|
|
47
|
+
import * as releaseRevenueDistributorContract from "./contracts/release_revenue_distributor/release_revenue_distributor.ts";
|
|
48
|
+
import * as vaultContract from "./contracts/vault/vault.ts";
|
|
49
|
+
import * as compositionRoyaltyPoolContract from "./contracts/composition_royalty_pool/composition_royalty_pool.ts";
|
|
50
|
+
import * as recordingRoyaltyPoolContract from "./contracts/recording_royalty_pool/recording_royalty_pool.ts";
|
|
51
|
+
import * as compositionRoutedStakeContract from "./contracts/composition_routed_stake/composition_routed_stake.ts";
|
|
52
|
+
import * as routedStakeContract from "./contracts/routed_stake/routed_stake.ts";
|
|
53
|
+
import * as royaltyPoolContract from "./contracts/royalty_pool/pool.ts";
|
|
54
|
+
import * as recordingAdvisoryContract from "./contracts/recording_advisory/recording_advisory.ts";
|
|
55
|
+
import * as recordingLanguageContract from "./contracts/recording_language/recording_language.ts";
|
|
56
|
+
import * as recordingMasterReferenceContract from "./contracts/recording_master_reference/recording_master_reference.ts";
|
|
57
|
+
import * as recordingPreviewContract from "./contracts/recording_preview/recording_preview.ts";
|
|
58
|
+
import * as vaultActions from "./vault.ts";
|
|
59
|
+
import * as releaseSnapshotBundleContract from "./contracts/release_snapshot_bundle/release_snapshot_bundle.ts";
|
|
60
|
+
import * as coverArtContract from "./contracts/cover_art/cover_art.ts";
|
|
61
|
+
import * as releaseCoverArtContract from "./contracts/release_cover_art/release_cover_art.ts";
|
|
62
|
+
import * as releaseCreditsContract from "./contracts/release_credits/release_credits.ts";
|
|
43
63
|
import {
|
|
44
64
|
buyRecord,
|
|
45
65
|
deriveListingId,
|
|
@@ -90,18 +110,56 @@ import {
|
|
|
90
110
|
getMisoPlatformDeployment,
|
|
91
111
|
type MisoPlatformDeployment,
|
|
92
112
|
} from "./deployments.ts";
|
|
113
|
+
import {
|
|
114
|
+
deriveGenreId,
|
|
115
|
+
setReleaseDescription,
|
|
116
|
+
setReleaseDspLinks,
|
|
117
|
+
setReleaseGenres,
|
|
118
|
+
setReleaseKind,
|
|
119
|
+
setReleaseSnapshotBundle,
|
|
120
|
+
type SetReleaseDescriptionParams,
|
|
121
|
+
type SetReleaseDspLinksParams,
|
|
122
|
+
type SetReleaseGenresParams,
|
|
123
|
+
type SetReleaseKindParams,
|
|
124
|
+
type SetReleaseSnapshotBundleParams,
|
|
125
|
+
} from "./release-extensions.ts";
|
|
126
|
+
import { addReleaseCredit, type AddReleaseCreditParams } from "./credits.ts";
|
|
127
|
+
import {
|
|
128
|
+
setReleaseCover,
|
|
129
|
+
setReleaseTrackCover,
|
|
130
|
+
type SetReleaseCoverParams,
|
|
131
|
+
type SetReleaseTrackCoverParams,
|
|
132
|
+
} from "./cover.ts";
|
|
133
|
+
|
|
134
|
+
type BoundMoveFunction<F> = F extends (options: infer Options) => infer Result
|
|
135
|
+
? Options extends { package?: unknown }
|
|
136
|
+
? (options: Omit<Options, "package">) => Result
|
|
137
|
+
: F
|
|
138
|
+
: F;
|
|
139
|
+
type BoundModule<M extends object, Available extends readonly (keyof M)[]> = {
|
|
140
|
+
[Key in Available[number]]: BoundMoveFunction<M[Key]>;
|
|
141
|
+
};
|
|
93
142
|
|
|
94
|
-
/**
|
|
95
|
-
|
|
143
|
+
/**
|
|
144
|
+
* Bind an explicit safe subset of a generated module to one immutable package.
|
|
145
|
+
* Callers cannot supply or override `package`; reference-returning, UID-only,
|
|
146
|
+
* and package-internal constructors never appear in this executable facade.
|
|
147
|
+
*/
|
|
148
|
+
function bindModulePackage<M extends object, K extends readonly (keyof M)[]>(
|
|
149
|
+
mod: M,
|
|
150
|
+
pkg: string,
|
|
151
|
+
available: K,
|
|
152
|
+
): BoundModule<M, K> {
|
|
96
153
|
const out: Record<string, unknown> = {};
|
|
97
|
-
for (const
|
|
98
|
-
|
|
154
|
+
for (const key of available) {
|
|
155
|
+
const value = (mod as Record<PropertyKey, unknown>)[key];
|
|
156
|
+
out[String(key)] =
|
|
99
157
|
typeof value === "function"
|
|
100
158
|
? (options: { package?: string }) =>
|
|
101
|
-
(value as (o: unknown) => unknown)({ package: pkg
|
|
159
|
+
(value as (o: unknown) => unknown)({ ...options, package: pkg })
|
|
102
160
|
: value;
|
|
103
161
|
}
|
|
104
|
-
return out as M
|
|
162
|
+
return out as BoundModule<M, K>;
|
|
105
163
|
}
|
|
106
164
|
|
|
107
165
|
export interface MisoOptions<Name extends string = "miso"> {
|
|
@@ -134,32 +192,92 @@ export interface MisoPlatformConfig {
|
|
|
134
192
|
* builders (they disperse shares via minato).
|
|
135
193
|
*/
|
|
136
194
|
minatoPackageId?: string;
|
|
137
|
-
/** The
|
|
138
|
-
releaseRegistryPackageId?: string;
|
|
139
|
-
/** The one shared `ReleaseRegistry` object created by that package's `init`. */
|
|
195
|
+
/** The shared core `miso::release::ReleaseRegistry` object. */
|
|
140
196
|
releaseRegistryId?: string;
|
|
197
|
+
/** Release metadata/discovery extension package ids. */
|
|
198
|
+
releaseKindPackageId?: string;
|
|
199
|
+
releaseDescriptionPackageId?: string;
|
|
200
|
+
releaseGenrePackageId?: string;
|
|
201
|
+
releaseDspLinkPackageId?: string;
|
|
202
|
+
releaseSnapshotBundlePackageId?: string;
|
|
203
|
+
recordingAdvisoryPackageId?: string;
|
|
204
|
+
recordingLanguagePackageId?: string;
|
|
205
|
+
recordingMasterReferencePackageId?: string;
|
|
206
|
+
recordingPreviewPackageId?: string;
|
|
207
|
+
/** Shared custody package; needed for VaultAdminCap authority orchestration. */
|
|
208
|
+
vaultPackageId?: string;
|
|
209
|
+
/** Generic royalty-pool value package used by pool and routed-stake helpers. */
|
|
210
|
+
royaltyPoolPackageId?: string;
|
|
211
|
+
/** Vault plugins, deliberately separate from data-extension package ids. */
|
|
212
|
+
compositionRoyaltyPoolPluginPackageId?: string;
|
|
213
|
+
recordingRoyaltyPoolPluginPackageId?: string;
|
|
214
|
+
compositionRoutedStakePluginPackageId?: string;
|
|
215
|
+
routedStakePackageId?: string;
|
|
216
|
+
releaseRevenueDistributorPluginPackageId?: string;
|
|
217
|
+
releaseCreditsPackageId?: string;
|
|
218
|
+
misoCreditPackageId?: string;
|
|
219
|
+
coverArtPackageId?: string;
|
|
220
|
+
releaseCoverArtPackageId?: string;
|
|
221
|
+
/** Curated genre vocabulary package and its shared derivation parent. */
|
|
222
|
+
genrePackageId?: string;
|
|
223
|
+
genreRegistryId?: string;
|
|
224
|
+
/** External ori package used to create WalrusData values. */
|
|
225
|
+
oriPackageId?: string;
|
|
141
226
|
}
|
|
142
227
|
|
|
143
228
|
/** Params with the ids this client already knows dropped from the call site. */
|
|
144
|
-
type
|
|
229
|
+
type DistributiveOmit<T, Keys extends PropertyKey> = T extends unknown ? Omit<T, Keys> : never;
|
|
230
|
+
type Configured<T> = DistributiveOmit<T, "misoPressingPackageId" | "settingsId">;
|
|
145
231
|
|
|
146
232
|
/** Publish-builder params with the protocol/minato ids this client already knows dropped. */
|
|
147
|
-
type ConfiguredPublish<T> =
|
|
233
|
+
type ConfiguredPublish<T> = DistributiveOmit<T, "misoPackageId" | "minatoPackageId">;
|
|
148
234
|
|
|
149
235
|
/** Release-builder params with this client's core, share, and registry ids dropped. */
|
|
150
|
-
type ConfiguredRelease<T> =
|
|
236
|
+
type ConfiguredRelease<T> = DistributiveOmit<
|
|
237
|
+
T,
|
|
238
|
+
| "misoPackageId"
|
|
239
|
+
| "minatoPackageId"
|
|
240
|
+
| "releaseRegistryId"
|
|
241
|
+
>;
|
|
151
242
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
"
|
|
243
|
+
type ConfiguredReleaseKind = DistributiveOmit<SetReleaseKindParams, "releaseKindPackageId">;
|
|
244
|
+
type ConfiguredReleaseDescription = DistributiveOmit<
|
|
245
|
+
SetReleaseDescriptionParams,
|
|
246
|
+
"releaseDescriptionPackageId"
|
|
247
|
+
>;
|
|
248
|
+
type ConfiguredReleaseGenres = DistributiveOmit<
|
|
249
|
+
SetReleaseGenresParams,
|
|
250
|
+
"releaseGenrePackageId"
|
|
251
|
+
>;
|
|
252
|
+
type ConfiguredReleaseDspLinks = DistributiveOmit<
|
|
253
|
+
SetReleaseDspLinksParams,
|
|
254
|
+
"releaseDspLinkPackageId"
|
|
255
|
+
>;
|
|
256
|
+
type ConfiguredReleaseSnapshotBundle = DistributiveOmit<
|
|
257
|
+
SetReleaseSnapshotBundleParams,
|
|
258
|
+
"releaseSnapshotBundlePackageId" | "oriPackageId"
|
|
259
|
+
>;
|
|
260
|
+
type ConfiguredReleaseCredit = DistributiveOmit<
|
|
261
|
+
AddReleaseCreditParams,
|
|
262
|
+
"releaseCreditsPackageId" | "misoCreditPackageId"
|
|
263
|
+
>;
|
|
264
|
+
type ConfiguredReleaseCover = DistributiveOmit<
|
|
265
|
+
SetReleaseCoverParams,
|
|
266
|
+
"coverArtPackageId" | "releaseCoverArtPackageId" | "oriPackageId"
|
|
267
|
+
>;
|
|
268
|
+
type ConfiguredReleaseTrackCover = DistributiveOmit<
|
|
269
|
+
SetReleaseTrackCoverParams,
|
|
270
|
+
"coverArtPackageId" | "releaseCoverArtPackageId" | "oriPackageId"
|
|
156
271
|
>;
|
|
157
272
|
|
|
273
|
+
/** Whole-graph params with this client's package ids dropped. */
|
|
274
|
+
export type ConfiguredReleaseGraphParams = Omit<PublishReleaseGraphParams, "misoPackageId" | "minatoPackageId">;
|
|
275
|
+
|
|
158
276
|
export class MisoPlatformClient {
|
|
159
277
|
readonly #client: ClientWithCoreApi;
|
|
160
278
|
readonly #config: MisoPlatformConfig;
|
|
161
279
|
/** The permissionless protocol layer wrapped by this platform facade. */
|
|
162
|
-
readonly protocol
|
|
280
|
+
readonly protocol?: MisoProtocolClient;
|
|
163
281
|
/** Bundled/custom deployment selected for the full facade, when available. */
|
|
164
282
|
readonly deployment?: MisoPlatformDeployment;
|
|
165
283
|
|
|
@@ -171,13 +289,12 @@ export class MisoPlatformClient {
|
|
|
171
289
|
) {
|
|
172
290
|
this.#client = client;
|
|
173
291
|
this.#config = config;
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
}).register(client);
|
|
292
|
+
// A pressing-only facade must not implicitly register a fail-closed core
|
|
293
|
+
// extension. Supply a core deployment/misoPackageId when `protocol` is
|
|
294
|
+
// needed; otherwise this remains a safe, independent pressing client.
|
|
295
|
+
this.protocol = protocol ?? (config.misoPackageId
|
|
296
|
+
? protocolMiso({ deployment: { packageId: config.misoPackageId } }).register(client)
|
|
297
|
+
: undefined);
|
|
181
298
|
this.deployment = deployment;
|
|
182
299
|
}
|
|
183
300
|
|
|
@@ -217,26 +334,36 @@ export class MisoPlatformClient {
|
|
|
217
334
|
return minatoPackageId;
|
|
218
335
|
}
|
|
219
336
|
|
|
220
|
-
#
|
|
221
|
-
const {
|
|
222
|
-
if (!
|
|
337
|
+
#releaseRegistryId(): string {
|
|
338
|
+
const { releaseRegistryId: id } = this.#config;
|
|
339
|
+
if (!id) {
|
|
223
340
|
throw new Error(
|
|
224
|
-
"misoPlatform: `
|
|
341
|
+
"misoPlatform: `releaseRegistryId` is required to build a release.",
|
|
225
342
|
);
|
|
226
343
|
}
|
|
227
|
-
return
|
|
344
|
+
return id;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
#requiredConfig(field: keyof MisoPlatformConfig, operation: string): string {
|
|
348
|
+
const value = this.#config[field];
|
|
349
|
+
if (typeof value !== "string" || value.length === 0) {
|
|
350
|
+
throw new Error(
|
|
351
|
+
`misoPlatform: \`${String(field)}\` is required for ${operation}.`,
|
|
352
|
+
);
|
|
353
|
+
}
|
|
354
|
+
return value;
|
|
228
355
|
}
|
|
229
356
|
|
|
230
357
|
// ── Reads ─────────────────────────────────────────────────────────────────
|
|
231
358
|
|
|
232
359
|
/** The run itself, or `null` if this release has never opened one. */
|
|
233
360
|
getPressing(pressingId: string): Promise<PressingView | null> {
|
|
234
|
-
return getPressing(this.#client, pressingId);
|
|
361
|
+
return getPressing(this.#client, pressingId, this.packageId);
|
|
235
362
|
}
|
|
236
363
|
|
|
237
364
|
/** One currency's offer, or `null` if the run does not sell in it. */
|
|
238
365
|
getListing(listingId: string): Promise<ListingView | null> {
|
|
239
|
-
return getListing(this.#client, listingId);
|
|
366
|
+
return getListing(this.#client, listingId, this.packageId);
|
|
240
367
|
}
|
|
241
368
|
|
|
242
369
|
/** Run + one currency's offer in a single round trip, by address math. */
|
|
@@ -244,19 +371,29 @@ export class MisoPlatformClient {
|
|
|
244
371
|
pressing: PressingView | null;
|
|
245
372
|
listing: ListingView | null;
|
|
246
373
|
}> {
|
|
247
|
-
return getSale(this.#client, {
|
|
374
|
+
return getSale(this.#client, {
|
|
375
|
+
...p,
|
|
376
|
+
misoPressingPackageId: this.packageId,
|
|
377
|
+
});
|
|
248
378
|
}
|
|
249
379
|
|
|
250
380
|
// ── Address math ──────────────────────────────────────────────────────────
|
|
251
381
|
|
|
252
382
|
readonly ids = {
|
|
253
|
-
pressing: (releaseId: string) =>
|
|
383
|
+
pressing: (releaseId: string) =>
|
|
384
|
+
derivePressingId(releaseId, this.packageId),
|
|
254
385
|
pressingAdminCap: (pressingId: string) =>
|
|
255
386
|
derivePressingAdminCapId(pressingId, this.packageId),
|
|
256
387
|
listing: (pressingId: string, currencyType: string) =>
|
|
257
388
|
deriveListingId(pressingId, currencyType, this.packageId),
|
|
258
389
|
sale: (releaseId: string, currencyType: string) =>
|
|
259
390
|
deriveSaleIds(releaseId, currencyType, this.packageId),
|
|
391
|
+
genre: (canonicalName: string) =>
|
|
392
|
+
deriveGenreId(
|
|
393
|
+
this.#requiredConfig("genreRegistryId", "genre id derivation"),
|
|
394
|
+
this.#requiredConfig("genrePackageId", "genre id derivation"),
|
|
395
|
+
canonicalName,
|
|
396
|
+
),
|
|
260
397
|
};
|
|
261
398
|
|
|
262
399
|
// ── Transaction builders ──────────────────────────────────────────────────
|
|
@@ -286,36 +423,143 @@ export class MisoPlatformClient {
|
|
|
286
423
|
// storefront that never mints new works, doesn't need to carry them).
|
|
287
424
|
publishShareCurrency,
|
|
288
425
|
initializeShareCurrency,
|
|
289
|
-
publishComposition: (
|
|
290
|
-
|
|
426
|
+
publishComposition: (
|
|
427
|
+
p: ConfiguredPublish<PublishCompositionParams>,
|
|
428
|
+
): TxThunk =>
|
|
429
|
+
publishComposition({
|
|
430
|
+
...p,
|
|
431
|
+
misoPackageId: this.#misoPackageId(),
|
|
432
|
+
minatoPackageId: this.#minatoPackageId(),
|
|
433
|
+
}),
|
|
291
434
|
publishRecording: (p: ConfiguredPublish<PublishRecordingParams>): TxThunk =>
|
|
292
|
-
publishRecording({
|
|
293
|
-
|
|
294
|
-
|
|
435
|
+
publishRecording({
|
|
436
|
+
...p,
|
|
437
|
+
misoPackageId: this.#misoPackageId(),
|
|
438
|
+
minatoPackageId: this.#minatoPackageId(),
|
|
439
|
+
}),
|
|
440
|
+
publishCompositionAndRecording: (
|
|
441
|
+
p: ConfiguredPublish<PublishCompositionAndRecordingParams>,
|
|
442
|
+
): TxThunk =>
|
|
443
|
+
publishCompositionAndRecording({
|
|
444
|
+
...p,
|
|
445
|
+
misoPackageId: this.#misoPackageId(),
|
|
446
|
+
minatoPackageId: this.#minatoPackageId(),
|
|
447
|
+
}),
|
|
295
448
|
publishRelease: (p: ConfiguredRelease<PublishReleaseParams>): TxThunk => {
|
|
296
|
-
const registry = this.#releaseRegistry();
|
|
297
449
|
return publishRelease({
|
|
298
450
|
...p,
|
|
299
451
|
misoPackageId: this.#misoPackageId(),
|
|
300
|
-
|
|
301
|
-
releaseRegistryId: registry.id,
|
|
452
|
+
releaseRegistryId: this.#releaseRegistryId(),
|
|
302
453
|
});
|
|
303
454
|
},
|
|
304
455
|
publishReleaseGraph: (p: ConfiguredReleaseGraphParams): TxThunk => {
|
|
305
|
-
const registry = this.#releaseRegistry();
|
|
306
456
|
return publishReleaseGraph({
|
|
307
457
|
...p,
|
|
308
458
|
misoPackageId: this.#misoPackageId(),
|
|
309
459
|
minatoPackageId: this.#minatoPackageId(),
|
|
310
|
-
releaseRegistryPackageId: registry.packageId,
|
|
311
460
|
});
|
|
312
461
|
},
|
|
462
|
+
setReleaseKind: (p: ConfiguredReleaseKind): TxThunk =>
|
|
463
|
+
setReleaseKind({
|
|
464
|
+
...p,
|
|
465
|
+
releaseKindPackageId: this.#requiredConfig(
|
|
466
|
+
"releaseKindPackageId",
|
|
467
|
+
"setReleaseKind",
|
|
468
|
+
),
|
|
469
|
+
}),
|
|
470
|
+
setReleaseDescription: (p: ConfiguredReleaseDescription): TxThunk =>
|
|
471
|
+
setReleaseDescription({
|
|
472
|
+
...p,
|
|
473
|
+
releaseDescriptionPackageId: this.#requiredConfig(
|
|
474
|
+
"releaseDescriptionPackageId",
|
|
475
|
+
"setReleaseDescription",
|
|
476
|
+
),
|
|
477
|
+
}),
|
|
478
|
+
setReleaseGenres: (p: ConfiguredReleaseGenres): TxThunk =>
|
|
479
|
+
setReleaseGenres({
|
|
480
|
+
...p,
|
|
481
|
+
releaseGenrePackageId: this.#requiredConfig(
|
|
482
|
+
"releaseGenrePackageId",
|
|
483
|
+
"setReleaseGenres",
|
|
484
|
+
),
|
|
485
|
+
}),
|
|
486
|
+
setReleaseDspLinks: (p: ConfiguredReleaseDspLinks): TxThunk =>
|
|
487
|
+
setReleaseDspLinks({
|
|
488
|
+
...p,
|
|
489
|
+
releaseDspLinkPackageId: this.#requiredConfig(
|
|
490
|
+
"releaseDspLinkPackageId",
|
|
491
|
+
"setReleaseDspLinks",
|
|
492
|
+
),
|
|
493
|
+
}),
|
|
494
|
+
setReleaseSnapshotBundle: (p: ConfiguredReleaseSnapshotBundle): TxThunk =>
|
|
495
|
+
setReleaseSnapshotBundle({
|
|
496
|
+
...p,
|
|
497
|
+
releaseSnapshotBundlePackageId: this.#requiredConfig(
|
|
498
|
+
"releaseSnapshotBundlePackageId",
|
|
499
|
+
"setReleaseSnapshotBundle",
|
|
500
|
+
),
|
|
501
|
+
oriPackageId: this.#requiredConfig(
|
|
502
|
+
"oriPackageId",
|
|
503
|
+
"setReleaseSnapshotBundle",
|
|
504
|
+
),
|
|
505
|
+
}),
|
|
506
|
+
addReleaseCredit: (p: ConfiguredReleaseCredit): TxThunk =>
|
|
507
|
+
addReleaseCredit({
|
|
508
|
+
...p,
|
|
509
|
+
releaseCreditsPackageId: this.#requiredConfig(
|
|
510
|
+
"releaseCreditsPackageId",
|
|
511
|
+
"addReleaseCredit",
|
|
512
|
+
),
|
|
513
|
+
misoCreditPackageId: this.#requiredConfig(
|
|
514
|
+
"misoCreditPackageId",
|
|
515
|
+
"addReleaseCredit",
|
|
516
|
+
),
|
|
517
|
+
}),
|
|
518
|
+
setReleaseCover: (p: ConfiguredReleaseCover): TxThunk =>
|
|
519
|
+
setReleaseCover({
|
|
520
|
+
...p,
|
|
521
|
+
coverArtPackageId: this.#requiredConfig(
|
|
522
|
+
"coverArtPackageId",
|
|
523
|
+
"setReleaseCover",
|
|
524
|
+
),
|
|
525
|
+
releaseCoverArtPackageId: this.#requiredConfig(
|
|
526
|
+
"releaseCoverArtPackageId",
|
|
527
|
+
"setReleaseCover",
|
|
528
|
+
),
|
|
529
|
+
oriPackageId: this.#requiredConfig("oriPackageId", "setReleaseCover"),
|
|
530
|
+
}),
|
|
531
|
+
setReleaseTrackCover: (p: ConfiguredReleaseTrackCover): TxThunk =>
|
|
532
|
+
setReleaseTrackCover({
|
|
533
|
+
...p,
|
|
534
|
+
coverArtPackageId: this.#requiredConfig(
|
|
535
|
+
"coverArtPackageId",
|
|
536
|
+
"setReleaseTrackCover",
|
|
537
|
+
),
|
|
538
|
+
releaseCoverArtPackageId: this.#requiredConfig(
|
|
539
|
+
"releaseCoverArtPackageId",
|
|
540
|
+
"setReleaseTrackCover",
|
|
541
|
+
),
|
|
542
|
+
oriPackageId: this.#requiredConfig(
|
|
543
|
+
"oriPackageId",
|
|
544
|
+
"setReleaseTrackCover",
|
|
545
|
+
),
|
|
546
|
+
}),
|
|
313
547
|
};
|
|
314
548
|
|
|
549
|
+
/**
|
|
550
|
+
* Vault-aware builders and parsers. These take explicit object ids because a
|
|
551
|
+
* VaultAdminCap is owner-held while the Vault is shared; package ids can come
|
|
552
|
+
* from the deployment config or be supplied for private deployments.
|
|
553
|
+
*/
|
|
554
|
+
readonly vault = vaultActions;
|
|
555
|
+
|
|
315
556
|
// ── Share currency provisioning (executes; Signer pattern) ─────────────────
|
|
316
557
|
|
|
317
558
|
/** Publishes + initializes a fresh share currency (two txs). */
|
|
318
|
-
async createShareCurrency(
|
|
559
|
+
async createShareCurrency(
|
|
560
|
+
signer: Signer,
|
|
561
|
+
params: share.CreateShareCurrencyParams,
|
|
562
|
+
): Promise<share.ShareCurrency> {
|
|
319
563
|
return share.createShareCurrency(this.#client, signer, params);
|
|
320
564
|
}
|
|
321
565
|
|
|
@@ -324,14 +568,112 @@ export class MisoPlatformClient {
|
|
|
324
568
|
/** Generated Move-call bindings, for commands this facade doesn't wrap. */
|
|
325
569
|
get call() {
|
|
326
570
|
return {
|
|
327
|
-
listing: bindModulePackage(listingContract, this.packageId),
|
|
328
|
-
pressing: bindModulePackage(pressingContract, this.packageId),
|
|
329
|
-
|
|
571
|
+
listing: bindModulePackage(listingContract, this.packageId, ["newFixedPrice", "newFloorPrice", "newEnabledState", "newDisabledState", "buy", "setState", "setPrice", "deriveId", "hasListing", "id", "releaseId", "pressingId", "price", "state", "isLive", "amount"] as const),
|
|
572
|
+
pressing: bindModulePackage(pressingContract, this.packageId, ["newScheduledState", "newActiveState", "newPausedState", "setState", "deriveId", "id", "releaseId", "supply", "isSelling", "pressingAdminCapPressingId", "verifyRecord"] as const),
|
|
573
|
+
genre: this.#config.genrePackageId
|
|
574
|
+
? bindModulePackage(genreContract, this.#config.genrePackageId, ["deriveGenreId", "id"] as const)
|
|
575
|
+
: undefined,
|
|
576
|
+
releaseDescription: this.#config.releaseDescriptionPackageId
|
|
577
|
+
? bindModulePackage(
|
|
578
|
+
releaseDescriptionContract,
|
|
579
|
+
this.#config.releaseDescriptionPackageId,
|
|
580
|
+
["setDescription", "clearDescription", "hasDescription"],
|
|
581
|
+
)
|
|
582
|
+
: undefined,
|
|
583
|
+
releaseDspLink: this.#config.releaseDspLinkPackageId
|
|
584
|
+
? bindModulePackage(
|
|
585
|
+
releaseDspLinkContract,
|
|
586
|
+
this.#config.releaseDspLinkPackageId,
|
|
587
|
+
["platform", "platformSpotify", "platformAppleMusic", "platformAmazonMusic", "platformBandcamp", "platformDeezer", "platformSoundcloud", "platformTidal", "platformYoutubeMusic", "newSpotify", "newAppleMusicAlbum", "newAppleMusicTrack", "newAmazonMusicAlbum", "newAmazonMusicTrack", "newBandcamp", "newDeezer", "newSoundcloud", "newTidal", "newYoutubeMusic", "setReleaseLink", "clearReleaseLink", "setTrackLink", "clearTrackLink", "clearTrackLinks", "hasReleaseLink"] as const,
|
|
588
|
+
)
|
|
589
|
+
: undefined,
|
|
590
|
+
releaseGenre: this.#config.releaseGenrePackageId
|
|
330
591
|
? bindModulePackage(
|
|
331
|
-
|
|
332
|
-
this.#config.
|
|
592
|
+
releaseGenreContract,
|
|
593
|
+
this.#config.releaseGenrePackageId,
|
|
594
|
+
["setPrimaryGenre", "addSecondaryGenre", "removeSecondaryGenre", "setTrackPrimaryGenre", "unsetTrackPrimaryGenre", "hasGenre"] as const,
|
|
333
595
|
)
|
|
334
|
-
:
|
|
596
|
+
: undefined,
|
|
597
|
+
releaseKind: this.#config.releaseKindPackageId
|
|
598
|
+
? bindModulePackage(
|
|
599
|
+
releaseKindContract,
|
|
600
|
+
this.#config.releaseKindPackageId,
|
|
601
|
+
["setKind", "unsetKind", "hasKind"] as const,
|
|
602
|
+
)
|
|
603
|
+
: undefined,
|
|
604
|
+
releaseRevenueDistributor: this.#config.releaseRevenueDistributorPluginPackageId
|
|
605
|
+
? bindModulePackage(
|
|
606
|
+
releaseRevenueDistributorContract,
|
|
607
|
+
this.#config.releaseRevenueDistributorPluginPackageId,
|
|
608
|
+
["install", "uninstall", "redeemAndDistribute", "receiveAndDistribute", "isInstalled"] as const,
|
|
609
|
+
)
|
|
610
|
+
: undefined,
|
|
611
|
+
vault: this.#config.vaultPackageId
|
|
612
|
+
? bindModulePackage(vaultContract, this.#config.vaultPackageId, ["share", "id", "vaultId", "authorizedPluginsId", "authorizedPluginCount", "isPluginAuthorized"] as const)
|
|
613
|
+
: undefined,
|
|
614
|
+
compositionRoyaltyPool: this.#config.compositionRoyaltyPoolPluginPackageId
|
|
615
|
+
? bindModulePackage(
|
|
616
|
+
compositionRoyaltyPoolContract,
|
|
617
|
+
this.#config.compositionRoyaltyPoolPluginPackageId,
|
|
618
|
+
["install", "uninstall", "initializePool", "receiveAndDeposit", "redeemAndDeposit", "isInstalled", "poolAddress"] as const,
|
|
619
|
+
)
|
|
620
|
+
: undefined,
|
|
621
|
+
recordingRoyaltyPool: this.#config.recordingRoyaltyPoolPluginPackageId
|
|
622
|
+
? bindModulePackage(
|
|
623
|
+
recordingRoyaltyPoolContract,
|
|
624
|
+
this.#config.recordingRoyaltyPoolPluginPackageId,
|
|
625
|
+
["install", "uninstall", "initializePool", "receiveAndDeposit", "redeemAndDeposit", "isInstalled", "poolAddress"] as const,
|
|
626
|
+
)
|
|
627
|
+
: undefined,
|
|
628
|
+
compositionRoutedStake: this.#config.compositionRoutedStakePluginPackageId
|
|
629
|
+
? bindModulePackage(
|
|
630
|
+
compositionRoutedStakeContract,
|
|
631
|
+
this.#config.compositionRoutedStakePluginPackageId,
|
|
632
|
+
["install", "uninstall", "createStake", "register", "unregister", "unstake", "restake", "isInstalled", "stakeAddress"] as const,
|
|
633
|
+
)
|
|
634
|
+
: undefined,
|
|
635
|
+
routedStake: this.#config.routedStakePackageId
|
|
636
|
+
? bindModulePackage(routedStakeContract, this.#config.routedStakePackageId, ["share", "register", "unregister", "sweep", "unstake", "restake", "id"] as const)
|
|
637
|
+
: undefined,
|
|
638
|
+
royaltyPool: this.#config.royaltyPoolPackageId
|
|
639
|
+
? bindModulePackage(royaltyPoolContract, this.#config.royaltyPoolPackageId, ["share", "deposit", "redeemAndDeposit", "receiveAndDeposit", "registerStake", "unregisterStake", "claimRewards", "pendingRewards", "id", "stakedShares", "cumulativeRewardPerShare", "cumulativeDeposits", "derivedAddress", "assertDerivedFrom"] as const)
|
|
640
|
+
: undefined,
|
|
641
|
+
recordingAdvisory: this.#config.recordingAdvisoryPackageId
|
|
642
|
+
? bindModulePackage(recordingAdvisoryContract, this.#config.recordingAdvisoryPackageId, ["explicit", "notExplicit", "cleaned", "setRating", "unsetRating", "hasRating", "isExplicit", "isNotExplicit", "isCleaned"] as const)
|
|
643
|
+
: undefined,
|
|
644
|
+
recordingLanguage: this.#config.recordingLanguagePackageId
|
|
645
|
+
? bindModulePackage(recordingLanguageContract, this.#config.recordingLanguagePackageId, ["setLanguages", "setInstrumental", "unsetLanguages", "hasLanguages", "isInstrumental"] as const)
|
|
646
|
+
: undefined,
|
|
647
|
+
recordingMasterReference: this.#config.recordingMasterReferencePackageId
|
|
648
|
+
? bindModulePackage(recordingMasterReferenceContract, this.#config.recordingMasterReferencePackageId, ["setMasterReference", "unsetMasterReference", "hasMasterReference"] as const)
|
|
649
|
+
: undefined,
|
|
650
|
+
recordingPreview: this.#config.recordingPreviewPackageId
|
|
651
|
+
? bindModulePackage(recordingPreviewContract, this.#config.recordingPreviewPackageId, ["setPreview", "unsetPreview", "hasPreview"] as const)
|
|
652
|
+
: undefined,
|
|
653
|
+
releaseSnapshotBundle: this.#config.releaseSnapshotBundlePackageId
|
|
654
|
+
? bindModulePackage(
|
|
655
|
+
releaseSnapshotBundleContract,
|
|
656
|
+
this.#config.releaseSnapshotBundlePackageId,
|
|
657
|
+
["setSnapshotBundle", "hasSnapshotBundle"],
|
|
658
|
+
)
|
|
659
|
+
: undefined,
|
|
660
|
+
coverArt: this.#config.coverArtPackageId
|
|
661
|
+
? bindModulePackage(coverArtContract, this.#config.coverArtPackageId, [] as const)
|
|
662
|
+
: undefined,
|
|
663
|
+
releaseCoverArt: this.#config.releaseCoverArtPackageId
|
|
664
|
+
? bindModulePackage(
|
|
665
|
+
releaseCoverArtContract,
|
|
666
|
+
this.#config.releaseCoverArtPackageId,
|
|
667
|
+
["setCover", "unsetCover", "setTrackCover", "unsetTrackCover", "hasCoverArt"] as const,
|
|
668
|
+
)
|
|
669
|
+
: undefined,
|
|
670
|
+
releaseCredits: this.#config.releaseCreditsPackageId
|
|
671
|
+
? bindModulePackage(
|
|
672
|
+
releaseCreditsContract,
|
|
673
|
+
this.#config.releaseCreditsPackageId,
|
|
674
|
+
["addCredit", "removeCredit", "hasCredits"] as const,
|
|
675
|
+
)
|
|
676
|
+
: undefined,
|
|
335
677
|
};
|
|
336
678
|
}
|
|
337
679
|
|
|
@@ -341,8 +683,10 @@ export class MisoPlatformClient {
|
|
|
341
683
|
PressingAdminCap: pressingContract.PressingAdminCap,
|
|
342
684
|
Listing: listingContract.Listing,
|
|
343
685
|
Price: listingContract.Price,
|
|
344
|
-
|
|
345
|
-
|
|
686
|
+
VaultAdminCap: vaultContract.VaultAdminCap,
|
|
687
|
+
VaultCreatedEvent: vaultContract.VaultCreatedEvent,
|
|
688
|
+
ReleaseRevenueDistributedEvent:
|
|
689
|
+
releaseRevenueDistributorContract.ReleaseRevenueDistributedEvent,
|
|
346
690
|
};
|
|
347
691
|
}
|
|
348
692
|
|
|
@@ -375,8 +719,35 @@ export function miso<const Name extends string = "miso">(
|
|
|
375
719
|
settingsId: deployment.objects.recordSettings,
|
|
376
720
|
misoPackageId: deployment.protocol.packageId,
|
|
377
721
|
minatoPackageId: deployment.packages.minato,
|
|
378
|
-
releaseRegistryPackageId: deployment.packages.releaseRegistry,
|
|
379
722
|
releaseRegistryId: deployment.objects.releaseRegistry,
|
|
723
|
+
releaseKindPackageId: deployment.packages.releaseKind,
|
|
724
|
+
releaseDescriptionPackageId: deployment.packages.releaseDescription,
|
|
725
|
+
releaseGenrePackageId: deployment.packages.releaseGenre,
|
|
726
|
+
releaseDspLinkPackageId: deployment.packages.releaseDspLink,
|
|
727
|
+
releaseSnapshotBundlePackageId:
|
|
728
|
+
deployment.packages.releaseSnapshotBundle,
|
|
729
|
+
recordingAdvisoryPackageId: deployment.packages.recordingAdvisory,
|
|
730
|
+
recordingLanguagePackageId: deployment.packages.recordingLanguage,
|
|
731
|
+
recordingMasterReferencePackageId: deployment.packages.recordingMasterReference,
|
|
732
|
+
recordingPreviewPackageId: deployment.packages.recordingPreview,
|
|
733
|
+
vaultPackageId: deployment.packages.vault,
|
|
734
|
+
royaltyPoolPackageId: deployment.packages.royaltyPool,
|
|
735
|
+
compositionRoyaltyPoolPluginPackageId:
|
|
736
|
+
deployment.packages.compositionRoyaltyPoolPlugin,
|
|
737
|
+
recordingRoyaltyPoolPluginPackageId:
|
|
738
|
+
deployment.packages.recordingRoyaltyPoolPlugin,
|
|
739
|
+
compositionRoutedStakePluginPackageId:
|
|
740
|
+
deployment.packages.compositionRoutedStakePlugin,
|
|
741
|
+
routedStakePackageId: deployment.packages.routedStake,
|
|
742
|
+
releaseRevenueDistributorPluginPackageId:
|
|
743
|
+
deployment.packages.releaseRevenueDistributorPlugin,
|
|
744
|
+
releaseCreditsPackageId: deployment.packages.releaseCredits,
|
|
745
|
+
misoCreditPackageId: deployment.packages.credit,
|
|
746
|
+
coverArtPackageId: deployment.packages.coverArt,
|
|
747
|
+
releaseCoverArtPackageId: deployment.packages.releaseCoverArt,
|
|
748
|
+
genrePackageId: deployment.packages.genre,
|
|
749
|
+
genreRegistryId: deployment.objects.genreRegistry,
|
|
750
|
+
oriPackageId: deployment.packages.ori,
|
|
380
751
|
},
|
|
381
752
|
protocol,
|
|
382
753
|
deployment,
|
|
@@ -397,13 +768,9 @@ export function misoPlatform(config: MisoPlatformConfig) {
|
|
|
397
768
|
return {
|
|
398
769
|
name: "misoPlatform" as const,
|
|
399
770
|
register: (client: ClientWithCoreApi) => {
|
|
400
|
-
const protocol =
|
|
401
|
-
deployment: config.misoPackageId
|
|
402
|
-
|
|
403
|
-
packageId: config.misoPackageId,
|
|
404
|
-
}
|
|
405
|
-
: undefined,
|
|
406
|
-
}).register(client);
|
|
771
|
+
const protocol = config.misoPackageId
|
|
772
|
+
? protocolMiso({ deployment: { packageId: config.misoPackageId } }).register(client)
|
|
773
|
+
: undefined;
|
|
407
774
|
return new MisoPlatformClient(client, config, protocol);
|
|
408
775
|
},
|
|
409
776
|
};
|