@misofm/sdk 0.9.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +88 -56
- package/dist/client.d.ts +126 -18
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +210 -44
- package/dist/client.js.map +1 -1
- package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts +205 -0
- package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts.map +1 -0
- package/dist/contracts/composition_routed_stake/composition_routed_stake.js +184 -0
- package/dist/contracts/composition_routed_stake/composition_routed_stake.js.map +1 -0
- package/dist/contracts/composition_routed_stake/witness.d.ts +7 -0
- package/dist/contracts/composition_routed_stake/witness.d.ts.map +1 -0
- package/dist/contracts/composition_routed_stake/witness.js +9 -0
- package/dist/contracts/composition_routed_stake/witness.js.map +1 -0
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts +89 -28
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts.map +1 -1
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js +84 -23
- package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js.map +1 -1
- package/dist/contracts/composition_royalty_pool/witness.d.ts +6 -0
- package/dist/contracts/composition_royalty_pool/witness.d.ts.map +1 -0
- package/dist/contracts/composition_royalty_pool/witness.js +8 -0
- package/dist/contracts/composition_royalty_pool/witness.js.map +1 -0
- package/dist/contracts/genre/genre.d.ts +96 -0
- package/dist/contracts/genre/genre.d.ts.map +1 -0
- package/dist/contracts/genre/genre.js +107 -0
- package/dist/contracts/genre/genre.js.map +1 -0
- package/dist/contracts/recording_advisory/recording_advisory.d.ts +194 -0
- package/dist/contracts/recording_advisory/recording_advisory.d.ts.map +1 -0
- package/dist/contracts/recording_advisory/recording_advisory.js +204 -0
- package/dist/contracts/recording_advisory/recording_advisory.js.map +1 -0
- package/dist/contracts/recording_language/deps/language_code/language_code.d.ts +6 -0
- package/dist/contracts/recording_language/deps/language_code/language_code.d.ts.map +1 -0
- package/dist/contracts/recording_language/deps/language_code/language_code.js +8 -0
- package/dist/contracts/recording_language/deps/language_code/language_code.js.map +1 -0
- package/dist/contracts/recording_language/recording_language.d.ts +152 -0
- package/dist/contracts/recording_language/recording_language.d.ts.map +1 -0
- package/dist/contracts/recording_language/recording_language.js +149 -0
- package/dist/contracts/recording_language/recording_language.js.map +1 -0
- package/dist/contracts/recording_master_reference/deps/ori/walrus_data.d.ts +52 -0
- package/dist/contracts/recording_master_reference/deps/ori/walrus_data.d.ts.map +1 -0
- package/dist/contracts/recording_master_reference/deps/ori/walrus_data.js +37 -0
- package/dist/contracts/recording_master_reference/deps/ori/walrus_data.js.map +1 -0
- package/dist/contracts/recording_master_reference/recording_master_reference.d.ts +131 -0
- package/dist/contracts/recording_master_reference/recording_master_reference.d.ts.map +1 -0
- package/dist/contracts/recording_master_reference/recording_master_reference.js +121 -0
- package/dist/contracts/recording_master_reference/recording_master_reference.js.map +1 -0
- package/dist/contracts/recording_preview/deps/ori/walrus_data.d.ts +52 -0
- package/dist/contracts/recording_preview/deps/ori/walrus_data.d.ts.map +1 -0
- package/dist/contracts/recording_preview/deps/ori/walrus_data.js +37 -0
- package/dist/contracts/recording_preview/deps/ori/walrus_data.js.map +1 -0
- package/dist/contracts/recording_preview/recording_preview.d.ts +104 -0
- package/dist/contracts/recording_preview/recording_preview.d.ts.map +1 -0
- package/dist/contracts/recording_preview/recording_preview.js +94 -0
- package/dist/contracts/recording_preview/recording_preview.js.map +1 -0
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts +90 -28
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts.map +1 -1
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js +84 -23
- package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js.map +1 -1
- package/dist/contracts/recording_royalty_pool/witness.d.ts +6 -0
- package/dist/contracts/recording_royalty_pool/witness.d.ts.map +1 -0
- package/dist/contracts/recording_royalty_pool/witness.js +8 -0
- package/dist/contracts/recording_royalty_pool/witness.js.map +1 -0
- package/dist/contracts/release_description/release_description.d.ts +112 -0
- package/dist/contracts/release_description/release_description.d.ts.map +1 -0
- package/dist/contracts/release_description/release_description.js +123 -0
- package/dist/contracts/release_description/release_description.js.map +1 -0
- package/dist/contracts/release_dsp_link/release_dsp_link.d.ts +644 -0
- package/dist/contracts/release_dsp_link/release_dsp_link.d.ts.map +1 -0
- package/dist/contracts/release_dsp_link/release_dsp_link.js +556 -0
- package/dist/contracts/release_dsp_link/release_dsp_link.js.map +1 -0
- package/dist/contracts/release_genre/deps/per_track/per_track.d.ts +33 -0
- package/dist/contracts/release_genre/deps/per_track/per_track.d.ts.map +1 -0
- package/dist/contracts/release_genre/deps/per_track/per_track.js +32 -0
- package/dist/contracts/release_genre/deps/per_track/per_track.js.map +1 -0
- package/dist/contracts/release_genre/release_genre.d.ts +193 -0
- package/dist/contracts/release_genre/release_genre.d.ts.map +1 -0
- package/dist/contracts/release_genre/release_genre.js +207 -0
- package/dist/contracts/release_genre/release_genre.js.map +1 -0
- package/dist/contracts/release_kind/release_kind.d.ts +98 -0
- package/dist/contracts/release_kind/release_kind.d.ts.map +1 -0
- package/dist/contracts/release_kind/release_kind.js +109 -0
- package/dist/contracts/release_kind/release_kind.js.map +1 -0
- package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts +106 -0
- package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts.map +1 -0
- package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js +113 -0
- package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js.map +1 -0
- package/dist/contracts/release_revenue_distributor/witness.d.ts +7 -0
- package/dist/contracts/release_revenue_distributor/witness.d.ts.map +1 -0
- package/dist/contracts/release_revenue_distributor/witness.js +9 -0
- package/dist/contracts/release_revenue_distributor/witness.js.map +1 -0
- package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.d.ts +52 -0
- package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.d.ts.map +1 -0
- package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.js +37 -0
- package/dist/contracts/release_snapshot_bundle/deps/ori/walrus_data.js.map +1 -0
- package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.d.ts +91 -0
- package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.d.ts.map +1 -0
- package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.js +91 -0
- package/dist/contracts/release_snapshot_bundle/release_snapshot_bundle.js.map +1 -0
- package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts +54 -0
- package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts.map +1 -0
- package/dist/contracts/routed_stake/deps/royalty_pool/stake.js +37 -0
- package/dist/contracts/routed_stake/deps/royalty_pool/stake.js.map +1 -0
- package/dist/contracts/routed_stake/deps/std/type_name.d.ts +18 -0
- package/dist/contracts/routed_stake/deps/std/type_name.d.ts.map +1 -0
- package/dist/contracts/routed_stake/deps/std/type_name.js +20 -0
- package/dist/contracts/routed_stake/deps/std/type_name.js.map +1 -0
- package/dist/contracts/routed_stake/deps/sui/balance.d.ts +13 -0
- package/dist/contracts/routed_stake/deps/sui/balance.d.ts.map +1 -0
- package/dist/contracts/routed_stake/deps/sui/balance.js +15 -0
- package/dist/contracts/routed_stake/deps/sui/balance.js.map +1 -0
- package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts +37 -0
- package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts.map +1 -0
- package/dist/contracts/routed_stake/deps/sui/vec_map.js +28 -0
- package/dist/contracts/routed_stake/deps/sui/vec_map.js.map +1 -0
- package/dist/contracts/routed_stake/routed_stake.d.ts +356 -0
- package/dist/contracts/routed_stake/routed_stake.d.ts.map +1 -0
- package/dist/contracts/routed_stake/routed_stake.js +311 -0
- package/dist/contracts/routed_stake/routed_stake.js.map +1 -0
- package/dist/contracts/royalty_pool/pool.d.ts +27 -17
- package/dist/contracts/royalty_pool/pool.d.ts.map +1 -1
- package/dist/contracts/royalty_pool/pool.js +26 -17
- package/dist/contracts/royalty_pool/pool.js.map +1 -1
- package/dist/contracts/vault/deps/sui/bag.d.ts +35 -0
- package/dist/contracts/vault/deps/sui/bag.d.ts.map +1 -0
- package/dist/contracts/vault/deps/sui/bag.js +37 -0
- package/dist/contracts/vault/deps/sui/bag.js.map +1 -0
- package/dist/contracts/vault/deps/sui/borrow.d.ts +20 -0
- package/dist/contracts/vault/deps/sui/borrow.d.ts.map +1 -0
- package/dist/contracts/vault/deps/sui/borrow.js +21 -0
- package/dist/contracts/vault/deps/sui/borrow.js.map +1 -0
- package/dist/contracts/vault/vault.d.ts +276 -0
- package/dist/contracts/vault/vault.d.ts.map +1 -0
- package/dist/contracts/vault/vault.js +274 -0
- package/dist/contracts/vault/vault.js.map +1 -0
- package/dist/contracts.d.ts +14 -2
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +16 -7
- package/dist/contracts.js.map +1 -1
- package/dist/cover.d.ts +17 -3
- package/dist/cover.d.ts.map +1 -1
- package/dist/cover.js +43 -20
- package/dist/cover.js.map +1 -1
- package/dist/credits.d.ts +31 -12
- package/dist/credits.d.ts.map +1 -1
- package/dist/credits.js +41 -25
- package/dist/credits.js.map +1 -1
- package/dist/deployments.d.ts +31 -57
- package/dist/deployments.d.ts.map +1 -1
- package/dist/deployments.js +5 -53
- package/dist/deployments.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -5
- package/dist/index.js.map +1 -1
- package/dist/pressing.d.ts +8 -7
- package/dist/pressing.d.ts.map +1 -1
- package/dist/pressing.js +91 -32
- package/dist/pressing.js.map +1 -1
- package/dist/read/artist.js +3 -3
- package/dist/read/artist.js.map +1 -1
- package/dist/read/catalog.d.ts +14 -9
- package/dist/read/catalog.d.ts.map +1 -1
- package/dist/read/catalog.js +71 -37
- package/dist/read/catalog.js.map +1 -1
- package/dist/read/client.d.ts +4 -2
- package/dist/read/client.d.ts.map +1 -1
- package/dist/read/client.js +15 -4
- package/dist/read/client.js.map +1 -1
- package/dist/read/config.d.ts +14 -11
- package/dist/read/config.d.ts.map +1 -1
- package/dist/read/config.js +10 -37
- package/dist/read/config.js.map +1 -1
- package/dist/read/index.d.ts +2 -2
- package/dist/read/index.d.ts.map +1 -1
- package/dist/read/index.js +1 -1
- package/dist/read/index.js.map +1 -1
- package/dist/read/receipts.d.ts +24 -7
- package/dist/read/receipts.d.ts.map +1 -1
- package/dist/read/receipts.js +78 -25
- package/dist/read/receipts.js.map +1 -1
- package/dist/read/types.d.ts +43 -25
- package/dist/read/types.d.ts.map +1 -1
- package/dist/read/types.js +2 -2
- package/dist/read/types.js.map +1 -1
- package/dist/recording-extensions.d.ts +37 -0
- package/dist/recording-extensions.d.ts.map +1 -0
- package/dist/recording-extensions.js +61 -0
- package/dist/recording-extensions.js.map +1 -0
- package/dist/release-extensions.d.ts +92 -0
- package/dist/release-extensions.d.ts.map +1 -0
- package/dist/release-extensions.js +175 -0
- package/dist/release-extensions.js.map +1 -0
- package/dist/release-graph.d.ts +17 -26
- package/dist/release-graph.d.ts.map +1 -1
- package/dist/release-graph.js +55 -49
- package/dist/release-graph.js.map +1 -1
- package/dist/transactions.d.ts +43 -24
- package/dist/transactions.d.ts.map +1 -1
- package/dist/transactions.js +48 -27
- package/dist/transactions.js.map +1 -1
- package/dist/vault.d.ts +268 -0
- package/dist/vault.d.ts.map +1 -0
- package/dist/vault.js +389 -0
- package/dist/vault.js.map +1 -0
- package/package.json +17 -11
- package/src/client.ts +428 -61
- package/src/contracts/composition_routed_stake/composition_routed_stake.ts +346 -0
- package/src/contracts/composition_routed_stake/witness.ts +11 -0
- package/src/contracts/composition_royalty_pool/composition_royalty_pool.ts +151 -35
- package/src/contracts/composition_royalty_pool/witness.ts +7 -0
- package/src/contracts/genre/genre.ts +151 -0
- package/src/contracts/recording_advisory/recording_advisory.ts +315 -0
- package/src/contracts/recording_language/deps/language_code/language_code.ts +7 -0
- package/src/contracts/recording_language/recording_language.ts +237 -0
- package/src/contracts/recording_master_reference/deps/ori/walrus_data.ts +36 -0
- package/src/contracts/recording_master_reference/recording_master_reference.ts +181 -0
- package/src/contracts/recording_preview/deps/ori/walrus_data.ts +36 -0
- package/src/contracts/recording_preview/recording_preview.ts +154 -0
- package/src/contracts/recording_royalty_pool/recording_royalty_pool.ts +152 -35
- package/src/contracts/recording_royalty_pool/witness.ts +7 -0
- package/src/contracts/release_description/release_description.ts +167 -0
- package/src/contracts/release_dsp_link/release_dsp_link.ts +813 -0
- package/src/contracts/release_genre/deps/per_track/per_track.ts +36 -0
- package/src/contracts/release_genre/release_genre.ts +314 -0
- package/src/contracts/release_kind/release_kind.ts +153 -0
- package/src/contracts/release_revenue_distributor/release_revenue_distributor.ts +178 -0
- package/src/contracts/release_revenue_distributor/witness.ts +11 -0
- package/src/contracts/release_snapshot_bundle/deps/ori/walrus_data.ts +36 -0
- package/src/contracts/release_snapshot_bundle/release_snapshot_bundle.ts +124 -0
- package/src/contracts/routed_stake/deps/royalty_pool/stake.ts +39 -0
- package/src/contracts/routed_stake/deps/std/type_name.ts +22 -0
- package/src/contracts/routed_stake/deps/sui/balance.ts +17 -0
- package/src/contracts/routed_stake/deps/sui/vec_map.ts +33 -0
- package/src/contracts/routed_stake/routed_stake.ts +508 -0
- package/src/contracts/royalty_pool/pool.ts +34 -24
- package/src/contracts/vault/deps/sui/bag.ts +39 -0
- package/src/contracts/vault/deps/sui/borrow.ts +25 -0
- package/src/contracts/vault/vault.ts +454 -0
- package/src/contracts.ts +17 -9
- package/src/cover.ts +62 -37
- package/src/credits.ts +64 -51
- package/src/deployments.ts +36 -97
- package/src/index.ts +11 -5
- package/src/pressing.ts +135 -39
- package/src/read/artist.ts +3 -3
- package/src/read/catalog.ts +99 -44
- package/src/read/client.ts +20 -4
- package/src/read/config.ts +23 -49
- package/src/read/index.ts +3 -1
- package/src/read/receipts.ts +103 -26
- package/src/read/types.ts +44 -27
- package/src/recording-extensions.ts +102 -0
- package/src/release-extensions.ts +286 -0
- package/src/release-graph.ts +68 -81
- package/src/transactions.ts +79 -53
- package/src/vault.ts +777 -0
- package/dist/contracts/miso_drop/drop.d.ts +0 -550
- package/dist/contracts/miso_drop/drop.d.ts.map +0 -1
- package/dist/contracts/miso_drop/drop.js +0 -523
- package/dist/contracts/miso_drop/drop.js.map +0 -1
- package/dist/contracts/release_registry/release_registry.d.ts +0 -114
- package/dist/contracts/release_registry/release_registry.d.ts.map +0 -1
- package/dist/contracts/release_registry/release_registry.js +0 -119
- package/dist/contracts/release_registry/release_registry.js.map +0 -1
- package/dist/drop.d.ts +0 -127
- package/dist/drop.d.ts.map +0 -1
- package/dist/drop.js +0 -202
- package/dist/drop.js.map +0 -1
- package/dist/extensions/royalty-pool.d.ts +0 -32
- package/dist/extensions/royalty-pool.d.ts.map +0 -1
- package/dist/extensions/royalty-pool.js +0 -33
- package/dist/extensions/royalty-pool.js.map +0 -1
- package/src/contracts/miso_drop/drop.ts +0 -798
- package/src/contracts/release_registry/release_registry.ts +0 -160
- package/src/drop.ts +0 -376
- package/src/extensions/royalty-pool.ts +0 -90
package/src/credits.ts
CHANGED
|
@@ -44,6 +44,30 @@ import * as recordingCredits from "./contracts/recording_credits/recording_credi
|
|
|
44
44
|
import * as recordingPartyRole from "./contracts/recording_credits/recording_party_role.ts";
|
|
45
45
|
import * as releaseCredits from "./contracts/release_credits/release_credits.ts";
|
|
46
46
|
import * as releasePartyRole from "./contracts/release_credits/release_party_role.ts";
|
|
47
|
+
import { directAdminCap, invokeWithAdminCap, type AdminCapAuthority } from "./vault.ts";
|
|
48
|
+
|
|
49
|
+
type CompositionAuthorityInput =
|
|
50
|
+
| { readonly authority: AdminCapAuthority; readonly compositionAdminCapId?: never }
|
|
51
|
+
| { readonly authority?: never; readonly compositionAdminCapId: string };
|
|
52
|
+
type RecordingAuthorityInput =
|
|
53
|
+
| { readonly authority: AdminCapAuthority; readonly recordingAdminCapId?: never }
|
|
54
|
+
| { readonly authority?: never; readonly recordingAdminCapId: string };
|
|
55
|
+
type ReleaseAuthorityInput =
|
|
56
|
+
| { readonly authority: AdminCapAuthority; readonly releaseAdminCapId?: never }
|
|
57
|
+
| { readonly authority?: never; readonly releaseAdminCapId: string };
|
|
58
|
+
|
|
59
|
+
function compositionAuthorityOf(input: CompositionAuthorityInput): AdminCapAuthority {
|
|
60
|
+
if (input.authority !== undefined) return input.authority;
|
|
61
|
+
return directAdminCap(input.compositionAdminCapId);
|
|
62
|
+
}
|
|
63
|
+
function recordingAuthorityOf(input: RecordingAuthorityInput): AdminCapAuthority {
|
|
64
|
+
if (input.authority !== undefined) return input.authority;
|
|
65
|
+
return directAdminCap(input.recordingAdminCapId);
|
|
66
|
+
}
|
|
67
|
+
function releaseAuthorityOf(input: ReleaseAuthorityInput): AdminCapAuthority {
|
|
68
|
+
if (input.authority !== undefined) return input.authority;
|
|
69
|
+
return directAdminCap(input.releaseAdminCapId);
|
|
70
|
+
}
|
|
47
71
|
|
|
48
72
|
// ── Role model ────────────────────────────────────────────────────────────────
|
|
49
73
|
|
|
@@ -341,11 +365,9 @@ function buildCredit(
|
|
|
341
365
|
|
|
342
366
|
// ── Writers ───────────────────────────────────────────────────────────────────
|
|
343
367
|
|
|
344
|
-
|
|
368
|
+
interface AttachCompositionCreditParamsBase {
|
|
345
369
|
/** The `Composition` object to credit on. */
|
|
346
370
|
compositionId: string;
|
|
347
|
-
/** The composition's `CompositionAdminCap`. */
|
|
348
|
-
compositionAdminCapId: string;
|
|
349
371
|
/** The `Party` being credited. */
|
|
350
372
|
partyId: string;
|
|
351
373
|
/** Human-readable name for the credit (≤200 bytes, non-empty). */
|
|
@@ -359,6 +381,8 @@ export interface AttachCompositionCreditParams {
|
|
|
359
381
|
/** `miso_credit` package id (home of `credit::new`). */
|
|
360
382
|
misoCreditPackageId: string;
|
|
361
383
|
}
|
|
384
|
+
export type AttachCompositionCreditParams =
|
|
385
|
+
AttachCompositionCreditParamsBase & CompositionAuthorityInput;
|
|
362
386
|
|
|
363
387
|
/**
|
|
364
388
|
* Adds a writing credit for a party on a composition. Throws (client-side,
|
|
@@ -382,26 +406,18 @@ export function attachCompositionCredit(
|
|
|
382
406
|
p.displayName,
|
|
383
407
|
roleArgs,
|
|
384
408
|
);
|
|
385
|
-
tx
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
p.compositionAdminCapId,
|
|
392
|
-
p.partyId,
|
|
393
|
-
credit,
|
|
394
|
-
],
|
|
395
|
-
}),
|
|
396
|
-
);
|
|
409
|
+
invokeWithAdminCap(tx, compositionAuthorityOf(p), {
|
|
410
|
+
target: `${p.compositionCreditsPackageId}::composition_credits::add_credit`,
|
|
411
|
+
typeArguments: [p.compositionShareType],
|
|
412
|
+
arguments: [tx.object(p.compositionId), tx.object(p.partyId), credit],
|
|
413
|
+
adminCapIndex: 1,
|
|
414
|
+
});
|
|
397
415
|
};
|
|
398
416
|
}
|
|
399
417
|
|
|
400
|
-
|
|
418
|
+
interface AttachRecordingCreditParamsBase {
|
|
401
419
|
/** The `Recording` object to credit on. */
|
|
402
420
|
recordingId: string;
|
|
403
|
-
/** The recording's `RecordingAdminCap`. */
|
|
404
|
-
recordingAdminCapId: string;
|
|
405
421
|
/** The `Party` being credited. */
|
|
406
422
|
partyId: string;
|
|
407
423
|
/** Human-readable name for the credit (≤200 bytes, non-empty). */
|
|
@@ -417,6 +433,8 @@ export interface AttachRecordingCreditParams {
|
|
|
417
433
|
/** `miso_credit` package id (home of `credit::new`). */
|
|
418
434
|
misoCreditPackageId: string;
|
|
419
435
|
}
|
|
436
|
+
export type AttachRecordingCreditParams =
|
|
437
|
+
AttachRecordingCreditParamsBase & RecordingAuthorityInput;
|
|
420
438
|
|
|
421
439
|
/**
|
|
422
440
|
* Adds a production/performance credit for a party on a recording. Throws
|
|
@@ -439,21 +457,18 @@ export function attachRecordingCredit(p: AttachRecordingCreditParams): TxThunk {
|
|
|
439
457
|
p.displayName,
|
|
440
458
|
roleArgs,
|
|
441
459
|
);
|
|
442
|
-
tx
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
);
|
|
460
|
+
invokeWithAdminCap(tx, recordingAuthorityOf(p), {
|
|
461
|
+
target: `${p.recordingCreditsPackageId}::recording_credits::add_credit`,
|
|
462
|
+
typeArguments: [p.recordingShareType, p.compositionShareType],
|
|
463
|
+
arguments: [tx.object(p.recordingId), tx.object(p.partyId), credit],
|
|
464
|
+
adminCapIndex: 1,
|
|
465
|
+
});
|
|
449
466
|
};
|
|
450
467
|
}
|
|
451
468
|
|
|
452
|
-
|
|
469
|
+
interface AddRecordingArtistParamsBase {
|
|
453
470
|
/** The `Recording` object. */
|
|
454
471
|
recordingId: string;
|
|
455
|
-
/** The recording's `RecordingAdminCap`. */
|
|
456
|
-
recordingAdminCapId: string;
|
|
457
472
|
/** The `Party` to designate. Must already be credited on the recording. */
|
|
458
473
|
partyId: string;
|
|
459
474
|
/** The recording's own share coin type (the `RecordingShare` phantom). */
|
|
@@ -463,6 +478,8 @@ export interface AddRecordingArtistParams {
|
|
|
463
478
|
/** `recording_credits` package id. */
|
|
464
479
|
recordingCreditsPackageId: string;
|
|
465
480
|
}
|
|
481
|
+
export type AddRecordingArtistParams =
|
|
482
|
+
AddRecordingArtistParamsBase & RecordingAuthorityInput;
|
|
466
483
|
|
|
467
484
|
/**
|
|
468
485
|
* Designates an already-credited party as a primary artist on a recording. The
|
|
@@ -473,13 +490,12 @@ export function addRecordingPrimaryArtist(
|
|
|
473
490
|
p: AddRecordingArtistParams,
|
|
474
491
|
): TxThunk {
|
|
475
492
|
return (tx) => {
|
|
476
|
-
tx
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
);
|
|
493
|
+
invokeWithAdminCap(tx, recordingAuthorityOf(p), {
|
|
494
|
+
target: `${p.recordingCreditsPackageId}::recording_credits::add_primary_artist`,
|
|
495
|
+
typeArguments: [p.recordingShareType, p.compositionShareType],
|
|
496
|
+
arguments: [tx.object(p.recordingId), tx.object(p.partyId)],
|
|
497
|
+
adminCapIndex: 1,
|
|
498
|
+
});
|
|
483
499
|
};
|
|
484
500
|
}
|
|
485
501
|
|
|
@@ -492,21 +508,18 @@ export function addRecordingFeaturedArtist(
|
|
|
492
508
|
p: AddRecordingArtistParams,
|
|
493
509
|
): TxThunk {
|
|
494
510
|
return (tx) => {
|
|
495
|
-
tx
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
);
|
|
511
|
+
invokeWithAdminCap(tx, recordingAuthorityOf(p), {
|
|
512
|
+
target: `${p.recordingCreditsPackageId}::recording_credits::add_featured_artist`,
|
|
513
|
+
typeArguments: [p.recordingShareType, p.compositionShareType],
|
|
514
|
+
arguments: [tx.object(p.recordingId), tx.object(p.partyId)],
|
|
515
|
+
adminCapIndex: 1,
|
|
516
|
+
});
|
|
502
517
|
};
|
|
503
518
|
}
|
|
504
519
|
|
|
505
|
-
|
|
520
|
+
interface AddReleaseCreditParamsBase {
|
|
506
521
|
/** The `Release` object to credit on. */
|
|
507
522
|
releaseId: string;
|
|
508
|
-
/** The release's `ReleaseAdminCap`. */
|
|
509
|
-
releaseAdminCapId: string;
|
|
510
523
|
/** The `Party` being credited. */
|
|
511
524
|
partyId: string;
|
|
512
525
|
/** Human-readable name for the credit (≤200 bytes, non-empty). */
|
|
@@ -518,6 +531,7 @@ export interface AddReleaseCreditParams {
|
|
|
518
531
|
/** `miso_credit` package id (home of `credit::new`). */
|
|
519
532
|
misoCreditPackageId: string;
|
|
520
533
|
}
|
|
534
|
+
export type AddReleaseCreditParams = AddReleaseCreditParamsBase & ReleaseAuthorityInput;
|
|
521
535
|
|
|
522
536
|
/**
|
|
523
537
|
* Adds a top-line billing credit (a single role) for a party on a release.
|
|
@@ -536,12 +550,11 @@ export function addReleaseCredit(p: AddReleaseCreditParams): TxThunk {
|
|
|
536
550
|
p.displayName,
|
|
537
551
|
[roleArg],
|
|
538
552
|
);
|
|
539
|
-
tx
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
);
|
|
553
|
+
invokeWithAdminCap(tx, releaseAuthorityOf(p), {
|
|
554
|
+
target: `${p.releaseCreditsPackageId}::release_credits::add_credit`,
|
|
555
|
+
arguments: [tx.object(p.releaseId), tx.object(p.partyId), credit],
|
|
556
|
+
adminCapIndex: 1,
|
|
557
|
+
});
|
|
545
558
|
};
|
|
546
559
|
}
|
|
547
560
|
|
package/src/deployments.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
// Copyright (c) Miso Labs, Inc.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
type MisoProtocolDeployment,
|
|
4
|
+
import type {
|
|
5
|
+
MisoNetwork,
|
|
6
|
+
MisoProtocolDeployment,
|
|
8
7
|
} from "@misonetwork/sdk/deployments";
|
|
9
8
|
|
|
10
9
|
/** Complete on-chain identity used by the Miso platform SDK on one network. */
|
|
@@ -14,28 +13,47 @@ export interface MisoPlatformDeployment {
|
|
|
14
13
|
readonly packages: {
|
|
15
14
|
readonly pressing: string;
|
|
16
15
|
readonly record: string;
|
|
17
|
-
readonly releaseRegistry: string;
|
|
18
16
|
readonly minato: string;
|
|
19
|
-
readonly drop: string;
|
|
20
17
|
readonly credit: string;
|
|
21
18
|
readonly compositionCredits: string;
|
|
22
19
|
readonly recordingCredits: string;
|
|
23
20
|
readonly releaseCredits: string;
|
|
24
21
|
/** Base royalty-pool value library. */
|
|
25
22
|
readonly royaltyPool: string;
|
|
26
|
-
/**
|
|
27
|
-
readonly
|
|
28
|
-
/**
|
|
29
|
-
readonly
|
|
23
|
+
/** Shared custody package for protocol admin capabilities. */
|
|
24
|
+
readonly vault: string;
|
|
25
|
+
/** Vault plugin that creates and cranks Composition royalty pools. */
|
|
26
|
+
readonly compositionRoyaltyPoolPlugin: string;
|
|
27
|
+
/** Vault plugin that creates and cranks Recording royalty pools. */
|
|
28
|
+
readonly recordingRoyaltyPoolPlugin: string;
|
|
29
|
+
/** Generic stake wrapper used by the composition routed-stake plugin. */
|
|
30
|
+
readonly routedStake: string;
|
|
31
|
+
/** Vault plugin for Composition-owned Recording-share staking. */
|
|
32
|
+
readonly compositionRoutedStakePlugin: string;
|
|
30
33
|
/** Cover-art value type used by the release cover extension. */
|
|
31
34
|
readonly coverArt: string;
|
|
32
35
|
readonly releaseCoverArt: string;
|
|
36
|
+
/** Curated Genre vocabulary package used by release_genre. */
|
|
37
|
+
readonly genre: string;
|
|
38
|
+
readonly releaseDescription: string;
|
|
39
|
+
readonly releaseDspLink: string;
|
|
40
|
+
readonly releaseGenre: string;
|
|
41
|
+
readonly releaseKind: string;
|
|
42
|
+
/** Vault plugin that routes Release revenue into Recording addresses. */
|
|
43
|
+
readonly releaseRevenueDistributorPlugin: string;
|
|
44
|
+
readonly releaseSnapshotBundle: string;
|
|
45
|
+
readonly recordingAdvisory: string;
|
|
46
|
+
readonly recordingLanguage: string;
|
|
47
|
+
readonly recordingMasterReference: string;
|
|
48
|
+
readonly recordingPreview: string;
|
|
33
49
|
/** External `ori::walrus_data::WalrusData` dependency used by cover art. */
|
|
34
50
|
readonly ori: string;
|
|
35
51
|
};
|
|
36
52
|
readonly objects: {
|
|
37
53
|
readonly recordSettings: string;
|
|
38
54
|
readonly releaseRegistry: string;
|
|
55
|
+
/** Shared parent used to derive canonical Genre object ids. */
|
|
56
|
+
readonly genreRegistry: string;
|
|
39
57
|
};
|
|
40
58
|
/** PartyOS packages used by the composed artist and wallet reads. */
|
|
41
59
|
readonly party: {
|
|
@@ -63,100 +81,21 @@ export interface MisoPlatformDeployment {
|
|
|
63
81
|
/**
|
|
64
82
|
* Platform deployments bundled with this SDK release.
|
|
65
83
|
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
84
|
+
* This release deliberately contains no bundled network deployment. The core
|
|
85
|
+
* protocol is being republished as an immutable stack, so every old package ID
|
|
86
|
+
* is an incompatible ABI and must not be selected by accident. The admin-cli
|
|
87
|
+
* deployment flow injects verified IDs in a follow-up change.
|
|
68
88
|
*/
|
|
69
|
-
export const MISO_PLATFORM_DEPLOYMENTS = {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
packages: {
|
|
73
|
-
pressing:
|
|
74
|
-
"0xd0913b584d87a3891a8013c58644e3896f438fd948e819a69db256b47314974e",
|
|
75
|
-
record:
|
|
76
|
-
"0x97e2772d81528c69e21b6681f6702f90deae2a6b079e19da1df53f9f4fdd3271",
|
|
77
|
-
releaseRegistry:
|
|
78
|
-
"0x683b2feb784a815171d2976418345bd41c046e159dcf7a16890c766f69fd7808",
|
|
79
|
-
minato:
|
|
80
|
-
"0x8466e9864c1d947888e73b0e349b035bc22805579eef18f132966f56c8efe1d2",
|
|
81
|
-
drop:
|
|
82
|
-
"0xfc2b51f068dee9d5482d39fa017164f6a8c3601cabb59084a518de5f609ef1c7",
|
|
83
|
-
credit:
|
|
84
|
-
"0x0121926470393cc93b89b5b6d5067737a8bc0c1c545fb96c4447569174116174",
|
|
85
|
-
compositionCredits:
|
|
86
|
-
"0xfa2f62db28f2eb42c8c1a6533097fb2095649efab05c0527be1874b9be6cdc73",
|
|
87
|
-
recordingCredits:
|
|
88
|
-
"0xc794252bd90efb4cc224107f9dd0a56d4f4f5623783628b6af286f6535dd4c1e",
|
|
89
|
-
releaseCredits:
|
|
90
|
-
"0x42e2dbf6098d18782911460ecf79b338af2f1b654ef7ba99c6e7344fd4bf3f94",
|
|
91
|
-
royaltyPool:
|
|
92
|
-
"0x798fb353a5dbed51a0df08a7c10fdc432a11d60b55e016102ca635f9033c654d",
|
|
93
|
-
compositionRoyaltyPool:
|
|
94
|
-
"0xc22693ec50312492d7da23f3544625df637a92cd2be08e09d0f2eb8ff4e0e7ac",
|
|
95
|
-
recordingRoyaltyPool:
|
|
96
|
-
"0x33c9149889ef9e8078a5eba5c5486e8938e2dc69b3bd49a45c5c57e9f3d898a8",
|
|
97
|
-
coverArt:
|
|
98
|
-
"0xb29052d1174835a8061149aeca08f53551fa0691de64350247fc5cb558f797a0",
|
|
99
|
-
releaseCoverArt:
|
|
100
|
-
"0x831a612920343696de7e8f0603ff4c0b21c43ca3de478feb96d230e263cd11d4",
|
|
101
|
-
ori:
|
|
102
|
-
"0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78",
|
|
103
|
-
},
|
|
104
|
-
objects: {
|
|
105
|
-
recordSettings:
|
|
106
|
-
"0x6a005dad071562d421ad7a9d368289f5c9f0408ca495cd466a1f774d65a21fa7",
|
|
107
|
-
releaseRegistry:
|
|
108
|
-
"0x5941b8690916e762a7583363906496d64a6ea3e6cedb078c90e23e7c671544f2",
|
|
109
|
-
},
|
|
110
|
-
party: {
|
|
111
|
-
partyPackageId:
|
|
112
|
-
"0x09a812d46c3aa3978703c8e5a7409ba67b9ba2dfdb91154e48ebdd9d2415da0c",
|
|
113
|
-
partyProfilePackageId:
|
|
114
|
-
"0xce89d3f993dfebc0b697388598c3b01e9db7b73fa2e8df18ed22608cf7ac5aee",
|
|
115
|
-
countryCodePackageId:
|
|
116
|
-
"0x6c3a53f228ccd089825d0fb5ee1f0465a4b7a438bc1b1735b4e2f01df8d056e9",
|
|
117
|
-
languageCodePackageId:
|
|
118
|
-
"0xa18b786807cfc45488691f93aa647800b77cf9993e420d110afd7024c5b15948",
|
|
119
|
-
partyMediaPackageId:
|
|
120
|
-
"0x7db56ef37692f84c1cfb0e0b26bde35ac9f1bc0bcd91ac5d24b3f8b4d1821349",
|
|
121
|
-
partyRolesPackageId:
|
|
122
|
-
"0x41a442a2c39368af2181e73ea5b90e2e0b4f89de09050c121a6e7d79e7c84415",
|
|
123
|
-
partyTagsPackageId:
|
|
124
|
-
"0xa4c7f6b05bb9b612ea7640974c150ce31ad7927ea82d3f9f4673acac7deef0da",
|
|
125
|
-
partyGenrePackageId:
|
|
126
|
-
"0x6ce063438be6cf44ccf5f17bf8892c9e0cef4e2344442aeb44412beead74d3a8",
|
|
127
|
-
partyCtaPackageId:
|
|
128
|
-
"0x85a312210d9ddbae535e0f933032c8a56aa3f0fe1d6c3430d4fa538765008da3",
|
|
129
|
-
partyPlatformLinkPackageId:
|
|
130
|
-
"0x46d9f3e05d2065a926b010fe833baf61e5c250c233d512a260cbe746b02c56af",
|
|
131
|
-
partySocialPackageId:
|
|
132
|
-
"0x438e767ce8f5699f12be1704a12ff69c28045ca241f890ca8a978d55e09f6541",
|
|
133
|
-
partyMusicPackageId:
|
|
134
|
-
"0x89add347dfa779aa77e21b1853a37f2054dbecfce29799b61463d9900877b7b1",
|
|
135
|
-
partyProLinkPackageId:
|
|
136
|
-
"0xe5e8a0d02b43037abb7e6ddb4b742c6197aadf2dc19910957bba98307bef4103",
|
|
137
|
-
partyFeaturedDropPackageId:
|
|
138
|
-
"0x1a7b926686565a6cc82a9e0630839dc1f75c9bf4fafc0ba789a05af2c3c269f0",
|
|
139
|
-
genrePackageId:
|
|
140
|
-
"0xcbbce10e8b0781d458e88ce99d08e0c85f1e674c5b7ec975383d74f87a1d76b1",
|
|
141
|
-
},
|
|
142
|
-
legacy: {
|
|
143
|
-
releaseCoverArtPackages: [
|
|
144
|
-
"0x25c3c87ef4823d62d80dd8bda714ef4976df0f04453997646659a6cebadd655b",
|
|
145
|
-
"0x1ee2cae0da7595d7973c310c912434ef531589b468cc57839296810c1385f7f6",
|
|
146
|
-
"0x7d4a205a68f8e768a408c9f4c45a4d4076722c5edeba9068c0ac058f554e964e",
|
|
147
|
-
],
|
|
148
|
-
},
|
|
149
|
-
},
|
|
150
|
-
} as const satisfies Partial<Record<MisoNetwork, MisoPlatformDeployment>>;
|
|
89
|
+
export const MISO_PLATFORM_DEPLOYMENTS = {} as const satisfies Partial<
|
|
90
|
+
Record<MisoNetwork, MisoPlatformDeployment>
|
|
91
|
+
>;
|
|
151
92
|
|
|
152
93
|
/** Resolve a bundled platform deployment, failing closed when it is unavailable. */
|
|
153
94
|
export function getMisoPlatformDeployment(
|
|
154
95
|
network: string,
|
|
155
96
|
): MisoPlatformDeployment {
|
|
156
97
|
const deployment = (
|
|
157
|
-
MISO_PLATFORM_DEPLOYMENTS as Partial<
|
|
158
|
-
Record<string, MisoPlatformDeployment>
|
|
159
|
-
>
|
|
98
|
+
MISO_PLATFORM_DEPLOYMENTS as Partial<Record<string, MisoPlatformDeployment>>
|
|
160
99
|
)[network];
|
|
161
100
|
if (!deployment) {
|
|
162
101
|
throw new Error(
|
package/src/index.ts
CHANGED
|
@@ -14,9 +14,8 @@
|
|
|
14
14
|
//
|
|
15
15
|
// A release is protocol. Pressing a record off it and selling that record is
|
|
16
16
|
// platform. Keeping the split at the package boundary is what stops the protocol
|
|
17
|
-
// from quietly growing a storefront. Core
|
|
18
|
-
//
|
|
19
|
-
// the platform's `release_registry` extension owns the PTB-callable minting path.
|
|
17
|
+
// from quietly growing a storefront. Core `release::new` uses its shared
|
|
18
|
+
// `ReleaseRegistry` as the PTB-callable derivation parent.
|
|
20
19
|
//
|
|
21
20
|
// Extensions live on this side of the line for the same reason. An extension is
|
|
22
21
|
// not part of what a Composition or Recording IS — it is a choice Miso makes
|
|
@@ -27,7 +26,12 @@
|
|
|
27
26
|
|
|
28
27
|
// The recommended entry point is the client extension (see ./client.ts); the bare
|
|
29
28
|
// builders and readers stay exported for callers that hold ids themselves.
|
|
30
|
-
export {
|
|
29
|
+
export {
|
|
30
|
+
miso,
|
|
31
|
+
misoPlatform,
|
|
32
|
+
MisoClient,
|
|
33
|
+
MisoPlatformClient,
|
|
34
|
+
} from "./client.ts";
|
|
31
35
|
export type {
|
|
32
36
|
ConfiguredReleaseGraphParams,
|
|
33
37
|
MisoOptions,
|
|
@@ -51,7 +55,9 @@ export * as read from "./read/index.ts";
|
|
|
51
55
|
// `uid_mut` hook.
|
|
52
56
|
export * from "./credits.ts";
|
|
53
57
|
export * from "./cover.ts";
|
|
54
|
-
export * from "./extensions
|
|
58
|
+
export * from "./release-extensions.ts";
|
|
59
|
+
export * from "./recording-extensions.ts";
|
|
60
|
+
export * from "./vault.ts";
|
|
55
61
|
|
|
56
62
|
// Generated, ABI-bound bindings (BCS structs + type-safe Move calls).
|
|
57
63
|
export * as contracts from "./contracts.ts";
|