@misonetwork/sdk 0.5.0 → 0.7.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.
Files changed (51) hide show
  1. package/README.md +23 -4
  2. package/dist/client.d.ts +24 -13
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +25 -8
  5. package/dist/client.js.map +1 -1
  6. package/dist/contracts/miso/composition.d.ts +16 -38
  7. package/dist/contracts/miso/composition.d.ts.map +1 -1
  8. package/dist/contracts/miso/composition.js +16 -37
  9. package/dist/contracts/miso/composition.js.map +1 -1
  10. package/dist/contracts/miso/recording.d.ts +43 -18
  11. package/dist/contracts/miso/recording.d.ts.map +1 -1
  12. package/dist/contracts/miso/recording.js +45 -19
  13. package/dist/contracts/miso/recording.js.map +1 -1
  14. package/dist/contracts/miso/release.d.ts +2 -0
  15. package/dist/contracts/miso/release.d.ts.map +1 -1
  16. package/dist/contracts/miso/track.d.ts +39 -8
  17. package/dist/contracts/miso/track.d.ts.map +1 -1
  18. package/dist/contracts/miso/track.js +42 -8
  19. package/dist/contracts/miso/track.js.map +1 -1
  20. package/dist/deployments.d.ts +21 -0
  21. package/dist/deployments.d.ts.map +1 -0
  22. package/dist/deployments.js +17 -0
  23. package/dist/deployments.js.map +1 -0
  24. package/dist/index.d.ts +1 -0
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +1 -0
  27. package/dist/index.js.map +1 -1
  28. package/dist/internal.d.ts.map +1 -1
  29. package/dist/internal.js +2 -0
  30. package/dist/internal.js.map +1 -1
  31. package/dist/parsers.d.ts +1 -2
  32. package/dist/parsers.d.ts.map +1 -1
  33. package/dist/parsers.js +1 -5
  34. package/dist/parsers.js.map +1 -1
  35. package/dist/transactions.d.ts +0 -9
  36. package/dist/transactions.d.ts.map +1 -1
  37. package/dist/transactions.js +1 -3
  38. package/dist/transactions.js.map +1 -1
  39. package/dist/types.d.ts +17 -8
  40. package/dist/types.d.ts.map +1 -1
  41. package/package.json +5 -1
  42. package/src/client.ts +46 -12
  43. package/src/contracts/miso/composition.ts +16 -53
  44. package/src/contracts/miso/recording.ts +59 -22
  45. package/src/contracts/miso/track.ts +51 -8
  46. package/src/deployments.ts +42 -0
  47. package/src/index.ts +1 -0
  48. package/src/internal.ts +2 -0
  49. package/src/parsers.ts +1 -10
  50. package/src/transactions.ts +1 -11
  51. package/src/types.ts +17 -9
package/README.md CHANGED
@@ -25,7 +25,7 @@ const client = new SuiGrpcClient({
25
25
  network: "testnet",
26
26
  baseUrl: "https://fullnode.testnet.sui.io:443",
27
27
  })
28
- .$extend(miso({ misoPackageId: "0x..." }));
28
+ .$extend(miso());
29
29
 
30
30
  const recording = await client.miso.getRecordingById("0x...");
31
31
  const adminCapId = client.miso.deriveRecordingAdminCapId("0x...");
@@ -35,6 +35,10 @@ Pass a `SuiGraphQLClient` as `graphqlClient` only for generic type discovery,
35
35
  such as `getCompositionByShareType` and `getRecordingByShareType`. ID reads and
36
36
  owned-cap queries use the Core API.
37
37
 
38
+ The current Testnet package is bundled with the SDK and selected from the Sui
39
+ client's network. Mainnet fails closed until this protocol ABI is deployed there;
40
+ custom deployments can be supplied explicitly with `miso({ deployment })`.
41
+
38
42
  ## Data model
39
43
 
40
44
  - `Composition`: the written work, with a share currency and royalty rate.
@@ -134,12 +138,27 @@ tx.add(client.miso.call.track._new({
134
138
 
135
139
  ## Event parsers
136
140
 
137
- Core emits only publish/royalty events. Parse them with
138
- `client.miso.parse.compositionPublishedEvent`,
139
- `compositionRoyaltySetEvent`, `recordingPublishedEvent`, and
141
+ Core emits only publish events. Parse them with
142
+ `client.miso.parse.compositionPublishedEvent`, `recordingPublishedEvent`, and
140
143
  `releasePublishedEvent`. Track creation has no core event; pre-publish
141
144
  observability is an extension concern.
142
145
 
146
+ ## 0.6.0 → 0.7.0 migration
147
+
148
+ The composition royalty rate is now immutable after creation, with no protocol
149
+ ceiling (it was capped at 2000 bps).
150
+
151
+ | Previous API | 0.7.0 |
152
+ | --- | --- |
153
+ | `composition::set_royalty_rate` call, `CompositionRoyaltySetEvent`, `client.miso.parse.compositionRoyaltySetEvent` | removed; the rate no longer changes after `composition::new` |
154
+ | `createRecording(tx, { ..., maxRoyaltyRateBps })` | `maxRoyaltyRateBps` removed; the immutable rate needs no slippage guard |
155
+ | `PROTOCOL_MAX_ROYALTY_RATE_BPS` | removed; there is no protocol-level cap on `royaltyRateBps` |
156
+ | `Recording` (no composition reference) | `Recording.compositionId` — the parent composition's object id |
157
+ | `Track` (no composition reference) | `Track.compositionId` — the underlying composition's object id |
158
+
159
+ Update `@misofm/sdk` in the same release window: it depends on `@misonetwork/sdk`
160
+ for these primitives.
161
+
143
162
  ## 0.4.0 → 0.5.0 migration
144
163
 
145
164
  | Previous API | 0.5.0 |
package/dist/client.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { ClientWithCoreApi, SuiClientRegistration } from "@mysten/sui/client";
2
2
  import type { SuiGraphQLClient } from "@mysten/sui/graphql";
3
+ import { type MisoProtocolDeployment } from "./deployments.ts";
3
4
  import * as parsers from "./parsers.ts";
4
5
  import * as queries from "./queries.ts";
5
6
  import * as view from "./view.ts";
@@ -11,8 +12,13 @@ import * as track from "./contracts/miso/track.ts";
11
12
  export interface MisoOptions<Name extends string = "miso"> {
12
13
  /** Name for the client extension. Defaults to "miso". */
13
14
  name?: Name;
14
- /** The Miso package ID. Required for type-based queries and derivation. */
15
- misoPackageId: string;
15
+ /**
16
+ * Complete custom deployment. Omit for bundled Mainnet/Testnet addresses,
17
+ * selected from the Sui client's `network`.
18
+ */
19
+ deployment?: MisoProtocolDeployment;
20
+ /** @deprecated Use `deployment`. Retained for compatibility with pre-0.4 callers. */
21
+ misoPackageId?: string;
16
22
  /**
17
23
  * Optional GraphQL client, required ONLY for the global type-discovery reads
18
24
  * the Core API cannot express: `getCompositionByShareType`,
@@ -27,14 +33,20 @@ export interface MisoOptions<Name extends string = "miso"> {
27
33
  * @example
28
34
  * ```ts
29
35
  * const client = new SuiGrpcClient({ network: 'testnet' })
30
- * .$extend(miso({ misoPackageId: '0x...' }));
36
+ * .$extend(miso());
31
37
  * const composition = await client.miso.getCompositionById('0x...');
32
38
  * ```
33
39
  */
34
- export declare function miso<const Name extends string = "miso">(options: MisoOptions<Name>): SuiClientRegistration<ClientWithCoreApi, Name, MisoClient>;
35
- export declare class MisoClient {
40
+ export declare function miso<const Name extends string = "miso">(options?: MisoOptions<Name>): SuiClientRegistration<ClientWithCoreApi, Name, MisoProtocolClient>;
41
+ export interface MisoProtocolClientOptions {
42
+ deployment: MisoProtocolDeployment;
43
+ graphqlClient?: SuiGraphQLClient;
44
+ }
45
+ export declare class MisoProtocolClient {
36
46
  #private;
37
- constructor(client: ClientWithCoreApi, options: Omit<MisoOptions, "name">);
47
+ constructor(client: ClientWithCoreApi, options: MisoProtocolClientOptions);
48
+ /** The exact deployment selected for this client. */
49
+ get deployment(): MisoProtocolDeployment;
38
50
  getCompositionById(compositionId: string): Promise<Composition>;
39
51
  getCompositionsByIds(ids: string[]): Promise<Record<string, Composition>>;
40
52
  getWorksByIds(ids: queries.WorkIds): Promise<queries.WorksById>;
@@ -88,6 +100,7 @@ export declare class MisoClient {
88
100
  Initialized: null;
89
101
  Published: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
90
102
  }, "@local-pkg/miso::recording::RecordingState">;
103
+ composition_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
91
104
  }, "@local-pkg/miso::recording::Recording<phantom RecordingShare, phantom CompositionShare>">;
92
105
  Release: import("./contracts/utils/index.ts").MoveStruct<{
93
106
  id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
@@ -101,6 +114,7 @@ export declare class MisoClient {
101
114
  Unassigned: string;
102
115
  Assigned: true;
103
116
  }, "Unassigned" | "Assigned">;
117
+ composition_id: string;
104
118
  recording_id: string;
105
119
  split_bps: [number];
106
120
  }[], Iterable<{
@@ -108,6 +122,7 @@ export declare class MisoClient {
108
122
  Unassigned: string | Uint8Array<ArrayBufferLike>;
109
123
  Assigned: boolean | object | null;
110
124
  }>;
125
+ composition_id: string | Uint8Array<ArrayBufferLike>;
111
126
  recording_id: string | Uint8Array<ArrayBufferLike>;
112
127
  split_bps: readonly [number];
113
128
  }> & {
@@ -119,18 +134,13 @@ export declare class MisoClient {
119
134
  Unassigned: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
120
135
  Assigned: null;
121
136
  }, "@local-pkg/miso::track::TrackState">;
137
+ composition_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
122
138
  recording_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
123
139
  split_bps: import("./contracts/utils/index.ts").MoveTuple<readonly [import("@mysten/bcs").BcsType<number, number, "u16">], "bps::bps::BPS">;
124
140
  }, "@local-pkg/miso::track::Track">;
125
141
  CompositionPublishedEvent: import("./contracts/utils/index.ts").MoveStruct<{
126
142
  composition_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
127
143
  }, "@local-pkg/miso::composition::CompositionPublishedEvent<phantom CompositionShare>">;
128
- CompositionRoyaltySetEvent: import("./contracts/utils/index.ts").MoveStruct<{
129
- composition_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
130
- previous_royalty_rate_bps: import("@mysten/bcs").BcsType<number, number, "u16">;
131
- royalty_rate_bps: import("@mysten/bcs").BcsType<number, number, "u16">;
132
- changed_by: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
133
- }, "@local-pkg/miso::composition::CompositionRoyaltySetEvent<phantom CompositionShare>">;
134
144
  RecordingPublishedEvent: import("./contracts/utils/index.ts").MoveStruct<{
135
145
  recording_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
136
146
  }, "@local-pkg/miso::recording::RecordingPublishedEvent<phantom RecordingShare, phantom CompositionShare>">;
@@ -140,9 +150,10 @@ export declare class MisoClient {
140
150
  };
141
151
  get parse(): {
142
152
  compositionPublishedEvent: typeof parsers.parseCompositionPublishedEvent;
143
- compositionRoyaltySetEvent: typeof parsers.parseCompositionRoyaltySetEvent;
144
153
  recordingPublishedEvent: typeof parsers.parseRecordingPublishedEvent;
145
154
  releasePublishedEvent: typeof parsers.parseReleasePublishedEvent;
146
155
  };
147
156
  }
157
+ /** @deprecated Prefer the layer-specific `MisoProtocolClient` name. */
158
+ export { MisoProtocolClient as MisoClient };
148
159
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -1,5 +1,6 @@
1
1
  // Copyright (c) Miso Labs, Inc.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
+ import { getMisoProtocolDeployment, } from "./deployments.js";
3
4
  import * as parsers from "./parsers.js";
4
5
  import * as queries from "./queries.js";
5
6
  import * as view from "./view.js";
@@ -25,25 +26,41 @@ function bindModulePackage(mod, pkg) {
25
26
  * @example
26
27
  * ```ts
27
28
  * const client = new SuiGrpcClient({ network: 'testnet' })
28
- * .$extend(miso({ misoPackageId: '0x...' }));
29
+ * .$extend(miso());
29
30
  * const composition = await client.miso.getCompositionById('0x...');
30
31
  * ```
31
32
  */
32
- export function miso(options) {
33
+ export function miso(options = {}) {
33
34
  const name = (options.name ?? "miso");
34
35
  return {
35
36
  name,
36
- register: (client) => new MisoClient(client, options),
37
+ register: (client) => {
38
+ const deployment = options.deployment ??
39
+ (options.misoPackageId
40
+ ? { packageId: options.misoPackageId }
41
+ : getMisoProtocolDeployment(client.network));
42
+ return new MisoProtocolClient(client, {
43
+ deployment,
44
+ graphqlClient: options.graphqlClient,
45
+ });
46
+ },
37
47
  };
38
48
  }
39
- export class MisoClient {
49
+ export class MisoProtocolClient {
40
50
  #client;
41
51
  #graphqlClient;
42
- #misoPackageId;
52
+ #deployment;
43
53
  constructor(client, options) {
44
54
  this.#client = client;
45
55
  this.#graphqlClient = options.graphqlClient;
46
- this.#misoPackageId = options.misoPackageId;
56
+ this.#deployment = options.deployment;
57
+ }
58
+ /** The exact deployment selected for this client. */
59
+ get deployment() {
60
+ return this.#deployment;
61
+ }
62
+ get #misoPackageId() {
63
+ return this.#deployment.packageId;
47
64
  }
48
65
  // === Composition ===
49
66
  async getCompositionById(compositionId) {
@@ -149,7 +166,6 @@ export class MisoClient {
149
166
  Release: release.Release,
150
167
  Track: track.Track,
151
168
  CompositionPublishedEvent: composition.CompositionPublishedEvent,
152
- CompositionRoyaltySetEvent: composition.CompositionRoyaltySetEvent,
153
169
  RecordingPublishedEvent: recording.RecordingPublishedEvent,
154
170
  ReleasePublishedEvent: release.ReleasePublishedEvent,
155
171
  };
@@ -158,7 +174,6 @@ export class MisoClient {
158
174
  get parse() {
159
175
  return {
160
176
  compositionPublishedEvent: parsers.parseCompositionPublishedEvent,
161
- compositionRoyaltySetEvent: parsers.parseCompositionRoyaltySetEvent,
162
177
  recordingPublishedEvent: parsers.parseRecordingPublishedEvent,
163
178
  releasePublishedEvent: parsers.parseReleasePublishedEvent,
164
179
  };
@@ -170,4 +185,6 @@ export class MisoClient {
170
185
  return this.#graphqlClient;
171
186
  }
172
187
  }
188
+ /** @deprecated Prefer the layer-specific `MisoProtocolClient` name. */
189
+ export { MisoProtocolClient as MisoClient };
173
190
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -66,12 +66,6 @@ export declare const CompositionAdminCapKey: MoveTuple<readonly [import("@mysten
66
66
  export declare const CompositionPublishedEvent: MoveStruct<{
67
67
  composition_id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
68
68
  }, "@local-pkg/miso::composition::CompositionPublishedEvent<phantom CompositionShare>">;
69
- export declare const CompositionRoyaltySetEvent: MoveStruct<{
70
- composition_id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
71
- previous_royalty_rate_bps: import("@mysten/sui/bcs").BcsType<number, number, "u16">;
72
- royalty_rate_bps: import("@mysten/sui/bcs").BcsType<number, number, "u16">;
73
- changed_by: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
74
- }, "@local-pkg/miso::composition::CompositionRoyaltySetEvent<phantom CompositionShare>">;
75
69
  export interface NewArguments {
76
70
  title: RawTransactionArgument<string>;
77
71
  royaltyRateBps: RawTransactionArgument<number>;
@@ -91,10 +85,17 @@ export interface NewOptions {
91
85
  ];
92
86
  }
93
87
  /**
94
- * Creates a new composition with the given title and royalty rate. The royalty
95
- * rate must not exceed `MAX_ROYALTY_RATE_BPS`; there is no floor, so 0% is
96
- * permitted (e.g. a generative recording with no authored composition).
97
- * Initializes share tokens (10M supply, 6 decimals) and returns:
88
+ * Creates a new composition with the given title and royalty rate.
89
+ *
90
+ * The rate is set once, here, and is immutable for the composition's lifetime: it
91
+ * is a permanent standing offer that recorders and share buyers can price against
92
+ * without trusting the admin. The protocol imposes no opinion on it beyond the
93
+ * arithmetic bound of 100% (10000 bps, enforced by `bps::new`). There is no floor
94
+ * — 0% is permitted (e.g. a generative recording with no authored composition) —
95
+ * and no protocol ceiling: an uncompetitive rate simply attracts no recordings.
96
+ * What rate is reasonable is a client-side concern; per-deal deviations settle as
97
+ * voluntary share transfers after recording creation. Initializes share tokens
98
+ * (10M supply, 6 decimals) and returns:
98
99
  *
99
100
  * - The composition object
100
101
  * - Admin capability for the owner
@@ -123,33 +124,6 @@ export interface PublishOptions {
123
124
  * extension and may be attached before or after publish via `uid_mut`.
124
125
  */
125
126
  export declare function publish(options: PublishOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
126
- export interface SetRoyaltyRateArguments {
127
- self: RawTransactionArgument<string>;
128
- _: RawTransactionArgument<string>;
129
- royaltyRateBps: RawTransactionArgument<number>;
130
- }
131
- export interface SetRoyaltyRateOptions {
132
- package?: string;
133
- arguments: SetRoyaltyRateArguments | [
134
- self: RawTransactionArgument<string>,
135
- _: RawTransactionArgument<string>,
136
- royaltyRateBps: RawTransactionArgument<number>
137
- ];
138
- typeArguments: [
139
- string
140
- ];
141
- }
142
- /**
143
- * Sets the royalty rate this composition earns from each recording. Must not
144
- * exceed `MAX_ROYALTY_RATE_BPS` (there is no floor; 0% is allowed). The rate can
145
- * be changed in any lifecycle state, including after publishing, and takes effect
146
- * immediately. There is deliberately no rate-change cooldown: a change cannot
147
- * surprise anyone, because each recording snapshots the rate when it is created
148
- * (existing recordings keep the rate they captured) and `recording::new`'s
149
- * `max_royalty_rate_bps` slippage guard means no future recorder can be charged a
150
- * rate they did not consent to.
151
- */
152
- export declare function setRoyaltyRate(options: SetRoyaltyRateOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
153
127
  export interface IdArguments {
154
128
  self: RawTransactionArgument<string>;
155
129
  }
@@ -190,7 +164,11 @@ export interface RoyaltyRateOptions {
190
164
  string
191
165
  ];
192
166
  }
193
- /** Returns the royalty rate this composition earns from each recording. */
167
+ /**
168
+ * Returns the royalty rate this composition earns from each recording. Immutable
169
+ * for the composition's lifetime — the value read here is, by construction, the
170
+ * value `recording::new` will apply.
171
+ */
194
172
  export declare function royaltyRate(options: RoyaltyRateOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
195
173
  export interface UidArguments {
196
174
  self: RawTransactionArgument<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../../../src/contracts/miso/composition.ts"],"names":[],"mappings":"AAAA;;gEAEgE;AAGhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAA0B,KAAK,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEzH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D,wCAAwC;AACxC,eAAO,MAAM,gBAAgB;IACrB,oDAAoD;;IAEpD,8EAA8E;;oDAE9E,CAAC;AACT,eAAO,MAAM,WAAW;IAChB,8CAA8C;;IAE9C,+BAA+B;;QAR/B,oDAAoD;;QAEpD,8EAA8E;;;IAQ9E,wCAAwC;;IAExC,yEAAyE;;yEAEzE,CAAC;AACT,eAAO,MAAM,mBAAmB;IACxB,6CAA6C;;iFAE7C,CAAC;AACT,eAAO,MAAM,sBAAsB,2IAA0F,CAAC;AAC9H,eAAO,MAAM,yBAAyB;;uFAE9B,CAAC;AACT,eAAO,MAAM,0BAA0B;;;;;wFAK/B,CAAC;AACT,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACtC,cAAc,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/C,aAAa,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC9C,gBAAgB,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CACpD;AACD,MAAM,WAAW,UAAU;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,YAAY,GAAG;QACtB,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC;QACrC,cAAc,EAAE,sBAAsB,CAAC,MAAM,CAAC;QAC9C,aAAa,EAAE,sBAAsB,CAAC,MAAM,CAAC;QAC7C,gBAAgB,EAAE,sBAAsB,CAAC,MAAM,CAAC;KACnD,CAAC;IACF,aAAa,EAAE;QACX,MAAM;KACT,CAAC;CACL;AACD;;;;;;;;;GASG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,UAAU,IAS5B,IAAI,WAAW,0DAO1B;AACD,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CACrC;AACD,MAAM,WAAW,cAAc;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,gBAAgB,GAAG;QAC1B,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC;QACpC,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC;KACpC,CAAC;IACF,aAAa,EAAE;QACX,MAAM;KACT,CAAC;CACL;AACD;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,cAAc,IAQnC,IAAI,WAAW,0DAO1B;AACD,MAAM,WAAW,uBAAuB;IACpC,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAClC,cAAc,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CAClD;AACD,MAAM,WAAW,qBAAqB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,uBAAuB,GAAG;QACjC,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC;QACpC,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC;QACjC,cAAc,EAAE,sBAAsB,CAAC,MAAM,CAAC;KACjD,CAAC;IACF,aAAa,EAAE;QACX,MAAM;KACT,CAAC;CACL;AACD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,IAQjD,IAAI,WAAW,0DAO1B;AACD,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CACxC;AACD,MAAM,WAAW,SAAS;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,WAAW,GAAG;QACrB,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC;KACvC,CAAC;IACF,aAAa,EAAE;QACX,MAAM;KACT,CAAC;CACL;AACD,2CAA2C;AAC3C,wBAAgB,EAAE,CAAC,OAAO,EAAE,SAAS,IAMzB,IAAI,WAAW,0DAO1B;AACD,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CACxC;AACD,MAAM,WAAW,YAAY;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,cAAc,GAAG;QACxB,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC;KACvC,CAAC;IACF,aAAa,EAAE;QACX,MAAM;KACT,CAAC;CACL;AACD,iCAAiC;AACjC,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,IAM/B,IAAI,WAAW,0DAO1B;AACD,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CACxC;AACD,MAAM,WAAW,kBAAkB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,oBAAoB,GAAG;QAC9B,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC;KACvC,CAAC;IACF,aAAa,EAAE;QACX,MAAM;KACT,CAAC;CACL;AACD,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,IAM3C,IAAI,WAAW,0DAO1B;AACD,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CACxC;AACD,MAAM,WAAW,UAAU;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,YAAY,GAAG;QACtB,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC;KACvC,CAAC;IACF,aAAa,EAAE;QACX,MAAM;KACT,CAAC;CACL;AACD,+EAA+E;AAC/E,wBAAgB,GAAG,CAAC,OAAO,EAAE,UAAU,IAM3B,IAAI,WAAW,0DAO1B;AACD,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CACrC;AACD,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,eAAe,GAAG;QACzB,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC;QACpC,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC;KACpC,CAAC;IACF,aAAa,EAAE;QACX,MAAM;KACT,CAAC;CACL;AACD;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,IAOjC,IAAI,WAAW,0DAO1B"}
1
+ {"version":3,"file":"composition.d.ts","sourceRoot":"","sources":["../../../src/contracts/miso/composition.ts"],"names":[],"mappings":"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"}
@@ -64,17 +64,18 @@ export const CompositionAdminCapKey = new MoveTuple({ name: `${$moduleName}::Com
64
64
  export const CompositionPublishedEvent = new MoveStruct({ name: `${$moduleName}::CompositionPublishedEvent<phantom CompositionShare>`, fields: {
65
65
  composition_id: bcs.Address
66
66
  } });
67
- export const CompositionRoyaltySetEvent = new MoveStruct({ name: `${$moduleName}::CompositionRoyaltySetEvent<phantom CompositionShare>`, fields: {
68
- composition_id: bcs.Address,
69
- previous_royalty_rate_bps: bcs.u16(),
70
- royalty_rate_bps: bcs.u16(),
71
- changed_by: bcs.Address
72
- } });
73
67
  /**
74
- * Creates a new composition with the given title and royalty rate. The royalty
75
- * rate must not exceed `MAX_ROYALTY_RATE_BPS`; there is no floor, so 0% is
76
- * permitted (e.g. a generative recording with no authored composition).
77
- * Initializes share tokens (10M supply, 6 decimals) and returns:
68
+ * Creates a new composition with the given title and royalty rate.
69
+ *
70
+ * The rate is set once, here, and is immutable for the composition's lifetime: it
71
+ * is a permanent standing offer that recorders and share buyers can price against
72
+ * without trusting the admin. The protocol imposes no opinion on it beyond the
73
+ * arithmetic bound of 100% (10000 bps, enforced by `bps::new`). There is no floor
74
+ * — 0% is permitted (e.g. a generative recording with no authored composition) —
75
+ * and no protocol ceiling: an uncompetitive rate simply attracts no recordings.
76
+ * What rate is reasonable is a client-side concern; per-deal deviations settle as
77
+ * voluntary share transfers after recording creation. Initializes share tokens
78
+ * (10M supply, 6 decimals) and returns:
78
79
  *
79
80
  * - The composition object
80
81
  * - Admin capability for the owner
@@ -120,32 +121,6 @@ export function publish(options) {
120
121
  typeArguments: options.typeArguments
121
122
  });
122
123
  }
123
- /**
124
- * Sets the royalty rate this composition earns from each recording. Must not
125
- * exceed `MAX_ROYALTY_RATE_BPS` (there is no floor; 0% is allowed). The rate can
126
- * be changed in any lifecycle state, including after publishing, and takes effect
127
- * immediately. There is deliberately no rate-change cooldown: a change cannot
128
- * surprise anyone, because each recording snapshots the rate when it is created
129
- * (existing recordings keep the rate they captured) and `recording::new`'s
130
- * `max_royalty_rate_bps` slippage guard means no future recorder can be charged a
131
- * rate they did not consent to.
132
- */
133
- export function setRoyaltyRate(options) {
134
- const packageAddress = options.package ?? '@local-pkg/miso';
135
- const argumentsTypes = [
136
- null,
137
- null,
138
- 'u16'
139
- ];
140
- const parameterNames = ["self", "_", "royaltyRateBps"];
141
- return (tx) => tx.moveCall({
142
- package: packageAddress,
143
- module: 'composition',
144
- function: 'set_royalty_rate',
145
- arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
146
- typeArguments: options.typeArguments
147
- });
148
- }
149
124
  /** Returns the composition's object ID. */
150
125
  export function id(options) {
151
126
  const packageAddress = options.package ?? '@local-pkg/miso';
@@ -176,7 +151,11 @@ export function title(options) {
176
151
  typeArguments: options.typeArguments
177
152
  });
178
153
  }
179
- /** Returns the royalty rate this composition earns from each recording. */
154
+ /**
155
+ * Returns the royalty rate this composition earns from each recording. Immutable
156
+ * for the composition's lifetime — the value read here is, by construction, the
157
+ * value `recording::new` will apply.
158
+ */
180
159
  export function royaltyRate(options) {
181
160
  const packageAddress = options.package ?? '@local-pkg/miso';
182
161
  const argumentsTypes = [
@@ -1 +1 @@
1
- {"version":3,"file":"composition.js","sourceRoot":"","sources":["../../../src/contracts/miso/composition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composition.js","sourceRoot":"","sources":["../../../src/contracts/miso/composition.ts"],"names":[],"mappings":"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"}
@@ -43,14 +43,15 @@
43
43
  * the one trust assumption that never expires: integrators should model the cap
44
44
  * holder as able to mutate or delete any extension data, forever.
45
45
  *
46
- * The recording carries its parent composition's identity as the
47
- * `CompositionShare` phantom type parameter the composition's share type is its
48
- * durable identity (a share currency is published independently of miso and
49
- * survives a fresh republish, whereas an object ID does not). This makes the
50
- * recording↔composition lineage compile-time enforced wherever the two meet, and
51
- * it is the sole link: the composition's object id is not stored on the recording.
52
- * Off-chain consumers that need the composition object resolve its share type to
53
- * an id via `composition::CompositionPublishedEvent`, which binds the two.
46
+ * The recording carries its parent composition's identity two ways. The
47
+ * `CompositionShare` phantom type parameter is the durable identity (a share
48
+ * currency is published independently of miso and survives a fresh republish,
49
+ * whereas an object ID does not) and makes the recording↔composition lineage
50
+ * compile-time enforced wherever the two meet. The embedded `composition_id` is
51
+ * the address-level handle: Move cannot chase a type (or an ID) to an object, so
52
+ * on-chain consumers holding only `&Recording` or a bare `Track` could not
53
+ * otherwise reach the composition at all. Both are set at creation and immutable,
54
+ * so they cannot diverge.
54
55
  *
55
56
  * A recording is its own freshly-created object (`object::new`), not a derived
56
57
  * child of its composition: `recording::new` takes a read-only `&Composition`
@@ -77,6 +78,14 @@ export declare const Recording: MoveStruct<{
77
78
  /** Recording is published and immutable. Includes publication timestamp. */
78
79
  Published: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
79
80
  }, "@local-pkg/miso::recording::RecordingState">;
81
+ /**
82
+ * Object ID of the parent composition. The address-level counterpart of the
83
+ * `CompositionShare` phantom, set from the `&Composition` passed to `new` (the
84
+ * shared phantom proves the pairing). An identity handle — not a revenue routing
85
+ * target: the composition is paid through its recording-share ownership, settled
86
+ * at creation.
87
+ */
88
+ composition_id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
80
89
  }, "@local-pkg/miso::recording::Recording<phantom RecordingShare, phantom CompositionShare>">;
81
90
  export declare const RecordingAdminCap: MoveStruct<{
82
91
  /** Unique identifier for this capability. */
@@ -99,15 +108,13 @@ export interface NewArguments {
99
108
  composition: RawTransactionArgument<string>;
100
109
  shareCurrency: RawTransactionArgument<string>;
101
110
  shareTreasuryCap: RawTransactionArgument<string>;
102
- maxRoyaltyRateBps: RawTransactionArgument<number>;
103
111
  }
104
112
  export interface NewOptions {
105
113
  package?: string;
106
114
  arguments: NewArguments | [
107
115
  composition: RawTransactionArgument<string>,
108
116
  shareCurrency: RawTransactionArgument<string>,
109
- shareTreasuryCap: RawTransactionArgument<string>,
110
- maxRoyaltyRateBps: RawTransactionArgument<number>
117
+ shareTreasuryCap: RawTransactionArgument<string>
111
118
  ];
112
119
  typeArguments: [
113
120
  string,
@@ -126,13 +133,11 @@ export interface NewOptions {
126
133
  * composition owner then does with the shares (hold, stake, sell) is outside the
127
134
  * protocol's scope.
128
135
  *
129
- * `max_royalty_rate_bps` is a slippage guard: `new` reads the composition's
130
- * royalty rate live off a shared object, so a composition owner could land a rate
131
- * increase in a transaction ordered just before this one and capture more of the
132
- * recording's shares than the recorder saw. The call aborts if the composition's
133
- * current rate exceeds `max_royalty_rate_bps`, so the recorder pins the most they
134
- * will grant (pass the rate they observed, or `2000` to accept up to the protocol
135
- * maximum).
136
+ * The composition's royalty rate is immutable, so the rate a recorder's client
137
+ * displayed is exactly the rate applied here no slippage protection is needed or
138
+ * possible. Whether that rate is acceptable is the recorder's decision to make
139
+ * before calling; per-deal deviations settle as voluntary share transfers after
140
+ * creation.
136
141
  *
137
142
  * The composition need not be `Published`: within the composition's own creating
138
143
  * transaction its creator can already mint recordings against it. Third parties
@@ -172,6 +177,26 @@ export interface PublishOptions {
172
177
  * extension and may be attached before or after publish via `uid_mut`.
173
178
  */
174
179
  export declare function publish(options: PublishOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
180
+ export interface CompositionIdArguments {
181
+ self: RawTransactionArgument<string>;
182
+ }
183
+ export interface CompositionIdOptions {
184
+ package?: string;
185
+ arguments: CompositionIdArguments | [
186
+ self: RawTransactionArgument<string>
187
+ ];
188
+ typeArguments: [
189
+ string,
190
+ string
191
+ ];
192
+ }
193
+ /**
194
+ * Returns the object ID of the parent composition. An identity/membership handle
195
+ * (the address-level counterpart of the `CompositionShare` phantom) — not a
196
+ * revenue routing target: the composition is paid via its recording-share
197
+ * ownership.
198
+ */
199
+ export declare function compositionId(options: CompositionIdOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
175
200
  export interface IdArguments {
176
201
  self: RawTransactionArgument<string>;
177
202
  }
@@ -1 +1 @@
1
- {"version":3,"file":"recording.d.ts","sourceRoot":"","sources":["../../../src/contracts/miso/recording.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recording.d.ts","sourceRoot":"","sources":["../../../src/contracts/miso/recording.ts"],"names":[],"mappings":"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"}