@misofm/sdk 0.15.11 → 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 +145 -53
- package/dist/client.d.ts +156 -48
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +289 -48
- 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.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 +37 -4
- package/dist/deployments.d.ts.map +1 -1
- package/dist/deployments.js +40 -2
- 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 +57 -32
- 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 +34 -24
- package/dist/read/types.d.ts.map +1 -1
- package/dist/read/wallet.d.ts.map +1 -1
- package/dist/read/wallet.js +31 -46
- package/dist/read/wallet.js.map +1 -1
- package/dist/vault.d.ts +40 -11
- package/dist/vault.d.ts.map +1 -1
- package/dist/vault.js +94 -22
- package/dist/vault.js.map +1 -1
- package/package.json +10 -3
- package/src/client.ts +386 -72
- 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.ts +5 -4
- package/src/deployments.ts +131 -38
- package/src/index.ts +2 -0
- package/src/mix.ts +910 -0
- package/src/pressing.ts +428 -423
- package/src/publication.ts +62 -33
- 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 +35 -22
- package/src/read/wallet.ts +29 -50
- package/src/vault.ts +142 -32
- 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`,
|
|
@@ -222,21 +231,30 @@ export interface MisoPlatformConfig {
|
|
|
222
231
|
}
|
|
223
232
|
|
|
224
233
|
/** Params with the ids this client already knows dropped from the call site. */
|
|
225
|
-
type DistributiveOmit<T, Keys extends PropertyKey> = T extends unknown
|
|
226
|
-
|
|
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
|
+
>;
|
|
227
241
|
|
|
228
242
|
/** Publish-builder params with the protocol/minato ids this client already knows dropped. */
|
|
229
|
-
type ConfiguredPublish<T> = DistributiveOmit<
|
|
243
|
+
type ConfiguredPublish<T> = DistributiveOmit<
|
|
244
|
+
T,
|
|
245
|
+
"misoPackageId" | "minatoPackageId"
|
|
246
|
+
>;
|
|
230
247
|
|
|
231
248
|
/** Release-builder params with this client's core, share, and registry ids dropped. */
|
|
232
249
|
type ConfiguredRelease<T> = DistributiveOmit<
|
|
233
250
|
T,
|
|
234
|
-
| "
|
|
235
|
-
| "minatoPackageId"
|
|
236
|
-
| "releaseRegistryId"
|
|
251
|
+
"misoPackageId" | "minatoPackageId" | "releaseRegistryId"
|
|
237
252
|
>;
|
|
238
253
|
|
|
239
|
-
type ConfiguredReleaseKind = DistributiveOmit<
|
|
254
|
+
type ConfiguredReleaseKind = DistributiveOmit<
|
|
255
|
+
SetReleaseKindParams,
|
|
256
|
+
"releaseKindPackageId"
|
|
257
|
+
>;
|
|
240
258
|
type ConfiguredReleaseDescription = DistributiveOmit<
|
|
241
259
|
SetReleaseDescriptionParams,
|
|
242
260
|
"releaseDescriptionPackageId"
|
|
@@ -263,7 +281,10 @@ type ConfiguredReleaseTrackCover = DistributiveOmit<
|
|
|
263
281
|
>;
|
|
264
282
|
|
|
265
283
|
/** Whole-graph params with this client's package ids dropped. */
|
|
266
|
-
export type ConfiguredReleaseGraphParams = Omit<
|
|
284
|
+
export type ConfiguredReleaseGraphParams = Omit<
|
|
285
|
+
PublishReleaseGraphParams,
|
|
286
|
+
"misoPackageId" | "minatoPackageId"
|
|
287
|
+
>;
|
|
267
288
|
|
|
268
289
|
export class MisoPlatformClient {
|
|
269
290
|
readonly #client: ClientWithCoreApi;
|
|
@@ -284,9 +305,13 @@ export class MisoPlatformClient {
|
|
|
284
305
|
// A pressing-only facade must not implicitly register a fail-closed core
|
|
285
306
|
// extension. Supply a core deployment/misoPackageId when `protocol` is
|
|
286
307
|
// needed; otherwise this remains a safe, independent pressing client.
|
|
287
|
-
this.protocol =
|
|
288
|
-
|
|
289
|
-
|
|
308
|
+
this.protocol =
|
|
309
|
+
protocol ??
|
|
310
|
+
(config.misoPackageId
|
|
311
|
+
? protocolMiso({
|
|
312
|
+
deployment: { packageId: config.misoPackageId },
|
|
313
|
+
}).register(client)
|
|
314
|
+
: undefined);
|
|
290
315
|
this.deployment = deployment;
|
|
291
316
|
}
|
|
292
317
|
|
|
@@ -300,8 +325,22 @@ export class MisoPlatformClient {
|
|
|
300
325
|
return this.protocol.party;
|
|
301
326
|
}
|
|
302
327
|
|
|
303
|
-
|
|
304
|
-
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;
|
|
305
344
|
}
|
|
306
345
|
|
|
307
346
|
#misoPackageId(): string {
|
|
@@ -350,12 +389,17 @@ export class MisoPlatformClient {
|
|
|
350
389
|
|
|
351
390
|
/** The run itself, or `null` if this release has never opened one. */
|
|
352
391
|
getPressing(pressingId: string): Promise<PressingView | null> {
|
|
353
|
-
return getPressing(this.#client, pressingId, this.
|
|
392
|
+
return getPressing(this.#client, pressingId, this.recordPackageId);
|
|
354
393
|
}
|
|
355
394
|
|
|
356
395
|
/** One currency's offer, or `null` if the run does not sell in it. */
|
|
357
396
|
getListing(listingId: string): Promise<ListingView | null> {
|
|
358
|
-
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);
|
|
359
403
|
}
|
|
360
404
|
|
|
361
405
|
/** Run + one currency's offer in a single round trip, by address math. */
|
|
@@ -365,27 +409,42 @@ export class MisoPlatformClient {
|
|
|
365
409
|
}> {
|
|
366
410
|
return getSale(this.#client, {
|
|
367
411
|
...p,
|
|
368
|
-
|
|
412
|
+
recordPackageId: this.recordPackageId,
|
|
413
|
+
recordShopPackageId: this.recordShopPackageId,
|
|
369
414
|
});
|
|
370
415
|
}
|
|
371
416
|
|
|
372
417
|
// ── Address math ──────────────────────────────────────────────────────────
|
|
373
418
|
|
|
374
419
|
readonly ids = {
|
|
375
|
-
pressing: (releaseId: string) =>
|
|
376
|
-
derivePressingId(releaseId, this.
|
|
420
|
+
pressing: (releaseId: string, edition: number) =>
|
|
421
|
+
derivePressingId(releaseId, edition, this.recordPackageId),
|
|
377
422
|
pressingAdminCap: (pressingId: string) =>
|
|
378
|
-
derivePressingAdminCapId(pressingId, this.
|
|
423
|
+
derivePressingAdminCapId(pressingId, this.recordPackageId),
|
|
424
|
+
record: (pressingId: string, number: number) =>
|
|
425
|
+
deriveRecordId(pressingId, number, this.recordPackageId),
|
|
379
426
|
listing: (pressingId: string, currencyType: string) =>
|
|
380
|
-
deriveListingId(pressingId, currencyType, this.
|
|
381
|
-
sale: (releaseId: string, currencyType: string) =>
|
|
382
|
-
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
|
+
),
|
|
383
436
|
vault: (capId: string, capType: string) =>
|
|
384
437
|
vaultActions.deriveVaultId({
|
|
385
|
-
vaultRegistryId: this.#requiredConfig(
|
|
438
|
+
vaultRegistryId: this.#requiredConfig(
|
|
439
|
+
"vaultRegistryId",
|
|
440
|
+
"Vault ID derivation",
|
|
441
|
+
),
|
|
386
442
|
capId,
|
|
387
443
|
capType,
|
|
388
|
-
vaultPackageId: this.#requiredConfig(
|
|
444
|
+
vaultPackageId: this.#requiredConfig(
|
|
445
|
+
"vaultPackageId",
|
|
446
|
+
"Vault ID derivation",
|
|
447
|
+
),
|
|
389
448
|
}),
|
|
390
449
|
vaultAdminCap: (vaultId: string) =>
|
|
391
450
|
vaultActions.deriveVaultAdminCapId(
|
|
@@ -403,21 +462,38 @@ export class MisoPlatformClient {
|
|
|
403
462
|
// ── Transaction builders ──────────────────────────────────────────────────
|
|
404
463
|
|
|
405
464
|
readonly tx = {
|
|
406
|
-
|
|
407
|
-
|
|
465
|
+
purchaseRecord: (p: Configured<PurchaseRecordParams>): TxThunk =>
|
|
466
|
+
purchaseRecord({
|
|
408
467
|
...p,
|
|
409
|
-
|
|
468
|
+
recordPackageId: this.recordPackageId,
|
|
469
|
+
recordShopPackageId: this.recordShopPackageId,
|
|
410
470
|
}),
|
|
411
471
|
openPressing: (p: Configured<OpenPressingParams>): TxThunk =>
|
|
412
|
-
openPressing({
|
|
472
|
+
openPressing({
|
|
473
|
+
...p,
|
|
474
|
+
recordPackageId: this.recordPackageId,
|
|
475
|
+
recordShopPackageId: this.recordShopPackageId,
|
|
476
|
+
}),
|
|
413
477
|
openListing: (p: Configured<OpenListingParams>): TxThunk =>
|
|
414
|
-
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
|
+
}),
|
|
415
493
|
setListingPrice: (p: Configured<SetListingPriceParams>): TxThunk =>
|
|
416
|
-
setListingPrice({ ...p,
|
|
494
|
+
setListingPrice({ ...p, recordShopPackageId: this.recordShopPackageId }),
|
|
417
495
|
setListingState: (p: Configured<SetListingStateParams>): TxThunk =>
|
|
418
|
-
setListingState({ ...p,
|
|
419
|
-
setPressingState: (p: Configured<SetPressingStateParams>): TxThunk =>
|
|
420
|
-
setPressingState({ ...p, misoPressingPackageId: this.packageId }),
|
|
496
|
+
setListingState({ ...p, recordShopPackageId: this.recordShopPackageId }),
|
|
421
497
|
|
|
422
498
|
// Publishing (protocol works + minato share economics) — package-id-free
|
|
423
499
|
// builders pass through unchanged; the rest bind this client's
|
|
@@ -558,11 +634,65 @@ export class MisoPlatformClient {
|
|
|
558
634
|
|
|
559
635
|
/** Generated Move-call bindings, for commands this facade doesn't wrap. */
|
|
560
636
|
get call() {
|
|
637
|
+
const sales =
|
|
638
|
+
this.#config.recordSales?.status === "available"
|
|
639
|
+
? this.#config.recordSales
|
|
640
|
+
: undefined;
|
|
561
641
|
return {
|
|
562
|
-
|
|
563
|
-
|
|
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,
|
|
564
692
|
genre: this.#config.genrePackageId
|
|
565
|
-
? bindModulePackage(genreContract, this.#config.genrePackageId, [
|
|
693
|
+
? bindModulePackage(genreContract, this.#config.genrePackageId, [
|
|
694
|
+
"deriveAddress",
|
|
695
|
+
] as const)
|
|
566
696
|
: undefined,
|
|
567
697
|
releaseDescription: this.#config.releaseDescriptionPackageId
|
|
568
698
|
? bindModulePackage(
|
|
@@ -575,14 +705,47 @@ export class MisoPlatformClient {
|
|
|
575
705
|
? bindModulePackage(
|
|
576
706
|
releaseDspLinkContract,
|
|
577
707
|
this.#config.releaseDspLinkPackageId,
|
|
578
|
-
[
|
|
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,
|
|
579
735
|
)
|
|
580
736
|
: undefined,
|
|
581
737
|
releaseGenre: this.#config.releaseGenrePackageId
|
|
582
738
|
? bindModulePackage(
|
|
583
739
|
releaseGenreContract,
|
|
584
740
|
this.#config.releaseGenrePackageId,
|
|
585
|
-
[
|
|
741
|
+
[
|
|
742
|
+
"setPrimaryGenre",
|
|
743
|
+
"addSecondaryGenre",
|
|
744
|
+
"removeSecondaryGenre",
|
|
745
|
+
"setTrackPrimaryGenre",
|
|
746
|
+
"unsetTrackPrimaryGenre",
|
|
747
|
+
"hasGenre",
|
|
748
|
+
] as const,
|
|
586
749
|
)
|
|
587
750
|
: undefined,
|
|
588
751
|
releaseKind: this.#config.releaseKindPackageId
|
|
@@ -592,70 +755,206 @@ export class MisoPlatformClient {
|
|
|
592
755
|
["setKind", "unsetKind", "hasKind"] as const,
|
|
593
756
|
)
|
|
594
757
|
: undefined,
|
|
595
|
-
releaseRevenueDistributor: this.#config
|
|
758
|
+
releaseRevenueDistributor: this.#config
|
|
759
|
+
.vaultReleaseRevenueDistributorPluginPackageId
|
|
596
760
|
? bindModulePackage(
|
|
597
761
|
releaseRevenueDistributorContract,
|
|
598
762
|
this.#config.vaultReleaseRevenueDistributorPluginPackageId,
|
|
599
|
-
[
|
|
763
|
+
[
|
|
764
|
+
"install",
|
|
765
|
+
"uninstall",
|
|
766
|
+
"redeemAndDistribute",
|
|
767
|
+
"receiveAndDistribute",
|
|
768
|
+
"isInstalled",
|
|
769
|
+
] as const,
|
|
600
770
|
)
|
|
601
771
|
: undefined,
|
|
602
772
|
vault: this.#config.vaultPackageId
|
|
603
|
-
? 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)
|
|
604
787
|
: undefined,
|
|
605
|
-
compositionRoyaltyPool: this.#config
|
|
788
|
+
compositionRoyaltyPool: this.#config
|
|
789
|
+
.vaultCompositionRoyaltyPoolPluginPackageId
|
|
606
790
|
? bindModulePackage(
|
|
607
791
|
compositionRoyaltyPoolContract,
|
|
608
792
|
this.#config.vaultCompositionRoyaltyPoolPluginPackageId,
|
|
609
|
-
[
|
|
793
|
+
[
|
|
794
|
+
"install",
|
|
795
|
+
"uninstall",
|
|
796
|
+
"newPool",
|
|
797
|
+
"initializePool",
|
|
798
|
+
"receiveAndDeposit",
|
|
799
|
+
"redeemAndDeposit",
|
|
800
|
+
"isInstalled",
|
|
801
|
+
"poolAddress",
|
|
802
|
+
] as const,
|
|
610
803
|
)
|
|
611
804
|
: undefined,
|
|
612
|
-
recordingRoyaltyPool: this.#config
|
|
805
|
+
recordingRoyaltyPool: this.#config
|
|
806
|
+
.vaultRecordingRoyaltyPoolPluginPackageId
|
|
613
807
|
? bindModulePackage(
|
|
614
808
|
recordingRoyaltyPoolContract,
|
|
615
809
|
this.#config.vaultRecordingRoyaltyPoolPluginPackageId,
|
|
616
|
-
[
|
|
810
|
+
[
|
|
811
|
+
"install",
|
|
812
|
+
"uninstall",
|
|
813
|
+
"newPool",
|
|
814
|
+
"initializePool",
|
|
815
|
+
"receiveAndDeposit",
|
|
816
|
+
"redeemAndDeposit",
|
|
817
|
+
"isInstalled",
|
|
818
|
+
"poolAddress",
|
|
819
|
+
] as const,
|
|
617
820
|
)
|
|
618
821
|
: undefined,
|
|
619
822
|
partyWallet: this.#config.vaultPartyWalletPluginPackageId
|
|
620
823
|
? bindModulePackage(
|
|
621
824
|
partyWalletContract,
|
|
622
825
|
this.#config.vaultPartyWalletPluginPackageId,
|
|
623
|
-
[
|
|
826
|
+
[
|
|
827
|
+
"install",
|
|
828
|
+
"uninstall",
|
|
829
|
+
"receiveObject",
|
|
830
|
+
"receiveObjects",
|
|
831
|
+
"receiveCoins",
|
|
832
|
+
"redeemBalance",
|
|
833
|
+
"isInstalled",
|
|
834
|
+
"inboxAddress",
|
|
835
|
+
] as const,
|
|
624
836
|
)
|
|
625
837
|
: undefined,
|
|
626
|
-
compositionRoutedStake: this.#config
|
|
838
|
+
compositionRoutedStake: this.#config
|
|
839
|
+
.vaultCompositionRoutedStakePluginPackageId
|
|
627
840
|
? bindModulePackage(
|
|
628
841
|
compositionRoutedStakeContract,
|
|
629
842
|
this.#config.vaultCompositionRoutedStakePluginPackageId,
|
|
630
|
-
[
|
|
843
|
+
[
|
|
844
|
+
"install",
|
|
845
|
+
"uninstall",
|
|
846
|
+
"createStake",
|
|
847
|
+
"register",
|
|
848
|
+
"unregister",
|
|
849
|
+
"unstake",
|
|
850
|
+
"restake",
|
|
851
|
+
"isInstalled",
|
|
852
|
+
"stakeAddress",
|
|
853
|
+
] as const,
|
|
631
854
|
)
|
|
632
855
|
: undefined,
|
|
633
856
|
routedStake: this.#config.routedStakePackageId
|
|
634
|
-
? 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
|
+
)
|
|
635
870
|
: undefined,
|
|
636
871
|
royaltyPool: this.#config.royaltyPoolPackageId
|
|
637
|
-
? 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
|
+
)
|
|
638
891
|
: undefined,
|
|
639
892
|
recordingAdvisory: this.#config.recordingAdvisoryPackageId
|
|
640
|
-
? 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
|
+
)
|
|
641
908
|
: undefined,
|
|
642
909
|
recordingLanguage: this.#config.recordingLanguagePackageId
|
|
643
|
-
? bindModulePackage(
|
|
910
|
+
? bindModulePackage(
|
|
911
|
+
recordingLanguageContract,
|
|
912
|
+
this.#config.recordingLanguagePackageId,
|
|
913
|
+
[
|
|
914
|
+
"setLanguages",
|
|
915
|
+
"setInstrumental",
|
|
916
|
+
"unsetLanguages",
|
|
917
|
+
"hasLanguages",
|
|
918
|
+
"isInstrumental",
|
|
919
|
+
] as const,
|
|
920
|
+
)
|
|
644
921
|
: undefined,
|
|
645
922
|
recordingMasterReference: this.#config.recordingMasterReferencePackageId
|
|
646
|
-
? bindModulePackage(
|
|
923
|
+
? bindModulePackage(
|
|
924
|
+
recordingMasterReferenceContract,
|
|
925
|
+
this.#config.recordingMasterReferencePackageId,
|
|
926
|
+
[
|
|
927
|
+
"setMasterReference",
|
|
928
|
+
"unsetMasterReference",
|
|
929
|
+
"hasMasterReference",
|
|
930
|
+
] as const,
|
|
931
|
+
)
|
|
647
932
|
: undefined,
|
|
648
933
|
recordingPreview: this.#config.recordingPreviewPackageId
|
|
649
|
-
? bindModulePackage(
|
|
934
|
+
? bindModulePackage(
|
|
935
|
+
recordingPreviewContract,
|
|
936
|
+
this.#config.recordingPreviewPackageId,
|
|
937
|
+
["setPreview", "unsetPreview", "hasPreview"] as const,
|
|
938
|
+
)
|
|
650
939
|
: undefined,
|
|
651
940
|
coverArt: this.#config.coverArtPackageId
|
|
652
|
-
? bindModulePackage(
|
|
941
|
+
? bindModulePackage(
|
|
942
|
+
coverArtContract,
|
|
943
|
+
this.#config.coverArtPackageId,
|
|
944
|
+
[] as const,
|
|
945
|
+
)
|
|
653
946
|
: undefined,
|
|
654
947
|
releaseCoverArt: this.#config.releaseCoverArtPackageId
|
|
655
948
|
? bindModulePackage(
|
|
656
949
|
releaseCoverArtContract,
|
|
657
950
|
this.#config.releaseCoverArtPackageId,
|
|
658
|
-
[
|
|
951
|
+
[
|
|
952
|
+
"setCover",
|
|
953
|
+
"unsetCover",
|
|
954
|
+
"setTrackCover",
|
|
955
|
+
"unsetTrackCover",
|
|
956
|
+
"hasCoverArt",
|
|
957
|
+
] as const,
|
|
659
958
|
)
|
|
660
959
|
: undefined,
|
|
661
960
|
releaseCredits: this.#config.releaseCreditsPackageId
|
|
@@ -670,15 +969,26 @@ export class MisoPlatformClient {
|
|
|
670
969
|
|
|
671
970
|
/** Generated BCS definitions, for parsing objects or events yourself. */
|
|
672
971
|
readonly bcs = {
|
|
972
|
+
Record: recordContract.Record,
|
|
673
973
|
Pressing: pressingContract.Pressing,
|
|
674
974
|
PressingAdminCap: pressingContract.PressingAdminCap,
|
|
675
975
|
Listing: listingContract.Listing,
|
|
676
|
-
|
|
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,
|
|
677
988
|
VaultAdminCap: vaultContract.VaultAdminCap,
|
|
678
989
|
VaultRegistry: vaultContract.VaultRegistry,
|
|
679
990
|
VaultKey: vaultContract.VaultKey,
|
|
680
991
|
VaultAdminCapKey: vaultContract.VaultAdminCapKey,
|
|
681
|
-
VaultRegistryCreatedEvent: vaultContract.VaultRegistryCreatedEvent,
|
|
682
992
|
VaultCreatedEvent: vaultContract.VaultCreatedEvent,
|
|
683
993
|
VaultCapabilityWithdrawnEvent: vaultContract.VaultCapabilityWithdrawnEvent,
|
|
684
994
|
VaultCapabilityRestoredEvent: vaultContract.VaultCapabilityRestoredEvent,
|
|
@@ -712,7 +1022,7 @@ export function miso<const Name extends string = "miso">(
|
|
|
712
1022
|
return new MisoPlatformClient(
|
|
713
1023
|
client,
|
|
714
1024
|
{
|
|
715
|
-
|
|
1025
|
+
recordSales: deployment.recordSales,
|
|
716
1026
|
misoPackageId: deployment.protocol.miso,
|
|
717
1027
|
minatoPackageId: deployment.packages.minato,
|
|
718
1028
|
releaseRegistryId: deployment.objects.releaseRegistry,
|
|
@@ -722,7 +1032,8 @@ export function miso<const Name extends string = "miso">(
|
|
|
722
1032
|
releaseDspLinkPackageId: deployment.packages.releaseDspLink,
|
|
723
1033
|
recordingAdvisoryPackageId: deployment.packages.recordingAdvisory,
|
|
724
1034
|
recordingLanguagePackageId: deployment.packages.recordingLanguage,
|
|
725
|
-
recordingMasterReferencePackageId:
|
|
1035
|
+
recordingMasterReferencePackageId:
|
|
1036
|
+
deployment.packages.recordingMasterReference,
|
|
726
1037
|
recordingPreviewPackageId: deployment.packages.recordingPreview,
|
|
727
1038
|
vaultPackageId: deployment.packages.vault,
|
|
728
1039
|
vaultRegistryId: deployment.objects.vaultRegistry,
|
|
@@ -731,7 +1042,8 @@ export function miso<const Name extends string = "miso">(
|
|
|
731
1042
|
deployment.packages.vaultCompositionRoyaltyPoolPlugin,
|
|
732
1043
|
vaultRecordingRoyaltyPoolPluginPackageId:
|
|
733
1044
|
deployment.packages.vaultRecordingRoyaltyPoolPlugin,
|
|
734
|
-
vaultPartyWalletPluginPackageId:
|
|
1045
|
+
vaultPartyWalletPluginPackageId:
|
|
1046
|
+
deployment.packages.vaultPartyWalletPlugin,
|
|
735
1047
|
vaultCompositionRoutedStakePluginPackageId:
|
|
736
1048
|
deployment.packages.vaultCompositionRoutedStakePlugin,
|
|
737
1049
|
routedStakePackageId: deployment.packages.routedStake,
|
|
@@ -761,7 +1073,9 @@ export function misoPlatform(config: MisoPlatformConfig) {
|
|
|
761
1073
|
name: "misoPlatform" as const,
|
|
762
1074
|
register: (client: ClientWithCoreApi) => {
|
|
763
1075
|
const protocol = config.misoPackageId
|
|
764
|
-
? protocolMiso({
|
|
1076
|
+
? protocolMiso({
|
|
1077
|
+
deployment: { packageId: config.misoPackageId },
|
|
1078
|
+
}).register(client)
|
|
765
1079
|
: undefined;
|
|
766
1080
|
return new MisoPlatformClient(client, config, protocol);
|
|
767
1081
|
},
|