@misonetwork/sdk 0.4.0 → 0.5.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 +97 -503
- package/dist/client.d.ts +3 -55
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +1 -52
- package/dist/client.js.map +1 -1
- package/dist/contracts/miso/release.d.ts +34 -31
- package/dist/contracts/miso/release.d.ts.map +1 -1
- package/dist/contracts/miso/release.js +32 -29
- package/dist/contracts/miso/release.js.map +1 -1
- package/dist/contracts/miso/track.d.ts +66 -22
- package/dist/contracts/miso/track.d.ts.map +1 -1
- package/dist/contracts/miso/track.js +65 -20
- package/dist/contracts/miso/track.js.map +1 -1
- package/dist/contracts/utils/index.d.ts +44 -0
- package/dist/contracts/utils/index.d.ts.map +1 -1
- package/dist/contracts/utils/index.js +104 -2
- package/dist/contracts/utils/index.js.map +1 -1
- package/dist/contracts.d.ts +0 -1
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +0 -1
- package/dist/contracts.js.map +1 -1
- package/dist/internal.d.ts +0 -7
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +0 -22
- package/dist/internal.js.map +1 -1
- package/dist/parsers.d.ts +1 -4
- package/dist/parsers.d.ts.map +1 -1
- package/dist/parsers.js +0 -24
- package/dist/parsers.js.map +1 -1
- package/dist/queries.d.ts +2 -5
- package/dist/queries.d.ts.map +1 -1
- package/dist/queries.js +8 -45
- package/dist/queries.js.map +1 -1
- package/dist/transactions.d.ts +10 -71
- package/dist/transactions.d.ts.map +1 -1
- package/dist/transactions.js +15 -72
- package/dist/transactions.js.map +1 -1
- package/dist/types.d.ts +3 -40
- package/dist/types.d.ts.map +1 -1
- package/dist/view.d.ts +7 -7
- package/dist/view.d.ts.map +1 -1
- package/dist/view.js +9 -9
- package/dist/view.js.map +1 -1
- package/package.json +4 -4
- package/src/client.ts +3 -78
- package/src/contracts/miso/release.ts +39 -36
- package/src/contracts/miso/track.ts +81 -23
- package/src/contracts/utils/index.ts +156 -4
- package/src/contracts.ts +0 -1
- package/src/internal.ts +0 -24
- package/src/parsers.ts +0 -35
- package/src/queries.ts +11 -59
- package/src/transactions.ts +20 -112
- package/src/types.ts +3 -53
- package/src/view.ts +13 -13
- package/dist/contracts/miso/deal.d.ts +0 -184
- package/dist/contracts/miso/deal.d.ts.map +0 -1
- package/dist/contracts/miso/deal.js +0 -184
- package/dist/contracts/miso/deal.js.map +0 -1
- package/src/contracts/miso/deal.ts +0 -257
package/dist/client.d.ts
CHANGED
|
@@ -1,36 +1,22 @@
|
|
|
1
1
|
import type { ClientWithCoreApi, SuiClientRegistration } from "@mysten/sui/client";
|
|
2
2
|
import type { SuiGraphQLClient } from "@mysten/sui/graphql";
|
|
3
|
-
import type { TxThunk } from "./transactions.ts";
|
|
4
3
|
import * as parsers from "./parsers.ts";
|
|
5
4
|
import * as queries from "./queries.ts";
|
|
6
|
-
import * as transactions from "./transactions.ts";
|
|
7
5
|
import * as view from "./view.ts";
|
|
8
|
-
import type { Composition, CompositionAdminCap,
|
|
6
|
+
import type { Composition, CompositionAdminCap, Recording, RecordingAdminCap, Release, ReleaseAdminCap } from "./types.ts";
|
|
9
7
|
import * as composition from "./contracts/miso/composition.ts";
|
|
10
8
|
import * as recording from "./contracts/miso/recording.ts";
|
|
11
9
|
import * as release from "./contracts/miso/release.ts";
|
|
12
|
-
import * as deal from "./contracts/miso/deal.ts";
|
|
13
10
|
import * as track from "./contracts/miso/track.ts";
|
|
14
11
|
export interface MisoOptions<Name extends string = "miso"> {
|
|
15
12
|
/** Name for the client extension. Defaults to "miso". */
|
|
16
13
|
name?: Name;
|
|
17
14
|
/** The Miso package ID. Required for type-based queries and derivation. */
|
|
18
15
|
misoPackageId: string;
|
|
19
|
-
/**
|
|
20
|
-
* The `ReleaseRegistry` object ID for this deployment.
|
|
21
|
-
*
|
|
22
|
-
* Created once in `release::init` and shared, so it is FIXED for the lifetime
|
|
23
|
-
* of a published package — deployment config, not runtime state. Supply it
|
|
24
|
-
* (alongside `misoPackageId`, from the same deployment manifest) and
|
|
25
|
-
* `getReleaseRegistry()` needs no network call at all. Omit it and the SDK
|
|
26
|
-
* falls back to a GraphQL scan, which is why this is worth configuring.
|
|
27
|
-
*/
|
|
28
|
-
releaseRegistryId?: string;
|
|
29
16
|
/**
|
|
30
17
|
* Optional GraphQL client, required ONLY for the global type-discovery reads
|
|
31
18
|
* the Core API cannot express: `getCompositionByShareType`,
|
|
32
|
-
* `getRecordingByShareType
|
|
33
|
-
* `releaseRegistryId` is not configured. Everything else — including every
|
|
19
|
+
* `getRecordingByShareType`. Everything else — including every
|
|
34
20
|
* `getOwned*AdminCaps` — goes over the Core API.
|
|
35
21
|
*/
|
|
36
22
|
graphqlClient?: SuiGraphQLClient;
|
|
@@ -65,22 +51,11 @@ export declare class MisoClient {
|
|
|
65
51
|
getRecordingAdminCapById(adminCapId: string): Promise<RecordingAdminCap>;
|
|
66
52
|
getOwnedRecordingAdminCaps(owner: string): Promise<RecordingAdminCap[]>;
|
|
67
53
|
deriveRecordingAdminCapId(recordingId: string): string;
|
|
68
|
-
getDealById(dealId: string): Promise<Deal>;
|
|
69
54
|
getReleaseById(releaseId: string): Promise<Release>;
|
|
70
55
|
getReleasesByIds(ids: string[]): Promise<Record<string, Release>>;
|
|
71
56
|
getReleaseAdminCapById(adminCapId: string): Promise<ReleaseAdminCap>;
|
|
72
57
|
deriveReleaseAdminCapId(releaseId: string): string;
|
|
73
58
|
getOwnedReleaseAdminCaps(owner: string): Promise<ReleaseAdminCap[]>;
|
|
74
|
-
/**
|
|
75
|
-
* The deployment's `ReleaseRegistry` object ID.
|
|
76
|
-
*
|
|
77
|
-
* Returns the configured `releaseRegistryId` with no network call. Only when
|
|
78
|
-
* it was not configured does this fall back to a GraphQL scan — a one-time
|
|
79
|
-
* bootstrap for a fresh deployment whose id you have not recorded yet. Prefer
|
|
80
|
-
* configuring it: the registry is created once in `release::init` and never
|
|
81
|
-
* changes, so scanning for it on every call is pure overhead.
|
|
82
|
-
*/
|
|
83
|
-
getReleaseRegistry(): Promise<string>;
|
|
84
59
|
getShareCurrencyType(shareCurrencyId: string): Promise<string>;
|
|
85
60
|
/**
|
|
86
61
|
* The `TreasuryCap<shareType>` owned by `owner`. Takes the share TYPE — if you
|
|
@@ -88,17 +63,13 @@ export declare class MisoClient {
|
|
|
88
63
|
* {@link getShareCurrencyType}.
|
|
89
64
|
*/
|
|
90
65
|
getShareCurrencyTreasuryCap(shareType: string, owner: string): Promise<string>;
|
|
91
|
-
get tx(): {
|
|
92
|
-
rejectDeal: (params: Omit<transactions.RejectDealParams, "misoPackageId">) => TxThunk;
|
|
93
|
-
};
|
|
94
66
|
get view(): {
|
|
95
|
-
|
|
67
|
+
deriveTargetReleaseId: (params: view.DeriveTargetReleaseIdParams) => Promise<string>;
|
|
96
68
|
};
|
|
97
69
|
get call(): {
|
|
98
70
|
composition: typeof composition;
|
|
99
71
|
recording: typeof recording;
|
|
100
72
|
release: typeof release;
|
|
101
|
-
deal: typeof deal;
|
|
102
73
|
track: typeof track;
|
|
103
74
|
};
|
|
104
75
|
get bcs(): {
|
|
@@ -143,11 +114,6 @@ export declare class MisoClient {
|
|
|
143
114
|
length: number;
|
|
144
115
|
}, string>;
|
|
145
116
|
}, "@local-pkg/miso::release::Release">;
|
|
146
|
-
Deal: import("./contracts/utils/index.ts").MoveStruct<{
|
|
147
|
-
id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
148
|
-
release_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
149
|
-
track_split_bps: import("./contracts/utils/index.ts").MoveTuple<readonly [import("@mysten/bcs").BcsType<number, number, "u16">], "bps::bps::BPS">;
|
|
150
|
-
}, "@local-pkg/miso::deal::Deal<phantom RecordingShare, phantom CompositionShare>">;
|
|
151
117
|
Track: import("./contracts/utils/index.ts").MoveStruct<{
|
|
152
118
|
state: import("./contracts/utils/index.ts").MoveEnum<{
|
|
153
119
|
Unassigned: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
@@ -171,30 +137,12 @@ export declare class MisoClient {
|
|
|
171
137
|
ReleasePublishedEvent: import("./contracts/utils/index.ts").MoveStruct<{
|
|
172
138
|
release_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
173
139
|
}, "@local-pkg/miso::release::ReleasePublishedEvent">;
|
|
174
|
-
DealCreatedEvent: import("./contracts/utils/index.ts").MoveStruct<{
|
|
175
|
-
deal_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
176
|
-
recording_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
177
|
-
release_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
178
|
-
track_split_bps_value: import("@mysten/bcs").BcsType<number, number, "u16">;
|
|
179
|
-
created_by: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
180
|
-
}, "@local-pkg/miso::deal::DealCreatedEvent<phantom RecordingShare, phantom CompositionShare>">;
|
|
181
|
-
DealAcceptedEvent: import("./contracts/utils/index.ts").MoveStruct<{
|
|
182
|
-
deal_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
183
|
-
release_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
184
|
-
}, "@local-pkg/miso::deal::DealAcceptedEvent<phantom RecordingShare, phantom CompositionShare>">;
|
|
185
|
-
DealRejectedEvent: import("./contracts/utils/index.ts").MoveStruct<{
|
|
186
|
-
deal_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
187
|
-
release_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
188
|
-
}, "@local-pkg/miso::deal::DealRejectedEvent<phantom RecordingShare, phantom CompositionShare>">;
|
|
189
140
|
};
|
|
190
141
|
get parse(): {
|
|
191
142
|
compositionPublishedEvent: typeof parsers.parseCompositionPublishedEvent;
|
|
192
143
|
compositionRoyaltySetEvent: typeof parsers.parseCompositionRoyaltySetEvent;
|
|
193
144
|
recordingPublishedEvent: typeof parsers.parseRecordingPublishedEvent;
|
|
194
145
|
releasePublishedEvent: typeof parsers.parseReleasePublishedEvent;
|
|
195
|
-
dealCreatedEvent: typeof parsers.parseDealCreatedEvent;
|
|
196
|
-
dealAcceptedEvent: typeof parsers.parseDealAcceptedEvent;
|
|
197
|
-
dealRejectedEvent: typeof parsers.parseDealRejectedEvent;
|
|
198
146
|
};
|
|
199
147
|
}
|
|
200
148
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -2,22 +2,12 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
import * as parsers from "./parsers.js";
|
|
4
4
|
import * as queries from "./queries.js";
|
|
5
|
-
import * as transactions from "./transactions.js";
|
|
6
5
|
import * as view from "./view.js";
|
|
7
6
|
// Generated call modules (type-safe Move calls) and BCS structs.
|
|
8
7
|
import * as composition from "./contracts/miso/composition.js";
|
|
9
8
|
import * as recording from "./contracts/miso/recording.js";
|
|
10
9
|
import * as release from "./contracts/miso/release.js";
|
|
11
|
-
import * as deal from "./contracts/miso/deal.js";
|
|
12
10
|
import * as track from "./contracts/miso/track.js";
|
|
13
|
-
/**
|
|
14
|
-
* Wraps a builder so the client's `misoPackageId` is injected, dropping it from
|
|
15
|
-
* the caller's params. Explicit call-sites (the free functions in
|
|
16
|
-
* `./transactions`) remain available for full control.
|
|
17
|
-
*/
|
|
18
|
-
function bindPackages(fn, misoPackageId) {
|
|
19
|
-
return (params) => fn({ misoPackageId, ...params });
|
|
20
|
-
}
|
|
21
11
|
/** Defaults `options.package` to `pkg` for every call-function in a generated module. */
|
|
22
12
|
function bindModulePackage(mod, pkg) {
|
|
23
13
|
const out = {};
|
|
@@ -50,12 +40,10 @@ export class MisoClient {
|
|
|
50
40
|
#client;
|
|
51
41
|
#graphqlClient;
|
|
52
42
|
#misoPackageId;
|
|
53
|
-
#releaseRegistryId;
|
|
54
43
|
constructor(client, options) {
|
|
55
44
|
this.#client = client;
|
|
56
45
|
this.#graphqlClient = options.graphqlClient;
|
|
57
46
|
this.#misoPackageId = options.misoPackageId;
|
|
58
|
-
this.#releaseRegistryId = options.releaseRegistryId;
|
|
59
47
|
}
|
|
60
48
|
// === Composition ===
|
|
61
49
|
async getCompositionById(compositionId) {
|
|
@@ -107,10 +95,6 @@ export class MisoClient {
|
|
|
107
95
|
deriveRecordingAdminCapId(recordingId) {
|
|
108
96
|
return queries.deriveRecordingAdminCapId(recordingId, this.#misoPackageId);
|
|
109
97
|
}
|
|
110
|
-
// === Deal ===
|
|
111
|
-
async getDealById(dealId) {
|
|
112
|
-
return queries.getDealById(this.#client, dealId);
|
|
113
|
-
}
|
|
114
98
|
// === Release ===
|
|
115
99
|
async getReleaseById(releaseId) {
|
|
116
100
|
return queries.getReleaseById(this.#client, releaseId);
|
|
@@ -127,20 +111,6 @@ export class MisoClient {
|
|
|
127
111
|
async getOwnedReleaseAdminCaps(owner) {
|
|
128
112
|
return queries.getOwnedReleaseAdminCaps(this.#client, owner, this.#misoPackageId);
|
|
129
113
|
}
|
|
130
|
-
/**
|
|
131
|
-
* The deployment's `ReleaseRegistry` object ID.
|
|
132
|
-
*
|
|
133
|
-
* Returns the configured `releaseRegistryId` with no network call. Only when
|
|
134
|
-
* it was not configured does this fall back to a GraphQL scan — a one-time
|
|
135
|
-
* bootstrap for a fresh deployment whose id you have not recorded yet. Prefer
|
|
136
|
-
* configuring it: the registry is created once in `release::init` and never
|
|
137
|
-
* changes, so scanning for it on every call is pure overhead.
|
|
138
|
-
*/
|
|
139
|
-
async getReleaseRegistry() {
|
|
140
|
-
if (this.#releaseRegistryId)
|
|
141
|
-
return this.#releaseRegistryId;
|
|
142
|
-
return queries.getReleaseRegistry(this.#requireGraphQL(), this.#misoPackageId);
|
|
143
|
-
}
|
|
144
114
|
// === Share Currency ===
|
|
145
115
|
async getShareCurrencyType(shareCurrencyId) {
|
|
146
116
|
return queries.getShareCurrencyType(this.#client, shareCurrencyId);
|
|
@@ -153,25 +123,12 @@ export class MisoClient {
|
|
|
153
123
|
async getShareCurrencyTreasuryCap(shareType, owner) {
|
|
154
124
|
return queries.getShareCurrencyTreasuryCap(this.#client, shareType, owner);
|
|
155
125
|
}
|
|
156
|
-
// === Transaction builders (thunks) ===
|
|
157
|
-
// Only the `(params) => TxThunk` builders bind here. The primitives that take
|
|
158
|
-
// a `Transaction` directly and return values (`createComposition`,
|
|
159
|
-
// `createRecording`, `createRelease`, `createDeal`) are free functions by
|
|
160
|
-
// design — they thread results into a caller-owned PTB, so there is nothing
|
|
161
|
-
// to bind. Import them from the package root and pass `misoPackageId`
|
|
162
|
-
// explicitly.
|
|
163
|
-
get tx() {
|
|
164
|
-
const miso = this.#misoPackageId;
|
|
165
|
-
return {
|
|
166
|
-
rejectDeal: bindPackages(transactions.rejectDeal, miso),
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
126
|
// === Simulate-based reads (view) ===
|
|
170
127
|
get view() {
|
|
171
128
|
const client = this.#client;
|
|
172
129
|
const misoPackageId = this.#misoPackageId;
|
|
173
130
|
return {
|
|
174
|
-
|
|
131
|
+
deriveTargetReleaseId: (params) => view.deriveTargetReleaseId(client, misoPackageId, params),
|
|
175
132
|
};
|
|
176
133
|
}
|
|
177
134
|
// === Generated type-safe Move calls (for tx.add) ===
|
|
@@ -181,7 +138,6 @@ export class MisoClient {
|
|
|
181
138
|
composition: bindModulePackage(composition, pkg),
|
|
182
139
|
recording: bindModulePackage(recording, pkg),
|
|
183
140
|
release: bindModulePackage(release, pkg),
|
|
184
|
-
deal: bindModulePackage(deal, pkg),
|
|
185
141
|
track: bindModulePackage(track, pkg),
|
|
186
142
|
};
|
|
187
143
|
}
|
|
@@ -191,15 +147,11 @@ export class MisoClient {
|
|
|
191
147
|
Composition: composition.Composition,
|
|
192
148
|
Recording: recording.Recording,
|
|
193
149
|
Release: release.Release,
|
|
194
|
-
Deal: deal.Deal,
|
|
195
150
|
Track: track.Track,
|
|
196
151
|
CompositionPublishedEvent: composition.CompositionPublishedEvent,
|
|
197
152
|
CompositionRoyaltySetEvent: composition.CompositionRoyaltySetEvent,
|
|
198
153
|
RecordingPublishedEvent: recording.RecordingPublishedEvent,
|
|
199
154
|
ReleasePublishedEvent: release.ReleasePublishedEvent,
|
|
200
|
-
DealCreatedEvent: deal.DealCreatedEvent,
|
|
201
|
-
DealAcceptedEvent: deal.DealAcceptedEvent,
|
|
202
|
-
DealRejectedEvent: deal.DealRejectedEvent,
|
|
203
155
|
};
|
|
204
156
|
}
|
|
205
157
|
// === Event parsers ===
|
|
@@ -209,9 +161,6 @@ export class MisoClient {
|
|
|
209
161
|
compositionRoyaltySetEvent: parsers.parseCompositionRoyaltySetEvent,
|
|
210
162
|
recordingPublishedEvent: parsers.parseRecordingPublishedEvent,
|
|
211
163
|
releasePublishedEvent: parsers.parseReleasePublishedEvent,
|
|
212
|
-
dealCreatedEvent: parsers.parseDealCreatedEvent,
|
|
213
|
-
dealAcceptedEvent: parsers.parseDealAcceptedEvent,
|
|
214
|
-
dealRejectedEvent: parsers.parseDealRejectedEvent,
|
|
215
164
|
};
|
|
216
165
|
}
|
|
217
166
|
#requireGraphQL() {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,14 +36,22 @@
|
|
|
36
36
|
*
|
|
37
37
|
* ### Consent scope
|
|
38
38
|
*
|
|
39
|
-
* The release digest — and therefore the derived release id every `
|
|
40
|
-
* to — binds the economics and membership of the release: the ordered
|
|
41
|
-
* `(recording, split)` pairs and the creator's nonce. It deliberately
|
|
42
|
-
* nothing else. The title — the one embedded field outside the digest — and
|
|
39
|
+
* The release digest — and therefore the derived release id every `Track` commits
|
|
40
|
+
* to at creation — binds the economics and membership of the release: the ordered
|
|
41
|
+
* list of `(recording, split)` pairs and the creator's nonce. It deliberately
|
|
42
|
+
* binds nothing else. The title — the one embedded field outside the digest — and
|
|
43
43
|
* everything in the extension layer (artwork, credits, display grouping) are
|
|
44
|
-
* chosen by the release creator, before or after
|
|
45
|
-
* and publicly attributable rather than cryptographically committed. See
|
|
46
|
-
* `
|
|
44
|
+
* chosen by the release creator, before or after tracks are created, and are
|
|
45
|
+
* trusted and publicly attributable rather than cryptographically committed. See
|
|
46
|
+
* `track::new` for the signer-side statement of this boundary.
|
|
47
|
+
*
|
|
48
|
+
* The derived id commits to a `(parent, digest)` pair, not the digest alone — so
|
|
49
|
+
* targeting an id also consents to that namespace's liveness. If the parent object
|
|
50
|
+
* is deleted, or its `&mut UID` becomes permanently unreachable, the release can
|
|
51
|
+
* never exist and every track or offer targeting it is stranded — the same
|
|
52
|
+
* blast-radius class as a release that simply never publishes. A coordinator meant
|
|
53
|
+
* to serve as the default parent namespace should therefore be shared and
|
|
54
|
+
* undeletable.
|
|
47
55
|
*
|
|
48
56
|
* ### Lifecycle and trust model
|
|
49
57
|
*
|
|
@@ -62,9 +70,8 @@
|
|
|
62
70
|
* the one trust assumption that never expires: integrators should model the cap
|
|
63
71
|
* holder as able to mutate or delete any extension data, forever.
|
|
64
72
|
*/
|
|
65
|
-
import {
|
|
73
|
+
import { MoveEnum, MoveStruct, MoveTuple, type RawTransactionArgument } from '../utils/index.js';
|
|
66
74
|
import { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';
|
|
67
|
-
export declare const RELEASE: MoveTuple<readonly [import("@mysten/sui/bcs").BcsType<boolean, boolean, "bool">], "@local-pkg/miso::release::RELEASE">;
|
|
68
75
|
/** Lifecycle state of a release. */
|
|
69
76
|
export declare const ReleaseState: MoveEnum<{
|
|
70
77
|
/** Release is initialized but not yet published. */
|
|
@@ -85,8 +92,8 @@ export declare const Release: MoveStruct<{
|
|
|
85
92
|
/** Title of the release. */
|
|
86
93
|
title: import("@mysten/sui/bcs").BcsType<string, string, "string">;
|
|
87
94
|
/**
|
|
88
|
-
* The ordered tracklist. Same shape as the digest pre-image every
|
|
89
|
-
* to; display grouping lives in the metadata extension.
|
|
95
|
+
* The ordered tracklist. Same shape as the digest pre-image every track's creator
|
|
96
|
+
* consented to; display grouping lives in the metadata extension.
|
|
90
97
|
*/
|
|
91
98
|
tracks: import("@mysten/sui/bcs").BcsType<{
|
|
92
99
|
state: import("@mysten/bcs").EnumOutputShapeWithKeys<{
|
|
@@ -109,9 +116,6 @@ export declare const Release: MoveStruct<{
|
|
|
109
116
|
export declare const ReleaseKey: MoveTuple<readonly [import("@mysten/sui/bcs").BcsType<number[], Iterable<number> & {
|
|
110
117
|
length: number;
|
|
111
118
|
}, string>], "@local-pkg/miso::release::ReleaseKey">;
|
|
112
|
-
export declare const ReleaseRegistry: MoveStruct<{
|
|
113
|
-
id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
114
|
-
}, "@local-pkg/miso::release::ReleaseRegistry">;
|
|
115
119
|
export declare const ReleaseAdminCap: MoveStruct<{
|
|
116
120
|
/** Unique identifier for this capability. */
|
|
117
121
|
id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
@@ -119,10 +123,6 @@ export declare const ReleaseAdminCap: MoveStruct<{
|
|
|
119
123
|
release_id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
120
124
|
}, "@local-pkg/miso::release::ReleaseAdminCap">;
|
|
121
125
|
export declare const ReleaseAdminCapKey: MoveTuple<readonly [import("@mysten/sui/bcs").BcsType<boolean, boolean, "bool">], "@local-pkg/miso::release::ReleaseAdminCapKey">;
|
|
122
|
-
export declare const ReleaseRegistryCreatedEvent: MoveStruct<{
|
|
123
|
-
registry_id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
124
|
-
created_by: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
125
|
-
}, "@local-pkg/miso::release::ReleaseRegistryCreatedEvent">;
|
|
126
126
|
export declare const ReleasePublishedEvent: MoveStruct<{
|
|
127
127
|
release_id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
|
|
128
128
|
}, "@local-pkg/miso::release::ReleasePublishedEvent">;
|
|
@@ -130,7 +130,7 @@ export interface NewArguments {
|
|
|
130
130
|
title: RawTransactionArgument<string>;
|
|
131
131
|
tracks: TransactionArgument;
|
|
132
132
|
nonce: RawTransactionArgument<number | bigint>;
|
|
133
|
-
|
|
133
|
+
parent: RawTransactionArgument<string>;
|
|
134
134
|
}
|
|
135
135
|
export interface NewOptions {
|
|
136
136
|
package?: string;
|
|
@@ -138,12 +138,15 @@ export interface NewOptions {
|
|
|
138
138
|
title: RawTransactionArgument<string>,
|
|
139
139
|
tracks: TransactionArgument,
|
|
140
140
|
nonce: RawTransactionArgument<number | bigint>,
|
|
141
|
-
|
|
141
|
+
parent: RawTransactionArgument<string>
|
|
142
142
|
];
|
|
143
143
|
}
|
|
144
144
|
/**
|
|
145
|
-
* Creates a new release with the given configuration.
|
|
146
|
-
*
|
|
145
|
+
* Creates a new release with the given configuration. Claims the release's UID as
|
|
146
|
+
* a derived child of `parent`, keyed by the release digest (see the module doc's
|
|
147
|
+
* "Consent scope" section) — so contention is per-parent, and which object serves
|
|
148
|
+
* as parent is entirely the caller's choice. Returns the release and admin
|
|
149
|
+
* capability.
|
|
147
150
|
*/
|
|
148
151
|
export declare function _new(options: NewOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
|
|
149
152
|
export interface PublishArguments {
|
|
@@ -178,27 +181,27 @@ export interface AuthorizeOptions {
|
|
|
178
181
|
}
|
|
179
182
|
/** Verifies that the admin capability matches this release. */
|
|
180
183
|
export declare function authorize(options: AuthorizeOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
|
|
181
|
-
export interface
|
|
184
|
+
export interface DeriveTargetReleaseIdArguments {
|
|
182
185
|
recordingIds: RawTransactionArgument<Array<string>>;
|
|
183
186
|
trackSplitValues: RawTransactionArgument<Array<number | bigint>>;
|
|
184
187
|
nonce: RawTransactionArgument<number | bigint>;
|
|
185
|
-
|
|
188
|
+
parent: RawTransactionArgument<string>;
|
|
186
189
|
}
|
|
187
|
-
export interface
|
|
190
|
+
export interface DeriveTargetReleaseIdOptions {
|
|
188
191
|
package?: string;
|
|
189
|
-
arguments:
|
|
192
|
+
arguments: DeriveTargetReleaseIdArguments | [
|
|
190
193
|
recordingIds: RawTransactionArgument<Array<string>>,
|
|
191
194
|
trackSplitValues: RawTransactionArgument<Array<number | bigint>>,
|
|
192
195
|
nonce: RawTransactionArgument<number | bigint>,
|
|
193
|
-
|
|
196
|
+
parent: RawTransactionArgument<string>
|
|
194
197
|
];
|
|
195
198
|
}
|
|
196
199
|
/**
|
|
197
|
-
* Derives the release ID that `new()` would produce for the given inputs
|
|
198
|
-
* creating the object. This is the on-chain equivalent of the
|
|
199
|
-
* `deriveReleaseId()` function.
|
|
200
|
+
* Derives the target release ID that `new()` would produce for the given inputs
|
|
201
|
+
* and parent, without creating the object. This is the on-chain equivalent of the
|
|
202
|
+
* client-side `deriveReleaseId()` function.
|
|
200
203
|
*/
|
|
201
|
-
export declare function
|
|
204
|
+
export declare function deriveTargetReleaseId(options: DeriveTargetReleaseIdOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
|
|
202
205
|
export interface IdArguments {
|
|
203
206
|
self: RawTransactionArgument<string>;
|
|
204
207
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../../src/contracts/miso/release.ts"],"names":[],"mappings":"AAAA;;gEAEgE;AAGhE
|
|
1
|
+
{"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../../src/contracts/miso/release.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,14 +36,22 @@
|
|
|
36
36
|
*
|
|
37
37
|
* ### Consent scope
|
|
38
38
|
*
|
|
39
|
-
* The release digest — and therefore the derived release id every `
|
|
40
|
-
* to — binds the economics and membership of the release: the ordered
|
|
41
|
-
* `(recording, split)` pairs and the creator's nonce. It deliberately
|
|
42
|
-
* nothing else. The title — the one embedded field outside the digest — and
|
|
39
|
+
* The release digest — and therefore the derived release id every `Track` commits
|
|
40
|
+
* to at creation — binds the economics and membership of the release: the ordered
|
|
41
|
+
* list of `(recording, split)` pairs and the creator's nonce. It deliberately
|
|
42
|
+
* binds nothing else. The title — the one embedded field outside the digest — and
|
|
43
43
|
* everything in the extension layer (artwork, credits, display grouping) are
|
|
44
|
-
* chosen by the release creator, before or after
|
|
45
|
-
* and publicly attributable rather than cryptographically committed. See
|
|
46
|
-
* `
|
|
44
|
+
* chosen by the release creator, before or after tracks are created, and are
|
|
45
|
+
* trusted and publicly attributable rather than cryptographically committed. See
|
|
46
|
+
* `track::new` for the signer-side statement of this boundary.
|
|
47
|
+
*
|
|
48
|
+
* The derived id commits to a `(parent, digest)` pair, not the digest alone — so
|
|
49
|
+
* targeting an id also consents to that namespace's liveness. If the parent object
|
|
50
|
+
* is deleted, or its `&mut UID` becomes permanently unreachable, the release can
|
|
51
|
+
* never exist and every track or offer targeting it is stranded — the same
|
|
52
|
+
* blast-radius class as a release that simply never publishes. A coordinator meant
|
|
53
|
+
* to serve as the default parent namespace should therefore be shared and
|
|
54
|
+
* undeletable.
|
|
47
55
|
*
|
|
48
56
|
* ### Lifecycle and trust model
|
|
49
57
|
*
|
|
@@ -62,12 +70,11 @@
|
|
|
62
70
|
* the one trust assumption that never expires: integrators should model the cap
|
|
63
71
|
* holder as able to mutate or delete any extension data, forever.
|
|
64
72
|
*/
|
|
65
|
-
import {
|
|
73
|
+
import { MoveEnum, MoveStruct, MoveTuple, normalizeMoveArguments } from '../utils/index.js';
|
|
66
74
|
import { bcs } from '@mysten/sui/bcs';
|
|
67
75
|
import {} from '@mysten/sui/transactions';
|
|
68
76
|
import * as track from './track.js';
|
|
69
77
|
const $moduleName = '@local-pkg/miso::release';
|
|
70
|
-
export const RELEASE = new MoveTuple({ name: `${$moduleName}::RELEASE`, fields: [bcs.bool()] });
|
|
71
78
|
/** Lifecycle state of a release. */
|
|
72
79
|
export const ReleaseState = new MoveEnum({ name: `${$moduleName}::ReleaseState`, fields: {
|
|
73
80
|
/** Release is initialized but not yet published. */
|
|
@@ -83,15 +90,12 @@ export const Release = new MoveStruct({ name: `${$moduleName}::Release`, fields:
|
|
|
83
90
|
/** Title of the release. */
|
|
84
91
|
title: bcs.string(),
|
|
85
92
|
/**
|
|
86
|
-
* The ordered tracklist. Same shape as the digest pre-image every
|
|
87
|
-
* to; display grouping lives in the metadata extension.
|
|
93
|
+
* The ordered tracklist. Same shape as the digest pre-image every track's creator
|
|
94
|
+
* consented to; display grouping lives in the metadata extension.
|
|
88
95
|
*/
|
|
89
96
|
tracks: bcs.vector(track.Track)
|
|
90
97
|
} });
|
|
91
98
|
export const ReleaseKey = new MoveTuple({ name: `${$moduleName}::ReleaseKey`, fields: [bcs.vector(bcs.u8())] });
|
|
92
|
-
export const ReleaseRegistry = new MoveStruct({ name: `${$moduleName}::ReleaseRegistry`, fields: {
|
|
93
|
-
id: bcs.Address
|
|
94
|
-
} });
|
|
95
99
|
export const ReleaseAdminCap = new MoveStruct({ name: `${$moduleName}::ReleaseAdminCap`, fields: {
|
|
96
100
|
/** Unique identifier for this capability. */
|
|
97
101
|
id: bcs.Address,
|
|
@@ -99,16 +103,15 @@ export const ReleaseAdminCap = new MoveStruct({ name: `${$moduleName}::ReleaseAd
|
|
|
99
103
|
release_id: bcs.Address
|
|
100
104
|
} });
|
|
101
105
|
export const ReleaseAdminCapKey = new MoveTuple({ name: `${$moduleName}::ReleaseAdminCapKey`, fields: [bcs.bool()] });
|
|
102
|
-
export const ReleaseRegistryCreatedEvent = new MoveStruct({ name: `${$moduleName}::ReleaseRegistryCreatedEvent`, fields: {
|
|
103
|
-
registry_id: bcs.Address,
|
|
104
|
-
created_by: bcs.Address
|
|
105
|
-
} });
|
|
106
106
|
export const ReleasePublishedEvent = new MoveStruct({ name: `${$moduleName}::ReleasePublishedEvent`, fields: {
|
|
107
107
|
release_id: bcs.Address
|
|
108
108
|
} });
|
|
109
109
|
/**
|
|
110
|
-
* Creates a new release with the given configuration.
|
|
111
|
-
*
|
|
110
|
+
* Creates a new release with the given configuration. Claims the release's UID as
|
|
111
|
+
* a derived child of `parent`, keyed by the release digest (see the module doc's
|
|
112
|
+
* "Consent scope" section) — so contention is per-parent, and which object serves
|
|
113
|
+
* as parent is entirely the caller's choice. Returns the release and admin
|
|
114
|
+
* capability.
|
|
112
115
|
*/
|
|
113
116
|
export function _new(options) {
|
|
114
117
|
const packageAddress = options.package ?? '@local-pkg/miso';
|
|
@@ -116,9 +119,9 @@ export function _new(options) {
|
|
|
116
119
|
'0x1::string::String',
|
|
117
120
|
'vector<null>',
|
|
118
121
|
'u256',
|
|
119
|
-
|
|
122
|
+
'0x2::object::ID'
|
|
120
123
|
];
|
|
121
|
-
const parameterNames = ["title", "tracks", "nonce", "
|
|
124
|
+
const parameterNames = ["title", "tracks", "nonce", "parent"];
|
|
122
125
|
return (tx) => tx.moveCall({
|
|
123
126
|
package: packageAddress,
|
|
124
127
|
module: 'release',
|
|
@@ -164,23 +167,23 @@ export function authorize(options) {
|
|
|
164
167
|
});
|
|
165
168
|
}
|
|
166
169
|
/**
|
|
167
|
-
* Derives the release ID that `new()` would produce for the given inputs
|
|
168
|
-
* creating the object. This is the on-chain equivalent of the
|
|
169
|
-
* `deriveReleaseId()` function.
|
|
170
|
+
* Derives the target release ID that `new()` would produce for the given inputs
|
|
171
|
+
* and parent, without creating the object. This is the on-chain equivalent of the
|
|
172
|
+
* client-side `deriveReleaseId()` function.
|
|
170
173
|
*/
|
|
171
|
-
export function
|
|
174
|
+
export function deriveTargetReleaseId(options) {
|
|
172
175
|
const packageAddress = options.package ?? '@local-pkg/miso';
|
|
173
176
|
const argumentsTypes = [
|
|
174
177
|
'vector<0x2::object::ID>',
|
|
175
178
|
'vector<u64>',
|
|
176
179
|
'u256',
|
|
177
|
-
|
|
180
|
+
'0x2::object::ID'
|
|
178
181
|
];
|
|
179
|
-
const parameterNames = ["recordingIds", "trackSplitValues", "nonce", "
|
|
182
|
+
const parameterNames = ["recordingIds", "trackSplitValues", "nonce", "parent"];
|
|
180
183
|
return (tx) => tx.moveCall({
|
|
181
184
|
package: packageAddress,
|
|
182
185
|
module: 'release',
|
|
183
|
-
function: '
|
|
186
|
+
function: 'derive_target_release_id',
|
|
184
187
|
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
185
188
|
});
|
|
186
189
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release.js","sourceRoot":"","sources":["../../../src/contracts/miso/release.ts"],"names":[],"mappings":"AAAA;;gEAEgE;AAGhE
|
|
1
|
+
{"version":3,"file":"release.js","sourceRoot":"","sources":["../../../src/contracts/miso/release.ts"],"names":[],"mappings":"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"}
|