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