@misofm/sdk 0.15.10 → 0.16.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 +153 -56
- package/dist/client.d.ts +175 -47
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +302 -47
- package/dist/client.js.map +1 -1
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts +11 -11
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts.map +1 -1
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js +9 -9
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js.map +1 -1
- package/dist/contracts/miso_record/deps/std/type_name.d.ts.map +1 -0
- package/dist/contracts/miso_record/deps/std/type_name.js.map +1 -0
- package/dist/contracts/miso_record/deps/sui/vec_set.d.ts +21 -0
- package/dist/contracts/miso_record/deps/sui/vec_set.d.ts.map +1 -0
- package/dist/contracts/miso_record/deps/sui/vec_set.js +20 -0
- package/dist/contracts/miso_record/deps/sui/vec_set.js.map +1 -0
- package/dist/contracts/miso_record/pressing.d.ts +327 -0
- package/dist/contracts/miso_record/pressing.d.ts.map +1 -0
- package/dist/contracts/miso_record/pressing.js +345 -0
- package/dist/contracts/miso_record/pressing.js.map +1 -0
- package/dist/contracts/miso_record/record.d.ts +190 -0
- package/dist/contracts/miso_record/record.d.ts.map +1 -0
- package/dist/contracts/miso_record/record.js +226 -0
- package/dist/contracts/miso_record/record.js.map +1 -0
- package/dist/contracts/miso_record_shop/deps/std/type_name.d.ts +18 -0
- package/dist/contracts/miso_record_shop/deps/std/type_name.d.ts.map +1 -0
- package/dist/contracts/miso_record_shop/deps/std/type_name.js +20 -0
- package/dist/contracts/miso_record_shop/deps/std/type_name.js.map +1 -0
- package/dist/contracts/miso_record_shop/listing.d.ts +387 -0
- package/dist/contracts/miso_record_shop/listing.d.ts.map +1 -0
- package/dist/contracts/miso_record_shop/listing.js +380 -0
- package/dist/contracts/miso_record_shop/listing.js.map +1 -0
- package/dist/contracts/miso_record_shop/witness.d.ts +7 -0
- package/dist/contracts/miso_record_shop/witness.d.ts.map +1 -0
- package/dist/contracts/miso_record_shop/witness.js +9 -0
- package/dist/contracts/miso_record_shop/witness.js.map +1 -0
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts +10 -12
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts.map +1 -1
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js +8 -10
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js.map +1 -1
- package/dist/contracts/vault/vault.d.ts +149 -23
- package/dist/contracts/vault/vault.d.ts.map +1 -1
- package/dist/contracts/vault/vault.js +144 -18
- package/dist/contracts/vault/vault.js.map +1 -1
- package/dist/contracts.d.ts +3 -3
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +5 -4
- package/dist/contracts.js.map +1 -1
- package/dist/deployments.d.ts +47 -11
- package/dist/deployments.d.ts.map +1 -1
- package/dist/deployments.js +48 -9
- package/dist/deployments.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/mix.d.ts +144 -0
- package/dist/mix.d.ts.map +1 -0
- package/dist/mix.js +656 -0
- package/dist/mix.js.map +1 -0
- package/dist/pressing.d.ts +72 -156
- package/dist/pressing.d.ts.map +1 -1
- package/dist/pressing.js +269 -261
- package/dist/pressing.js.map +1 -1
- package/dist/publication.d.ts +5 -2
- package/dist/publication.d.ts.map +1 -1
- package/dist/publication.js +63 -34
- package/dist/publication.js.map +1 -1
- package/dist/read/catalog.d.ts +8 -5
- package/dist/read/catalog.d.ts.map +1 -1
- package/dist/read/catalog.js +47 -35
- package/dist/read/catalog.js.map +1 -1
- package/dist/read/config.d.ts +6 -4
- package/dist/read/config.d.ts.map +1 -1
- package/dist/read/config.js +1 -2
- package/dist/read/config.js.map +1 -1
- package/dist/read/index.d.ts +1 -1
- 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/internal/scalars.d.ts.map +1 -1
- package/dist/read/internal/scalars.js +4 -3
- package/dist/read/internal/scalars.js.map +1 -1
- package/dist/read/internal/walrus.d.ts.map +1 -1
- package/dist/read/internal/walrus.js +2 -1
- package/dist/read/internal/walrus.js.map +1 -1
- package/dist/read/receipts.d.ts +21 -12
- package/dist/read/receipts.d.ts.map +1 -1
- package/dist/read/receipts.js +159 -56
- package/dist/read/receipts.js.map +1 -1
- package/dist/read/types.d.ts +40 -26
- package/dist/read/types.d.ts.map +1 -1
- package/dist/read/wallet.d.ts +3 -4
- package/dist/read/wallet.d.ts.map +1 -1
- package/dist/read/wallet.js +72 -53
- package/dist/read/wallet.js.map +1 -1
- package/dist/vault.d.ts +71 -15
- package/dist/vault.d.ts.map +1 -1
- package/dist/vault.js +135 -29
- package/dist/vault.js.map +1 -1
- package/package.json +10 -3
- package/src/client.ts +404 -69
- package/src/contracts/composition_royalty_pool/composition_royalty_pool.ts +15 -15
- package/src/contracts/miso_record/deps/sui/vec_set.ts +21 -0
- package/src/contracts/miso_record/pressing.ts +522 -0
- package/src/contracts/miso_record/record.ts +338 -0
- package/src/contracts/miso_record_shop/deps/std/type_name.ts +22 -0
- package/src/contracts/miso_record_shop/listing.ts +602 -0
- package/src/contracts/miso_record_shop/witness.ts +11 -0
- package/src/contracts/recording_royalty_pool/recording_royalty_pool.ts +14 -16
- package/src/contracts/vault/vault.ts +226 -21
- package/src/contracts.ts +5 -4
- package/src/deployments.ts +134 -38
- package/src/index.ts +2 -0
- package/src/mix.ts +910 -0
- package/src/pressing.ts +428 -423
- package/src/publication.ts +69 -36
- package/src/read/catalog.ts +49 -34
- package/src/read/config.ts +7 -7
- package/src/read/index.ts +9 -1
- package/src/read/internal/scalars.ts +4 -2
- package/src/read/internal/walrus.ts +2 -1
- package/src/read/receipts.ts +181 -66
- package/src/read/types.ts +41 -24
- package/src/read/wallet.ts +70 -57
- package/src/vault.ts +228 -41
- package/dist/contracts/miso_pressing/certificate.d.ts +0 -89
- package/dist/contracts/miso_pressing/certificate.d.ts.map +0 -1
- package/dist/contracts/miso_pressing/certificate.js +0 -108
- package/dist/contracts/miso_pressing/certificate.js.map +0 -1
- package/dist/contracts/miso_pressing/deps/std/type_name.d.ts.map +0 -1
- package/dist/contracts/miso_pressing/deps/std/type_name.js.map +0 -1
- package/dist/contracts/miso_pressing/listing.d.ts +0 -434
- package/dist/contracts/miso_pressing/listing.d.ts.map +0 -1
- package/dist/contracts/miso_pressing/listing.js +0 -401
- package/dist/contracts/miso_pressing/listing.js.map +0 -1
- package/dist/contracts/miso_pressing/pressing.d.ts +0 -334
- package/dist/contracts/miso_pressing/pressing.d.ts.map +0 -1
- package/dist/contracts/miso_pressing/pressing.js +0 -298
- package/dist/contracts/miso_pressing/pressing.js.map +0 -1
- package/src/contracts/miso_pressing/certificate.ts +0 -164
- package/src/contracts/miso_pressing/listing.ts +0 -592
- package/src/contracts/miso_pressing/pressing.ts +0 -399
- /package/dist/contracts/{miso_pressing → miso_record}/deps/std/type_name.d.ts +0 -0
- /package/dist/contracts/{miso_pressing → miso_record}/deps/std/type_name.js +0 -0
- /package/src/contracts/{miso_pressing → miso_record}/deps/std/type_name.ts +0 -0
package/src/client.ts
CHANGED
|
@@ -7,9 +7,10 @@
|
|
|
7
7
|
//
|
|
8
8
|
// const client = new SuiGrpcClient({ network, baseUrl }).$extend(miso());
|
|
9
9
|
//
|
|
10
|
-
// await client.miso.getSale({ releaseId, currencyType });
|
|
10
|
+
// await client.miso.getSale({ releaseId, edition, currencyType });
|
|
11
11
|
// await client.miso.protocol.getReleaseById(releaseId);
|
|
12
|
-
// tx.add(client.miso.tx.
|
|
12
|
+
// tx.add(client.miso.tx.purchaseRecord({ releaseId, edition, currencyType,
|
|
13
|
+
// paymentAmount, expectedPricing, recipient }));
|
|
13
14
|
//
|
|
14
15
|
// Two things this buys over calling the bare functions:
|
|
15
16
|
//
|
|
@@ -38,8 +39,9 @@ import {
|
|
|
38
39
|
} from "@misonetwork/sdk/client";
|
|
39
40
|
import type { PartyProtocolClient } from "@misonetwork/sdk/party";
|
|
40
41
|
|
|
41
|
-
import * as
|
|
42
|
-
import * as pressingContract from "./contracts/
|
|
42
|
+
import * as recordContract from "./contracts/miso_record/record.ts";
|
|
43
|
+
import * as pressingContract from "./contracts/miso_record/pressing.ts";
|
|
44
|
+
import * as listingContract from "./contracts/miso_record_shop/listing.ts";
|
|
43
45
|
import * as genreContract from "./contracts/genre/genre.ts";
|
|
44
46
|
import * as releaseDescriptionContract from "./contracts/release_description/release_description.ts";
|
|
45
47
|
import * as releaseDspLinkContract from "./contracts/release_dsp_link/release_dsp_link.ts";
|
|
@@ -62,30 +64,34 @@ import * as coverArtContract from "./contracts/cover_art/cover_art.ts";
|
|
|
62
64
|
import * as releaseCoverArtContract from "./contracts/release_cover_art/release_cover_art.ts";
|
|
63
65
|
import * as releaseCreditsContract from "./contracts/release_credits/release_credits.ts";
|
|
64
66
|
import {
|
|
65
|
-
|
|
67
|
+
authorizeRecordShop,
|
|
66
68
|
deriveListingId,
|
|
67
69
|
derivePressingAdminCapId,
|
|
68
70
|
derivePressingId,
|
|
71
|
+
deriveRecordId,
|
|
69
72
|
deriveSaleIds,
|
|
70
73
|
getListing,
|
|
71
74
|
getPressing,
|
|
75
|
+
getRecord,
|
|
72
76
|
getSale,
|
|
73
77
|
openListing,
|
|
74
78
|
openPressing,
|
|
79
|
+
purchaseRecord,
|
|
80
|
+
revokeRecordShop,
|
|
75
81
|
setListingPrice,
|
|
76
82
|
setListingState,
|
|
77
|
-
setPressingState,
|
|
78
83
|
} from "./pressing.ts";
|
|
79
84
|
import type {
|
|
80
|
-
BuyRecordParams,
|
|
81
85
|
GetSaleParams,
|
|
82
86
|
ListingView,
|
|
83
87
|
OpenListingParams,
|
|
84
88
|
OpenPressingParams,
|
|
89
|
+
PressingAdministrationParams,
|
|
85
90
|
PressingView,
|
|
91
|
+
PurchaseRecordParams,
|
|
92
|
+
RecordView,
|
|
86
93
|
SetListingPriceParams,
|
|
87
94
|
SetListingStateParams,
|
|
88
|
-
SetPressingStateParams,
|
|
89
95
|
} from "./pressing.ts";
|
|
90
96
|
import {
|
|
91
97
|
publishShareCurrency,
|
|
@@ -109,7 +115,9 @@ import {
|
|
|
109
115
|
} from "./release-graph.ts";
|
|
110
116
|
import {
|
|
111
117
|
getMisoPlatformDeployment,
|
|
118
|
+
requireRecordSalesDeployment,
|
|
112
119
|
type MisoPlatformDeployment,
|
|
120
|
+
type RecordSalesDeployment,
|
|
113
121
|
} from "./deployments.ts";
|
|
114
122
|
import {
|
|
115
123
|
deriveGenreAddress,
|
|
@@ -171,8 +179,9 @@ export interface MisoOptions<Name extends string = "miso"> {
|
|
|
171
179
|
}
|
|
172
180
|
|
|
173
181
|
export interface MisoPlatformConfig {
|
|
174
|
-
/**
|
|
175
|
-
|
|
182
|
+
/** Finalized immutable Record + Record Shop identities, or an explicit
|
|
183
|
+
* unavailable legacy state that makes every sales API fail closed. */
|
|
184
|
+
recordSales?: RecordSalesDeployment;
|
|
176
185
|
/**
|
|
177
186
|
* The `@misonetwork/sdk` protocol package (miso core). Required for the
|
|
178
187
|
* publish builders (`publishComposition`, `publishRecording`,
|
|
@@ -199,6 +208,8 @@ export interface MisoPlatformConfig {
|
|
|
199
208
|
recordingPreviewPackageId?: string;
|
|
200
209
|
/** Shared custody package; needed for VaultAdminCap authority orchestration. */
|
|
201
210
|
vaultPackageId?: string;
|
|
211
|
+
/** Shared singleton from which canonical Vault IDs are derived. */
|
|
212
|
+
vaultRegistryId?: string;
|
|
202
213
|
/** Generic royalty-pool value package used by pool and routed-stake helpers. */
|
|
203
214
|
royaltyPoolPackageId?: string;
|
|
204
215
|
/** Vault plugins, deliberately separate from data-extension package ids. */
|
|
@@ -220,21 +231,30 @@ export interface MisoPlatformConfig {
|
|
|
220
231
|
}
|
|
221
232
|
|
|
222
233
|
/** Params with the ids this client already knows dropped from the call site. */
|
|
223
|
-
type DistributiveOmit<T, Keys extends PropertyKey> = T extends unknown
|
|
224
|
-
|
|
234
|
+
type DistributiveOmit<T, Keys extends PropertyKey> = T extends unknown
|
|
235
|
+
? Omit<T, Keys>
|
|
236
|
+
: never;
|
|
237
|
+
type Configured<T> = DistributiveOmit<
|
|
238
|
+
T,
|
|
239
|
+
"recordPackageId" | "recordShopPackageId"
|
|
240
|
+
>;
|
|
225
241
|
|
|
226
242
|
/** Publish-builder params with the protocol/minato ids this client already knows dropped. */
|
|
227
|
-
type ConfiguredPublish<T> = DistributiveOmit<
|
|
243
|
+
type ConfiguredPublish<T> = DistributiveOmit<
|
|
244
|
+
T,
|
|
245
|
+
"misoPackageId" | "minatoPackageId"
|
|
246
|
+
>;
|
|
228
247
|
|
|
229
248
|
/** Release-builder params with this client's core, share, and registry ids dropped. */
|
|
230
249
|
type ConfiguredRelease<T> = DistributiveOmit<
|
|
231
250
|
T,
|
|
232
|
-
| "
|
|
233
|
-
| "minatoPackageId"
|
|
234
|
-
| "releaseRegistryId"
|
|
251
|
+
"misoPackageId" | "minatoPackageId" | "releaseRegistryId"
|
|
235
252
|
>;
|
|
236
253
|
|
|
237
|
-
type ConfiguredReleaseKind = DistributiveOmit<
|
|
254
|
+
type ConfiguredReleaseKind = DistributiveOmit<
|
|
255
|
+
SetReleaseKindParams,
|
|
256
|
+
"releaseKindPackageId"
|
|
257
|
+
>;
|
|
238
258
|
type ConfiguredReleaseDescription = DistributiveOmit<
|
|
239
259
|
SetReleaseDescriptionParams,
|
|
240
260
|
"releaseDescriptionPackageId"
|
|
@@ -261,7 +281,10 @@ type ConfiguredReleaseTrackCover = DistributiveOmit<
|
|
|
261
281
|
>;
|
|
262
282
|
|
|
263
283
|
/** Whole-graph params with this client's package ids dropped. */
|
|
264
|
-
export type ConfiguredReleaseGraphParams = Omit<
|
|
284
|
+
export type ConfiguredReleaseGraphParams = Omit<
|
|
285
|
+
PublishReleaseGraphParams,
|
|
286
|
+
"misoPackageId" | "minatoPackageId"
|
|
287
|
+
>;
|
|
265
288
|
|
|
266
289
|
export class MisoPlatformClient {
|
|
267
290
|
readonly #client: ClientWithCoreApi;
|
|
@@ -282,9 +305,13 @@ export class MisoPlatformClient {
|
|
|
282
305
|
// A pressing-only facade must not implicitly register a fail-closed core
|
|
283
306
|
// extension. Supply a core deployment/misoPackageId when `protocol` is
|
|
284
307
|
// needed; otherwise this remains a safe, independent pressing client.
|
|
285
|
-
this.protocol =
|
|
286
|
-
|
|
287
|
-
|
|
308
|
+
this.protocol =
|
|
309
|
+
protocol ??
|
|
310
|
+
(config.misoPackageId
|
|
311
|
+
? protocolMiso({
|
|
312
|
+
deployment: { packageId: config.misoPackageId },
|
|
313
|
+
}).register(client)
|
|
314
|
+
: undefined);
|
|
288
315
|
this.deployment = deployment;
|
|
289
316
|
}
|
|
290
317
|
|
|
@@ -298,8 +325,22 @@ export class MisoPlatformClient {
|
|
|
298
325
|
return this.protocol.party;
|
|
299
326
|
}
|
|
300
327
|
|
|
301
|
-
|
|
302
|
-
return
|
|
328
|
+
#recordSales() {
|
|
329
|
+
return requireRecordSalesDeployment(
|
|
330
|
+
this.#config.recordSales ?? {
|
|
331
|
+
status: "unavailable",
|
|
332
|
+
reason:
|
|
333
|
+
"this client was configured without Record and Record Shop package IDs",
|
|
334
|
+
},
|
|
335
|
+
);
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
get recordPackageId(): string {
|
|
339
|
+
return this.#recordSales().recordPackageId;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
get recordShopPackageId(): string {
|
|
343
|
+
return this.#recordSales().recordShopPackageId;
|
|
303
344
|
}
|
|
304
345
|
|
|
305
346
|
#misoPackageId(): string {
|
|
@@ -348,12 +389,17 @@ export class MisoPlatformClient {
|
|
|
348
389
|
|
|
349
390
|
/** The run itself, or `null` if this release has never opened one. */
|
|
350
391
|
getPressing(pressingId: string): Promise<PressingView | null> {
|
|
351
|
-
return getPressing(this.#client, pressingId, this.
|
|
392
|
+
return getPressing(this.#client, pressingId, this.recordPackageId);
|
|
352
393
|
}
|
|
353
394
|
|
|
354
395
|
/** One currency's offer, or `null` if the run does not sell in it. */
|
|
355
396
|
getListing(listingId: string): Promise<ListingView | null> {
|
|
356
|
-
return getListing(this.#client, listingId, this.
|
|
397
|
+
return getListing(this.#client, listingId, this.recordShopPackageId);
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
/** One concrete purchased Record, including immutable purchase provenance. */
|
|
401
|
+
getRecord(recordId: string): Promise<RecordView | null> {
|
|
402
|
+
return getRecord(this.#client, recordId, this.recordPackageId);
|
|
357
403
|
}
|
|
358
404
|
|
|
359
405
|
/** Run + one currency's offer in a single round trip, by address math. */
|
|
@@ -363,21 +409,48 @@ export class MisoPlatformClient {
|
|
|
363
409
|
}> {
|
|
364
410
|
return getSale(this.#client, {
|
|
365
411
|
...p,
|
|
366
|
-
|
|
412
|
+
recordPackageId: this.recordPackageId,
|
|
413
|
+
recordShopPackageId: this.recordShopPackageId,
|
|
367
414
|
});
|
|
368
415
|
}
|
|
369
416
|
|
|
370
417
|
// ── Address math ──────────────────────────────────────────────────────────
|
|
371
418
|
|
|
372
419
|
readonly ids = {
|
|
373
|
-
pressing: (releaseId: string) =>
|
|
374
|
-
derivePressingId(releaseId, this.
|
|
420
|
+
pressing: (releaseId: string, edition: number) =>
|
|
421
|
+
derivePressingId(releaseId, edition, this.recordPackageId),
|
|
375
422
|
pressingAdminCap: (pressingId: string) =>
|
|
376
|
-
derivePressingAdminCapId(pressingId, this.
|
|
423
|
+
derivePressingAdminCapId(pressingId, this.recordPackageId),
|
|
424
|
+
record: (pressingId: string, number: number) =>
|
|
425
|
+
deriveRecordId(pressingId, number, this.recordPackageId),
|
|
377
426
|
listing: (pressingId: string, currencyType: string) =>
|
|
378
|
-
deriveListingId(pressingId, currencyType, this.
|
|
379
|
-
sale: (releaseId: string, currencyType: string) =>
|
|
380
|
-
deriveSaleIds(
|
|
427
|
+
deriveListingId(pressingId, currencyType, this.recordShopPackageId),
|
|
428
|
+
sale: (releaseId: string, edition: number, currencyType: string) =>
|
|
429
|
+
deriveSaleIds(
|
|
430
|
+
releaseId,
|
|
431
|
+
edition,
|
|
432
|
+
currencyType,
|
|
433
|
+
this.recordPackageId,
|
|
434
|
+
this.recordShopPackageId,
|
|
435
|
+
),
|
|
436
|
+
vault: (capId: string, capType: string) =>
|
|
437
|
+
vaultActions.deriveVaultId({
|
|
438
|
+
vaultRegistryId: this.#requiredConfig(
|
|
439
|
+
"vaultRegistryId",
|
|
440
|
+
"Vault ID derivation",
|
|
441
|
+
),
|
|
442
|
+
capId,
|
|
443
|
+
capType,
|
|
444
|
+
vaultPackageId: this.#requiredConfig(
|
|
445
|
+
"vaultPackageId",
|
|
446
|
+
"Vault ID derivation",
|
|
447
|
+
),
|
|
448
|
+
}),
|
|
449
|
+
vaultAdminCap: (vaultId: string) =>
|
|
450
|
+
vaultActions.deriveVaultAdminCapId(
|
|
451
|
+
vaultId,
|
|
452
|
+
this.#requiredConfig("vaultPackageId", "VaultAdminCap ID derivation"),
|
|
453
|
+
),
|
|
381
454
|
genre: (canonicalName: string) =>
|
|
382
455
|
deriveGenreAddress(
|
|
383
456
|
this.#requiredConfig("genreRegistryId", "genre id derivation"),
|
|
@@ -389,21 +462,38 @@ export class MisoPlatformClient {
|
|
|
389
462
|
// ── Transaction builders ──────────────────────────────────────────────────
|
|
390
463
|
|
|
391
464
|
readonly tx = {
|
|
392
|
-
|
|
393
|
-
|
|
465
|
+
purchaseRecord: (p: Configured<PurchaseRecordParams>): TxThunk =>
|
|
466
|
+
purchaseRecord({
|
|
394
467
|
...p,
|
|
395
|
-
|
|
468
|
+
recordPackageId: this.recordPackageId,
|
|
469
|
+
recordShopPackageId: this.recordShopPackageId,
|
|
396
470
|
}),
|
|
397
471
|
openPressing: (p: Configured<OpenPressingParams>): TxThunk =>
|
|
398
|
-
openPressing({
|
|
472
|
+
openPressing({
|
|
473
|
+
...p,
|
|
474
|
+
recordPackageId: this.recordPackageId,
|
|
475
|
+
recordShopPackageId: this.recordShopPackageId,
|
|
476
|
+
}),
|
|
399
477
|
openListing: (p: Configured<OpenListingParams>): TxThunk =>
|
|
400
|
-
openListing({ ...p,
|
|
478
|
+
openListing({ ...p, recordShopPackageId: this.recordShopPackageId }),
|
|
479
|
+
authorizeRecordShop: (
|
|
480
|
+
p: Configured<PressingAdministrationParams>,
|
|
481
|
+
): TxThunk =>
|
|
482
|
+
authorizeRecordShop({
|
|
483
|
+
...p,
|
|
484
|
+
recordPackageId: this.recordPackageId,
|
|
485
|
+
recordShopPackageId: this.recordShopPackageId,
|
|
486
|
+
}),
|
|
487
|
+
revokeRecordShop: (p: Configured<PressingAdministrationParams>): TxThunk =>
|
|
488
|
+
revokeRecordShop({
|
|
489
|
+
...p,
|
|
490
|
+
recordPackageId: this.recordPackageId,
|
|
491
|
+
recordShopPackageId: this.recordShopPackageId,
|
|
492
|
+
}),
|
|
401
493
|
setListingPrice: (p: Configured<SetListingPriceParams>): TxThunk =>
|
|
402
|
-
setListingPrice({ ...p,
|
|
494
|
+
setListingPrice({ ...p, recordShopPackageId: this.recordShopPackageId }),
|
|
403
495
|
setListingState: (p: Configured<SetListingStateParams>): TxThunk =>
|
|
404
|
-
setListingState({ ...p,
|
|
405
|
-
setPressingState: (p: Configured<SetPressingStateParams>): TxThunk =>
|
|
406
|
-
setPressingState({ ...p, misoPressingPackageId: this.packageId }),
|
|
496
|
+
setListingState({ ...p, recordShopPackageId: this.recordShopPackageId }),
|
|
407
497
|
|
|
408
498
|
// Publishing (protocol works + minato share economics) — package-id-free
|
|
409
499
|
// builders pass through unchanged; the rest bind this client's
|
|
@@ -544,11 +634,65 @@ export class MisoPlatformClient {
|
|
|
544
634
|
|
|
545
635
|
/** Generated Move-call bindings, for commands this facade doesn't wrap. */
|
|
546
636
|
get call() {
|
|
637
|
+
const sales =
|
|
638
|
+
this.#config.recordSales?.status === "available"
|
|
639
|
+
? this.#config.recordSales
|
|
640
|
+
: undefined;
|
|
547
641
|
return {
|
|
548
|
-
|
|
549
|
-
|
|
642
|
+
record: sales
|
|
643
|
+
? bindModulePackage(recordContract, sales.recordPackageId, [
|
|
644
|
+
"destroy",
|
|
645
|
+
"releaseId",
|
|
646
|
+
"pressingId",
|
|
647
|
+
"edition",
|
|
648
|
+
"number",
|
|
649
|
+
"purchaseCurrency",
|
|
650
|
+
"purchasePrice",
|
|
651
|
+
"purchasedBy",
|
|
652
|
+
"purchasedTimestampMs",
|
|
653
|
+
"deriveAddress",
|
|
654
|
+
] as const)
|
|
655
|
+
: undefined,
|
|
656
|
+
listing: sales
|
|
657
|
+
? bindModulePackage(listingContract, sales.recordShopPackageId, [
|
|
658
|
+
"fixed",
|
|
659
|
+
"floor",
|
|
660
|
+
"enabled",
|
|
661
|
+
"disabled",
|
|
662
|
+
"setState",
|
|
663
|
+
"setPrice",
|
|
664
|
+
"purchase",
|
|
665
|
+
"deriveAddress",
|
|
666
|
+
"releaseId",
|
|
667
|
+
"pressingId",
|
|
668
|
+
"pricing",
|
|
669
|
+
"price",
|
|
670
|
+
"state",
|
|
671
|
+
"isEnabled",
|
|
672
|
+
"isDisabled",
|
|
673
|
+
"isFixed",
|
|
674
|
+
"isFloor",
|
|
675
|
+
] as const)
|
|
676
|
+
: undefined,
|
|
677
|
+
pressing: sales
|
|
678
|
+
? bindModulePackage(pressingContract, sales.recordPackageId, [
|
|
679
|
+
"authorizeDistributor",
|
|
680
|
+
"revokeDistributor",
|
|
681
|
+
"deriveAddress",
|
|
682
|
+
"deriveAdminCapAddress",
|
|
683
|
+
"releaseId",
|
|
684
|
+
"edition",
|
|
685
|
+
"supply",
|
|
686
|
+
"maxSupply",
|
|
687
|
+
"distributors",
|
|
688
|
+
"isDistributorAuthorized",
|
|
689
|
+
"pressingId",
|
|
690
|
+
] as const)
|
|
691
|
+
: undefined,
|
|
550
692
|
genre: this.#config.genrePackageId
|
|
551
|
-
? bindModulePackage(genreContract, this.#config.genrePackageId, [
|
|
693
|
+
? bindModulePackage(genreContract, this.#config.genrePackageId, [
|
|
694
|
+
"deriveAddress",
|
|
695
|
+
] as const)
|
|
552
696
|
: undefined,
|
|
553
697
|
releaseDescription: this.#config.releaseDescriptionPackageId
|
|
554
698
|
? bindModulePackage(
|
|
@@ -561,14 +705,47 @@ export class MisoPlatformClient {
|
|
|
561
705
|
? bindModulePackage(
|
|
562
706
|
releaseDspLinkContract,
|
|
563
707
|
this.#config.releaseDspLinkPackageId,
|
|
564
|
-
[
|
|
708
|
+
[
|
|
709
|
+
"platform",
|
|
710
|
+
"platformSpotify",
|
|
711
|
+
"platformAppleMusic",
|
|
712
|
+
"platformAmazonMusic",
|
|
713
|
+
"platformBandcamp",
|
|
714
|
+
"platformDeezer",
|
|
715
|
+
"platformSoundcloud",
|
|
716
|
+
"platformTidal",
|
|
717
|
+
"platformYoutubeMusic",
|
|
718
|
+
"newSpotify",
|
|
719
|
+
"newAppleMusicAlbum",
|
|
720
|
+
"newAppleMusicTrack",
|
|
721
|
+
"newAmazonMusicAlbum",
|
|
722
|
+
"newAmazonMusicTrack",
|
|
723
|
+
"newBandcamp",
|
|
724
|
+
"newDeezer",
|
|
725
|
+
"newSoundcloud",
|
|
726
|
+
"newTidal",
|
|
727
|
+
"newYoutubeMusic",
|
|
728
|
+
"setReleaseLink",
|
|
729
|
+
"clearReleaseLink",
|
|
730
|
+
"setTrackLink",
|
|
731
|
+
"clearTrackLink",
|
|
732
|
+
"clearTrackLinks",
|
|
733
|
+
"hasReleaseLink",
|
|
734
|
+
] as const,
|
|
565
735
|
)
|
|
566
736
|
: undefined,
|
|
567
737
|
releaseGenre: this.#config.releaseGenrePackageId
|
|
568
738
|
? bindModulePackage(
|
|
569
739
|
releaseGenreContract,
|
|
570
740
|
this.#config.releaseGenrePackageId,
|
|
571
|
-
[
|
|
741
|
+
[
|
|
742
|
+
"setPrimaryGenre",
|
|
743
|
+
"addSecondaryGenre",
|
|
744
|
+
"removeSecondaryGenre",
|
|
745
|
+
"setTrackPrimaryGenre",
|
|
746
|
+
"unsetTrackPrimaryGenre",
|
|
747
|
+
"hasGenre",
|
|
748
|
+
] as const,
|
|
572
749
|
)
|
|
573
750
|
: undefined,
|
|
574
751
|
releaseKind: this.#config.releaseKindPackageId
|
|
@@ -578,70 +755,206 @@ export class MisoPlatformClient {
|
|
|
578
755
|
["setKind", "unsetKind", "hasKind"] as const,
|
|
579
756
|
)
|
|
580
757
|
: undefined,
|
|
581
|
-
releaseRevenueDistributor: this.#config
|
|
758
|
+
releaseRevenueDistributor: this.#config
|
|
759
|
+
.vaultReleaseRevenueDistributorPluginPackageId
|
|
582
760
|
? bindModulePackage(
|
|
583
761
|
releaseRevenueDistributorContract,
|
|
584
762
|
this.#config.vaultReleaseRevenueDistributorPluginPackageId,
|
|
585
|
-
[
|
|
763
|
+
[
|
|
764
|
+
"install",
|
|
765
|
+
"uninstall",
|
|
766
|
+
"redeemAndDistribute",
|
|
767
|
+
"receiveAndDistribute",
|
|
768
|
+
"isInstalled",
|
|
769
|
+
] as const,
|
|
586
770
|
)
|
|
587
771
|
: undefined,
|
|
588
772
|
vault: this.#config.vaultPackageId
|
|
589
|
-
? bindModulePackage(vaultContract, this.#config.vaultPackageId, [
|
|
773
|
+
? bindModulePackage(vaultContract, this.#config.vaultPackageId, [
|
|
774
|
+
"share",
|
|
775
|
+
"transferAdminCap",
|
|
776
|
+
"withdrawCap",
|
|
777
|
+
"restoreCap",
|
|
778
|
+
"vaultAddress",
|
|
779
|
+
"vaultAdminCapAddress",
|
|
780
|
+
"vaultId",
|
|
781
|
+
"capId",
|
|
782
|
+
"isOccupied",
|
|
783
|
+
"authorizedPluginsId",
|
|
784
|
+
"authorizedPluginCount",
|
|
785
|
+
"isPluginAuthorized",
|
|
786
|
+
] as const)
|
|
590
787
|
: undefined,
|
|
591
|
-
compositionRoyaltyPool: this.#config
|
|
788
|
+
compositionRoyaltyPool: this.#config
|
|
789
|
+
.vaultCompositionRoyaltyPoolPluginPackageId
|
|
592
790
|
? bindModulePackage(
|
|
593
791
|
compositionRoyaltyPoolContract,
|
|
594
792
|
this.#config.vaultCompositionRoyaltyPoolPluginPackageId,
|
|
595
|
-
[
|
|
793
|
+
[
|
|
794
|
+
"install",
|
|
795
|
+
"uninstall",
|
|
796
|
+
"newPool",
|
|
797
|
+
"initializePool",
|
|
798
|
+
"receiveAndDeposit",
|
|
799
|
+
"redeemAndDeposit",
|
|
800
|
+
"isInstalled",
|
|
801
|
+
"poolAddress",
|
|
802
|
+
] as const,
|
|
596
803
|
)
|
|
597
804
|
: undefined,
|
|
598
|
-
recordingRoyaltyPool: this.#config
|
|
805
|
+
recordingRoyaltyPool: this.#config
|
|
806
|
+
.vaultRecordingRoyaltyPoolPluginPackageId
|
|
599
807
|
? bindModulePackage(
|
|
600
808
|
recordingRoyaltyPoolContract,
|
|
601
809
|
this.#config.vaultRecordingRoyaltyPoolPluginPackageId,
|
|
602
|
-
[
|
|
810
|
+
[
|
|
811
|
+
"install",
|
|
812
|
+
"uninstall",
|
|
813
|
+
"newPool",
|
|
814
|
+
"initializePool",
|
|
815
|
+
"receiveAndDeposit",
|
|
816
|
+
"redeemAndDeposit",
|
|
817
|
+
"isInstalled",
|
|
818
|
+
"poolAddress",
|
|
819
|
+
] as const,
|
|
603
820
|
)
|
|
604
821
|
: undefined,
|
|
605
822
|
partyWallet: this.#config.vaultPartyWalletPluginPackageId
|
|
606
823
|
? bindModulePackage(
|
|
607
824
|
partyWalletContract,
|
|
608
825
|
this.#config.vaultPartyWalletPluginPackageId,
|
|
609
|
-
[
|
|
826
|
+
[
|
|
827
|
+
"install",
|
|
828
|
+
"uninstall",
|
|
829
|
+
"receiveObject",
|
|
830
|
+
"receiveObjects",
|
|
831
|
+
"receiveCoins",
|
|
832
|
+
"redeemBalance",
|
|
833
|
+
"isInstalled",
|
|
834
|
+
"inboxAddress",
|
|
835
|
+
] as const,
|
|
610
836
|
)
|
|
611
837
|
: undefined,
|
|
612
|
-
compositionRoutedStake: this.#config
|
|
838
|
+
compositionRoutedStake: this.#config
|
|
839
|
+
.vaultCompositionRoutedStakePluginPackageId
|
|
613
840
|
? bindModulePackage(
|
|
614
841
|
compositionRoutedStakeContract,
|
|
615
842
|
this.#config.vaultCompositionRoutedStakePluginPackageId,
|
|
616
|
-
[
|
|
843
|
+
[
|
|
844
|
+
"install",
|
|
845
|
+
"uninstall",
|
|
846
|
+
"createStake",
|
|
847
|
+
"register",
|
|
848
|
+
"unregister",
|
|
849
|
+
"unstake",
|
|
850
|
+
"restake",
|
|
851
|
+
"isInstalled",
|
|
852
|
+
"stakeAddress",
|
|
853
|
+
] as const,
|
|
617
854
|
)
|
|
618
855
|
: undefined,
|
|
619
856
|
routedStake: this.#config.routedStakePackageId
|
|
620
|
-
? bindModulePackage(
|
|
857
|
+
? bindModulePackage(
|
|
858
|
+
routedStakeContract,
|
|
859
|
+
this.#config.routedStakePackageId,
|
|
860
|
+
[
|
|
861
|
+
"share",
|
|
862
|
+
"register",
|
|
863
|
+
"unregister",
|
|
864
|
+
"sweep",
|
|
865
|
+
"unstake",
|
|
866
|
+
"restake",
|
|
867
|
+
"derivedAddress",
|
|
868
|
+
] as const,
|
|
869
|
+
)
|
|
621
870
|
: undefined,
|
|
622
871
|
royaltyPool: this.#config.royaltyPoolPackageId
|
|
623
|
-
? bindModulePackage(
|
|
872
|
+
? bindModulePackage(
|
|
873
|
+
royaltyPoolContract,
|
|
874
|
+
this.#config.royaltyPoolPackageId,
|
|
875
|
+
[
|
|
876
|
+
"share",
|
|
877
|
+
"deposit",
|
|
878
|
+
"sweepAndDeposit",
|
|
879
|
+
"receiveAndDeposit",
|
|
880
|
+
"registerStake",
|
|
881
|
+
"unregisterStake",
|
|
882
|
+
"claimRewards",
|
|
883
|
+
"pendingRewards",
|
|
884
|
+
"stakedShares",
|
|
885
|
+
"cumulativeRewardPerShare",
|
|
886
|
+
"cumulativeDeposits",
|
|
887
|
+
"derivedAddress",
|
|
888
|
+
"assertDerivedFrom",
|
|
889
|
+
] as const,
|
|
890
|
+
)
|
|
624
891
|
: undefined,
|
|
625
892
|
recordingAdvisory: this.#config.recordingAdvisoryPackageId
|
|
626
|
-
? bindModulePackage(
|
|
893
|
+
? bindModulePackage(
|
|
894
|
+
recordingAdvisoryContract,
|
|
895
|
+
this.#config.recordingAdvisoryPackageId,
|
|
896
|
+
[
|
|
897
|
+
"explicit",
|
|
898
|
+
"notExplicit",
|
|
899
|
+
"cleaned",
|
|
900
|
+
"setRating",
|
|
901
|
+
"unsetRating",
|
|
902
|
+
"hasRating",
|
|
903
|
+
"isExplicit",
|
|
904
|
+
"isNotExplicit",
|
|
905
|
+
"isCleaned",
|
|
906
|
+
] as const,
|
|
907
|
+
)
|
|
627
908
|
: undefined,
|
|
628
909
|
recordingLanguage: this.#config.recordingLanguagePackageId
|
|
629
|
-
? bindModulePackage(
|
|
910
|
+
? bindModulePackage(
|
|
911
|
+
recordingLanguageContract,
|
|
912
|
+
this.#config.recordingLanguagePackageId,
|
|
913
|
+
[
|
|
914
|
+
"setLanguages",
|
|
915
|
+
"setInstrumental",
|
|
916
|
+
"unsetLanguages",
|
|
917
|
+
"hasLanguages",
|
|
918
|
+
"isInstrumental",
|
|
919
|
+
] as const,
|
|
920
|
+
)
|
|
630
921
|
: undefined,
|
|
631
922
|
recordingMasterReference: this.#config.recordingMasterReferencePackageId
|
|
632
|
-
? bindModulePackage(
|
|
923
|
+
? bindModulePackage(
|
|
924
|
+
recordingMasterReferenceContract,
|
|
925
|
+
this.#config.recordingMasterReferencePackageId,
|
|
926
|
+
[
|
|
927
|
+
"setMasterReference",
|
|
928
|
+
"unsetMasterReference",
|
|
929
|
+
"hasMasterReference",
|
|
930
|
+
] as const,
|
|
931
|
+
)
|
|
633
932
|
: undefined,
|
|
634
933
|
recordingPreview: this.#config.recordingPreviewPackageId
|
|
635
|
-
? bindModulePackage(
|
|
934
|
+
? bindModulePackage(
|
|
935
|
+
recordingPreviewContract,
|
|
936
|
+
this.#config.recordingPreviewPackageId,
|
|
937
|
+
["setPreview", "unsetPreview", "hasPreview"] as const,
|
|
938
|
+
)
|
|
636
939
|
: undefined,
|
|
637
940
|
coverArt: this.#config.coverArtPackageId
|
|
638
|
-
? bindModulePackage(
|
|
941
|
+
? bindModulePackage(
|
|
942
|
+
coverArtContract,
|
|
943
|
+
this.#config.coverArtPackageId,
|
|
944
|
+
[] as const,
|
|
945
|
+
)
|
|
639
946
|
: undefined,
|
|
640
947
|
releaseCoverArt: this.#config.releaseCoverArtPackageId
|
|
641
948
|
? bindModulePackage(
|
|
642
949
|
releaseCoverArtContract,
|
|
643
950
|
this.#config.releaseCoverArtPackageId,
|
|
644
|
-
[
|
|
951
|
+
[
|
|
952
|
+
"setCover",
|
|
953
|
+
"unsetCover",
|
|
954
|
+
"setTrackCover",
|
|
955
|
+
"unsetTrackCover",
|
|
956
|
+
"hasCoverArt",
|
|
957
|
+
] as const,
|
|
645
958
|
)
|
|
646
959
|
: undefined,
|
|
647
960
|
releaseCredits: this.#config.releaseCreditsPackageId
|
|
@@ -656,12 +969,29 @@ export class MisoPlatformClient {
|
|
|
656
969
|
|
|
657
970
|
/** Generated BCS definitions, for parsing objects or events yourself. */
|
|
658
971
|
readonly bcs = {
|
|
972
|
+
Record: recordContract.Record,
|
|
659
973
|
Pressing: pressingContract.Pressing,
|
|
660
974
|
PressingAdminCap: pressingContract.PressingAdminCap,
|
|
661
975
|
Listing: listingContract.Listing,
|
|
662
|
-
|
|
976
|
+
Pricing: listingContract.Pricing,
|
|
977
|
+
ListingState: listingContract.State,
|
|
978
|
+
RecordCreatedEvent: recordContract.RecordCreatedEvent,
|
|
979
|
+
RecordDestroyedEvent: recordContract.RecordDestroyedEvent,
|
|
980
|
+
PressingCreatedEvent: pressingContract.PressingCreatedEvent,
|
|
981
|
+
DistributorAuthorizedEvent: pressingContract.DistributorAuthorizedEvent,
|
|
982
|
+
DistributorRevokedEvent: pressingContract.DistributorRevokedEvent,
|
|
983
|
+
RecordPurchasedEvent: pressingContract.RecordPurchasedEvent,
|
|
984
|
+
ListingCreatedEvent: listingContract.ListingCreatedEvent,
|
|
985
|
+
ListingPriceChangedEvent: listingContract.ListingPriceChangedEvent,
|
|
986
|
+
ListingStateChangedEvent: listingContract.ListingStateChangedEvent,
|
|
987
|
+
RecordSoldEvent: listingContract.RecordSoldEvent,
|
|
663
988
|
VaultAdminCap: vaultContract.VaultAdminCap,
|
|
989
|
+
VaultRegistry: vaultContract.VaultRegistry,
|
|
990
|
+
VaultKey: vaultContract.VaultKey,
|
|
991
|
+
VaultAdminCapKey: vaultContract.VaultAdminCapKey,
|
|
664
992
|
VaultCreatedEvent: vaultContract.VaultCreatedEvent,
|
|
993
|
+
VaultCapabilityWithdrawnEvent: vaultContract.VaultCapabilityWithdrawnEvent,
|
|
994
|
+
VaultCapabilityRestoredEvent: vaultContract.VaultCapabilityRestoredEvent,
|
|
665
995
|
ReleaseRevenueDistributedEvent:
|
|
666
996
|
releaseRevenueDistributorContract.ReleaseRevenueDistributedEvent,
|
|
667
997
|
};
|
|
@@ -692,7 +1022,7 @@ export function miso<const Name extends string = "miso">(
|
|
|
692
1022
|
return new MisoPlatformClient(
|
|
693
1023
|
client,
|
|
694
1024
|
{
|
|
695
|
-
|
|
1025
|
+
recordSales: deployment.recordSales,
|
|
696
1026
|
misoPackageId: deployment.protocol.miso,
|
|
697
1027
|
minatoPackageId: deployment.packages.minato,
|
|
698
1028
|
releaseRegistryId: deployment.objects.releaseRegistry,
|
|
@@ -702,15 +1032,18 @@ export function miso<const Name extends string = "miso">(
|
|
|
702
1032
|
releaseDspLinkPackageId: deployment.packages.releaseDspLink,
|
|
703
1033
|
recordingAdvisoryPackageId: deployment.packages.recordingAdvisory,
|
|
704
1034
|
recordingLanguagePackageId: deployment.packages.recordingLanguage,
|
|
705
|
-
recordingMasterReferencePackageId:
|
|
1035
|
+
recordingMasterReferencePackageId:
|
|
1036
|
+
deployment.packages.recordingMasterReference,
|
|
706
1037
|
recordingPreviewPackageId: deployment.packages.recordingPreview,
|
|
707
1038
|
vaultPackageId: deployment.packages.vault,
|
|
1039
|
+
vaultRegistryId: deployment.objects.vaultRegistry,
|
|
708
1040
|
royaltyPoolPackageId: deployment.packages.royaltyPool,
|
|
709
1041
|
vaultCompositionRoyaltyPoolPluginPackageId:
|
|
710
1042
|
deployment.packages.vaultCompositionRoyaltyPoolPlugin,
|
|
711
1043
|
vaultRecordingRoyaltyPoolPluginPackageId:
|
|
712
1044
|
deployment.packages.vaultRecordingRoyaltyPoolPlugin,
|
|
713
|
-
vaultPartyWalletPluginPackageId:
|
|
1045
|
+
vaultPartyWalletPluginPackageId:
|
|
1046
|
+
deployment.packages.vaultPartyWalletPlugin,
|
|
714
1047
|
vaultCompositionRoutedStakePluginPackageId:
|
|
715
1048
|
deployment.packages.vaultCompositionRoutedStakePlugin,
|
|
716
1049
|
routedStakePackageId: deployment.packages.routedStake,
|
|
@@ -740,7 +1073,9 @@ export function misoPlatform(config: MisoPlatformConfig) {
|
|
|
740
1073
|
name: "misoPlatform" as const,
|
|
741
1074
|
register: (client: ClientWithCoreApi) => {
|
|
742
1075
|
const protocol = config.misoPackageId
|
|
743
|
-
? protocolMiso({
|
|
1076
|
+
? protocolMiso({
|
|
1077
|
+
deployment: { packageId: config.misoPackageId },
|
|
1078
|
+
}).register(client)
|
|
744
1079
|
: undefined;
|
|
745
1080
|
return new MisoPlatformClient(client, config, protocol);
|
|
746
1081
|
},
|