@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/deployments.ts
CHANGED
|
@@ -1,11 +1,65 @@
|
|
|
1
1
|
// Copyright (c) Miso Labs, Inc.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
import type {
|
|
5
|
-
MisoDeployment,
|
|
6
|
-
MisoNetwork,
|
|
7
|
-
} from "@misonetwork/sdk/deployments";
|
|
4
|
+
import type { MisoDeployment, MisoNetwork } from "@misonetwork/sdk/deployments";
|
|
8
5
|
import { MISO_DEPLOYMENTS } from "@misonetwork/sdk/deployments";
|
|
6
|
+
import { normalizeSuiObjectId } from "@mysten/sui/utils";
|
|
7
|
+
|
|
8
|
+
/** Primary Record sales are unavailable on legacy deployments until both new
|
|
9
|
+
* immutable packages have been freshly published and verified. */
|
|
10
|
+
export type RecordSalesDeployment =
|
|
11
|
+
| {
|
|
12
|
+
readonly status: "unavailable";
|
|
13
|
+
readonly reason: string;
|
|
14
|
+
readonly legacy?: {
|
|
15
|
+
readonly recordPackageId: string;
|
|
16
|
+
readonly pressingPackageId: string;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
| {
|
|
20
|
+
readonly status: "available";
|
|
21
|
+
readonly recordPackageId: string;
|
|
22
|
+
readonly recordShopPackageId: string;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export class RecordSalesUnavailableError extends Error {
|
|
26
|
+
override readonly name = "RecordSalesUnavailableError";
|
|
27
|
+
constructor(readonly reason: string) {
|
|
28
|
+
super(`@misofm/sdk: Record sales are unavailable: ${reason}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function requireRecordSalesDeployment(
|
|
33
|
+
deployment: RecordSalesDeployment | undefined,
|
|
34
|
+
): Extract<RecordSalesDeployment, { status: "available" }> {
|
|
35
|
+
if (!deployment || deployment.status === "unavailable") {
|
|
36
|
+
throw new RecordSalesUnavailableError(
|
|
37
|
+
deployment?.reason ?? "no Record sales deployment was configured",
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
const canonicalPackageId = (value: string): boolean => {
|
|
41
|
+
if (!/^0x[0-9a-f]{64}$/.test(value)) return false;
|
|
42
|
+
try {
|
|
43
|
+
return normalizeSuiObjectId(value) === value;
|
|
44
|
+
} catch {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
if (
|
|
49
|
+
!canonicalPackageId(deployment.recordPackageId) ||
|
|
50
|
+
!canonicalPackageId(deployment.recordShopPackageId)
|
|
51
|
+
) {
|
|
52
|
+
throw new RecordSalesUnavailableError(
|
|
53
|
+
"Record and Record Shop package IDs must be canonical 32-byte Sui object IDs",
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
if (deployment.recordPackageId === deployment.recordShopPackageId) {
|
|
57
|
+
throw new RecordSalesUnavailableError(
|
|
58
|
+
"Record and Record Shop package IDs must be distinct",
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
return deployment;
|
|
62
|
+
}
|
|
9
63
|
|
|
10
64
|
/** Complete on-chain identity used by the Miso platform SDK on one network. */
|
|
11
65
|
export interface MisoPlatformDeployment {
|
|
@@ -15,9 +69,8 @@ export interface MisoPlatformDeployment {
|
|
|
15
69
|
readonly chainIdentifier: string;
|
|
16
70
|
/** The complete protocol and Party deployment this platform build targets. */
|
|
17
71
|
readonly protocol: MisoDeployment;
|
|
72
|
+
readonly recordSales: RecordSalesDeployment;
|
|
18
73
|
readonly packages: {
|
|
19
|
-
readonly pressing: string;
|
|
20
|
-
readonly record: string;
|
|
21
74
|
readonly minato: string;
|
|
22
75
|
readonly credit: string;
|
|
23
76
|
readonly compositionCredits: string;
|
|
@@ -51,6 +104,10 @@ export interface MisoPlatformDeployment {
|
|
|
51
104
|
readonly recordingAdvisory: string;
|
|
52
105
|
readonly recordingLanguage: string;
|
|
53
106
|
readonly recordingMasterReference: string;
|
|
107
|
+
/** Canonical plaintext session pointer extension; absent before publication. */
|
|
108
|
+
readonly recordingEngineSession?: string;
|
|
109
|
+
/** Original immutable Record-gated Seal policy; absent before publication. */
|
|
110
|
+
readonly recordSealPolicy?: string;
|
|
54
111
|
readonly recordingPreview: string;
|
|
55
112
|
/** External `ori::walrus_data::WalrusData` dependency used by cover art. */
|
|
56
113
|
readonly ori: string;
|
|
@@ -61,6 +118,8 @@ export interface MisoPlatformDeployment {
|
|
|
61
118
|
readonly vaultRegistry: string;
|
|
62
119
|
/** Shared parent used to derive canonical Genre object ids. */
|
|
63
120
|
readonly genreRegistry: string;
|
|
121
|
+
/** Frozen namespace object embedded in Recording-session Seal identities. */
|
|
122
|
+
readonly recordGate?: string;
|
|
64
123
|
};
|
|
65
124
|
readonly legacy: {
|
|
66
125
|
readonly releaseCoverArtPackages: readonly string[];
|
|
@@ -78,47 +137,81 @@ export const MISO_PLATFORM_DEPLOYMENTS = {
|
|
|
78
137
|
network: "testnet",
|
|
79
138
|
chainIdentifier: "69WiPg3DAQiwdxfncX6wYQ2siKwAe6L9BZthQea3JNMD",
|
|
80
139
|
protocol: MISO_DEPLOYMENTS.testnet,
|
|
140
|
+
recordSales: {
|
|
141
|
+
status: "unavailable",
|
|
142
|
+
reason:
|
|
143
|
+
"the finalized immutable miso_record and miso_record_shop packages have not been deployed",
|
|
144
|
+
legacy: {
|
|
145
|
+
pressingPackageId:
|
|
146
|
+
"0x95fba53c968978f75d6ca8a5e6f0f3ba83fdc3af301bc8419be354a3990af5b9",
|
|
147
|
+
recordPackageId:
|
|
148
|
+
"0x6150c474200f63bf73072642564886e5ecb1a4c0498ede31acd7908d94dbc83b",
|
|
149
|
+
},
|
|
150
|
+
},
|
|
81
151
|
packages: {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
compositionCredits:
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
152
|
+
minato:
|
|
153
|
+
"0x8466e9864c1d947888e73b0e349b035bc22805579eef18f132966f56c8efe1d2",
|
|
154
|
+
credit:
|
|
155
|
+
"0x20d8e38f49445cbae45fd66c262c2cbc4bf4cccab487b3fb443a491dc24071cd",
|
|
156
|
+
compositionCredits:
|
|
157
|
+
"0x8b376967e9c32169727ec5341890f28c66d8577d7bfcecb83aa78aec3e84dce5",
|
|
158
|
+
recordingCredits:
|
|
159
|
+
"0x7096a47b0ba12063c037d6d417bffade758665a3f313574c8ba218823cfb159a",
|
|
160
|
+
releaseCredits:
|
|
161
|
+
"0xbe293700ef758c95b69838df6cfa8377b9cad1dd59cbf933974f68b1766d87b5",
|
|
162
|
+
royaltyPool:
|
|
163
|
+
"0x8021942b5e91c5ef5e383ad481102ee96f52dd77b9b3dbcdf06bb133cd7c91ed",
|
|
164
|
+
vault:
|
|
165
|
+
"0xfe396139d500e4381adefea72da2e0157c54ee5c38cc8bdcbc4edd551d043230",
|
|
166
|
+
vaultCompositionRoyaltyPoolPlugin:
|
|
167
|
+
"0xbfd9b6c9d3e5635c0beb5472b45566b92f509ed67ae4a661bf928c359f3b438f",
|
|
168
|
+
vaultRecordingRoyaltyPoolPlugin:
|
|
169
|
+
"0x1643c188790a7e756310ce779b279159356a9bf7fe8237edf1e5b24a15422615",
|
|
170
|
+
vaultPartyWalletPlugin:
|
|
171
|
+
"0x0d869fe4291fec02821aed40c38349bac8547f0c690316f2a1a2273ac1f317ed",
|
|
172
|
+
routedStake:
|
|
173
|
+
"0x7a55b1841043efea865d65a6601e057400a79a0aa7bb11e781a25dbe622cbe5f",
|
|
174
|
+
vaultCompositionRoutedStakePlugin:
|
|
175
|
+
"0xf86994ebd0dabecda1b14efc02a2e71b3219a7c043841ad8097dc3683bd088dd",
|
|
176
|
+
coverArt:
|
|
177
|
+
"0x2dae28058b89df93224bacfb9af42fd3ab41f001c2c815fd57fd575024d9a50b",
|
|
178
|
+
releaseCoverArt:
|
|
179
|
+
"0x649b18f2bb3d94f6a611a8e4ad3a29dcf8b7bba3f684056d60897a8a5e835106",
|
|
180
|
+
genre:
|
|
181
|
+
"0x5091d30e893105abe24adf75223f587361034e90516c6e509897bb86d18d2387",
|
|
182
|
+
releaseDescription:
|
|
183
|
+
"0x3e26e4c4c5b3f51070d6d7bb1527eaa304f34ae5dfde078661e180e7594d6d28",
|
|
184
|
+
releaseDspLink:
|
|
185
|
+
"0x2b8e1d7be7a3cbc07e6167c5b5c6511059791b4a2116c1fa97d65cfd871d0bda",
|
|
186
|
+
releaseGenre:
|
|
187
|
+
"0x7882367d45efff41ef0cb9e937029a3f8a3cdf5908d83beeb5cbc0cff178d290",
|
|
188
|
+
releaseKind:
|
|
189
|
+
"0x3e74c960d9446ae2ebf228456ddc1b099d2090501c9cbcd284a999aa2e774e12",
|
|
190
|
+
vaultReleaseRevenueDistributorPlugin:
|
|
191
|
+
"0x2172dc326fbf226b6cf6eed610f217fb0ff2682d1938e8089f4d6ce21a4999b5",
|
|
192
|
+
recordingAdvisory:
|
|
193
|
+
"0x28e0e72c5b892fc888a9007afa59ebe04ed8e47f12632ddb42cd685d09c4af2e",
|
|
194
|
+
recordingLanguage:
|
|
195
|
+
"0x4b284a9435cf4f48e3785e4485d16be2fcbcef5beaa2b44b6556d9c1028e2c0d",
|
|
196
|
+
recordingMasterReference:
|
|
197
|
+
"0x2b06ab58f2d5a915b42fc5879d52241fc72e804b3da782fa752b2d2f242170c0",
|
|
198
|
+
recordingPreview:
|
|
199
|
+
"0x449aafe29707adf249df7e90355ecb19d939ea77d9e19fd3e2fdb220e73e74f0",
|
|
108
200
|
ori: "0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78",
|
|
109
201
|
},
|
|
110
202
|
objects: {
|
|
111
|
-
releaseRegistry:
|
|
112
|
-
|
|
113
|
-
|
|
203
|
+
releaseRegistry:
|
|
204
|
+
"0xf5941ae9640f6f24b75e921da16c95fd23d776b9e6518c275a50a5ce6337c8ba",
|
|
205
|
+
vaultRegistry:
|
|
206
|
+
"0xee17744a0c6f71bbde98d0c2b4cab58929000fd2f65e28a4676164d34758584b",
|
|
207
|
+
genreRegistry:
|
|
208
|
+
"0xa83f9c7a340b5b5b6387d1d5933019b45bcedebbae85bbb89bab855a56e90816",
|
|
114
209
|
},
|
|
115
210
|
legacy: {
|
|
116
211
|
releaseCoverArtPackages: [],
|
|
117
212
|
},
|
|
118
213
|
},
|
|
119
|
-
} as const satisfies Partial<
|
|
120
|
-
Record<MisoNetwork, MisoPlatformDeployment>
|
|
121
|
-
>;
|
|
214
|
+
} as const satisfies Partial<Record<MisoNetwork, MisoPlatformDeployment>>;
|
|
122
215
|
|
|
123
216
|
/** Resolve a bundled platform deployment, failing closed when it is unavailable. */
|
|
124
217
|
export function getMisoPlatformDeployment(
|
package/src/index.ts
CHANGED
|
@@ -46,6 +46,7 @@ export * from "./share-template.ts";
|
|
|
46
46
|
export * from "./release-graph.ts";
|
|
47
47
|
export * from "./publication.ts";
|
|
48
48
|
export * from "./catalog.ts";
|
|
49
|
+
export * from "./mix.ts";
|
|
49
50
|
|
|
50
51
|
// High-level, JSON-safe platform projections used directly by clients and by
|
|
51
52
|
// the thin HTTP read service. Namespaced because these composed view types are
|
|
@@ -58,6 +59,7 @@ export * from "./credits.ts";
|
|
|
58
59
|
export * from "./cover.ts";
|
|
59
60
|
export * from "./release-extensions.ts";
|
|
60
61
|
export * from "./recording-extensions.ts";
|
|
62
|
+
export * from "./mix.ts";
|
|
61
63
|
export * from "./vault.ts";
|
|
62
64
|
|
|
63
65
|
// Generated, ABI-bound bindings (BCS structs + type-safe Move calls).
|