@misonetwork/sdk 0.1.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 (238) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +644 -0
  3. package/dist/client.d.ts +197 -0
  4. package/dist/client.d.ts.map +1 -0
  5. package/dist/client.js +218 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/contracts/composition_credits/composition_credits.d.ts +181 -0
  8. package/dist/contracts/composition_credits/composition_credits.d.ts.map +1 -0
  9. package/dist/contracts/composition_credits/composition_credits.js +109 -0
  10. package/dist/contracts/composition_credits/composition_credits.js.map +1 -0
  11. package/dist/contracts/composition_credits/composition_party_role.d.ts +119 -0
  12. package/dist/contracts/composition_credits/composition_party_role.d.ts.map +1 -0
  13. package/dist/contracts/composition_credits/composition_party_role.js +139 -0
  14. package/dist/contracts/composition_credits/composition_party_role.js.map +1 -0
  15. package/dist/contracts/composition_credits/deps/miso_credit/credit.d.ts +24 -0
  16. package/dist/contracts/composition_credits/deps/miso_credit/credit.d.ts.map +1 -0
  17. package/dist/contracts/composition_credits/deps/miso_credit/credit.js +23 -0
  18. package/dist/contracts/composition_credits/deps/miso_credit/credit.js.map +1 -0
  19. package/dist/contracts/composition_credits/deps/sui/vec_map.d.ts +37 -0
  20. package/dist/contracts/composition_credits/deps/sui/vec_map.d.ts.map +1 -0
  21. package/dist/contracts/composition_credits/deps/sui/vec_map.js +28 -0
  22. package/dist/contracts/composition_credits/deps/sui/vec_map.js.map +1 -0
  23. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts +87 -0
  24. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts.map +1 -0
  25. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js +80 -0
  26. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js.map +1 -0
  27. package/dist/contracts/cover_art/cover_art.d.ts +85 -0
  28. package/dist/contracts/cover_art/cover_art.d.ts.map +1 -0
  29. package/dist/contracts/cover_art/cover_art.js +68 -0
  30. package/dist/contracts/cover_art/cover_art.js.map +1 -0
  31. package/dist/contracts/cover_art/deps/ori/walrus_data.d.ts +52 -0
  32. package/dist/contracts/cover_art/deps/ori/walrus_data.d.ts.map +1 -0
  33. package/dist/contracts/cover_art/deps/ori/walrus_data.js +37 -0
  34. package/dist/contracts/cover_art/deps/ori/walrus_data.js.map +1 -0
  35. package/dist/contracts/miso/composition.d.ts +231 -0
  36. package/dist/contracts/miso/composition.d.ts.map +1 -0
  37. package/dist/contracts/miso/composition.js +231 -0
  38. package/dist/contracts/miso/composition.js.map +1 -0
  39. package/dist/contracts/miso/deal.d.ts +184 -0
  40. package/dist/contracts/miso/deal.d.ts.map +1 -0
  41. package/dist/contracts/miso/deal.js +184 -0
  42. package/dist/contracts/miso/deal.js.map +1 -0
  43. package/dist/contracts/miso/deps/bps/bps.d.ts +19 -0
  44. package/dist/contracts/miso/deps/bps/bps.d.ts.map +1 -0
  45. package/dist/contracts/miso/deps/bps/bps.js +21 -0
  46. package/dist/contracts/miso/deps/bps/bps.js.map +1 -0
  47. package/dist/contracts/miso/recording.d.ts +228 -0
  48. package/dist/contracts/miso/recording.d.ts.map +1 -0
  49. package/dist/contracts/miso/recording.js +221 -0
  50. package/dist/contracts/miso/recording.js.map +1 -0
  51. package/dist/contracts/miso/release.d.ts +280 -0
  52. package/dist/contracts/miso/release.d.ts.map +1 -0
  53. package/dist/contracts/miso/release.js +282 -0
  54. package/dist/contracts/miso/release.js.map +1 -0
  55. package/dist/contracts/miso/track.d.ts +118 -0
  56. package/dist/contracts/miso/track.d.ts.map +1 -0
  57. package/dist/contracts/miso/track.js +118 -0
  58. package/dist/contracts/miso/track.js.map +1 -0
  59. package/dist/contracts/recording_credits/deps/miso_credit/credit.d.ts +24 -0
  60. package/dist/contracts/recording_credits/deps/miso_credit/credit.d.ts.map +1 -0
  61. package/dist/contracts/recording_credits/deps/miso_credit/credit.js +23 -0
  62. package/dist/contracts/recording_credits/deps/miso_credit/credit.js.map +1 -0
  63. package/dist/contracts/recording_credits/deps/sui/vec_map.d.ts +37 -0
  64. package/dist/contracts/recording_credits/deps/sui/vec_map.d.ts.map +1 -0
  65. package/dist/contracts/recording_credits/deps/sui/vec_map.js +28 -0
  66. package/dist/contracts/recording_credits/deps/sui/vec_map.js.map +1 -0
  67. package/dist/contracts/recording_credits/deps/sui/vec_set.d.ts +21 -0
  68. package/dist/contracts/recording_credits/deps/sui/vec_set.d.ts.map +1 -0
  69. package/dist/contracts/recording_credits/deps/sui/vec_set.js +20 -0
  70. package/dist/contracts/recording_credits/deps/sui/vec_set.js.map +1 -0
  71. package/dist/contracts/recording_credits/recording_credits.d.ts +2313 -0
  72. package/dist/contracts/recording_credits/recording_credits.d.ts.map +1 -0
  73. package/dist/contracts/recording_credits/recording_credits.js +270 -0
  74. package/dist/contracts/recording_credits/recording_credits.js.map +1 -0
  75. package/dist/contracts/recording_credits/recording_party_role.d.ts +1174 -0
  76. package/dist/contracts/recording_credits/recording_party_role.d.ts.map +1 -0
  77. package/dist/contracts/recording_credits/recording_party_role.js +692 -0
  78. package/dist/contracts/recording_credits/recording_party_role.js.map +1 -0
  79. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts +90 -0
  80. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts.map +1 -0
  81. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js +80 -0
  82. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js.map +1 -0
  83. package/dist/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.d.ts +52 -0
  84. package/dist/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.d.ts.map +1 -0
  85. package/dist/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.js +37 -0
  86. package/dist/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.js.map +1 -0
  87. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts +46 -0
  88. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts.map +1 -0
  89. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js +21 -0
  90. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js.map +1 -0
  91. package/dist/contracts/release_cover_art/deps/per_track/per_track.d.ts +33 -0
  92. package/dist/contracts/release_cover_art/deps/per_track/per_track.d.ts.map +1 -0
  93. package/dist/contracts/release_cover_art/deps/per_track/per_track.js +32 -0
  94. package/dist/contracts/release_cover_art/deps/per_track/per_track.js.map +1 -0
  95. package/dist/contracts/release_cover_art/release_cover_art.d.ts +300 -0
  96. package/dist/contracts/release_cover_art/release_cover_art.d.ts.map +1 -0
  97. package/dist/contracts/release_cover_art/release_cover_art.js +168 -0
  98. package/dist/contracts/release_cover_art/release_cover_art.js.map +1 -0
  99. package/dist/contracts/release_credits/deps/miso_credit/credit.d.ts +24 -0
  100. package/dist/contracts/release_credits/deps/miso_credit/credit.d.ts.map +1 -0
  101. package/dist/contracts/release_credits/deps/miso_credit/credit.js +23 -0
  102. package/dist/contracts/release_credits/deps/miso_credit/credit.js.map +1 -0
  103. package/dist/contracts/release_credits/deps/sui/vec_map.d.ts +37 -0
  104. package/dist/contracts/release_credits/deps/sui/vec_map.d.ts.map +1 -0
  105. package/dist/contracts/release_credits/deps/sui/vec_map.js +28 -0
  106. package/dist/contracts/release_credits/deps/sui/vec_map.js.map +1 -0
  107. package/dist/contracts/release_credits/release_credits.d.ts +142 -0
  108. package/dist/contracts/release_credits/release_credits.d.ts.map +1 -0
  109. package/dist/contracts/release_credits/release_credits.js +108 -0
  110. package/dist/contracts/release_credits/release_credits.js.map +1 -0
  111. package/dist/contracts/release_credits/release_party_role.d.ts +58 -0
  112. package/dist/contracts/release_credits/release_party_role.d.ts.map +1 -0
  113. package/dist/contracts/release_credits/release_party_role.js +66 -0
  114. package/dist/contracts/release_credits/release_party_role.js.map +1 -0
  115. package/dist/contracts/royalty_pool/deps/std/type_name.d.ts +18 -0
  116. package/dist/contracts/royalty_pool/deps/std/type_name.d.ts.map +1 -0
  117. package/dist/contracts/royalty_pool/deps/std/type_name.js +20 -0
  118. package/dist/contracts/royalty_pool/deps/std/type_name.js.map +1 -0
  119. package/dist/contracts/royalty_pool/deps/sui/balance.d.ts +13 -0
  120. package/dist/contracts/royalty_pool/deps/sui/balance.d.ts.map +1 -0
  121. package/dist/contracts/royalty_pool/deps/sui/balance.js +15 -0
  122. package/dist/contracts/royalty_pool/deps/sui/balance.js.map +1 -0
  123. package/dist/contracts/royalty_pool/deps/sui/vec_map.d.ts +37 -0
  124. package/dist/contracts/royalty_pool/deps/sui/vec_map.d.ts.map +1 -0
  125. package/dist/contracts/royalty_pool/deps/sui/vec_map.js +28 -0
  126. package/dist/contracts/royalty_pool/deps/sui/vec_map.js.map +1 -0
  127. package/dist/contracts/royalty_pool/pool.d.ts +358 -0
  128. package/dist/contracts/royalty_pool/pool.d.ts.map +1 -0
  129. package/dist/contracts/royalty_pool/pool.js +352 -0
  130. package/dist/contracts/royalty_pool/pool.js.map +1 -0
  131. package/dist/contracts/royalty_pool/stake.d.ts +202 -0
  132. package/dist/contracts/royalty_pool/stake.d.ts.map +1 -0
  133. package/dist/contracts/royalty_pool/stake.js +197 -0
  134. package/dist/contracts/royalty_pool/stake.js.map +1 -0
  135. package/dist/contracts/utils/index.d.ts +31 -0
  136. package/dist/contracts/utils/index.d.ts.map +1 -0
  137. package/dist/contracts/utils/index.js +162 -0
  138. package/dist/contracts/utils/index.js.map +1 -0
  139. package/dist/contracts.d.ts +18 -0
  140. package/dist/contracts.d.ts.map +1 -0
  141. package/dist/contracts.js +26 -0
  142. package/dist/contracts.js.map +1 -0
  143. package/dist/cover.d.ts +48 -0
  144. package/dist/cover.d.ts.map +1 -0
  145. package/dist/cover.js +68 -0
  146. package/dist/cover.js.map +1 -0
  147. package/dist/credits.d.ts +171 -0
  148. package/dist/credits.d.ts.map +1 -0
  149. package/dist/credits.js +360 -0
  150. package/dist/credits.js.map +1 -0
  151. package/dist/execute.d.ts +49 -0
  152. package/dist/execute.d.ts.map +1 -0
  153. package/dist/execute.js +114 -0
  154. package/dist/execute.js.map +1 -0
  155. package/dist/extensions/royalty-pool.d.ts +32 -0
  156. package/dist/extensions/royalty-pool.d.ts.map +1 -0
  157. package/dist/extensions/royalty-pool.js +33 -0
  158. package/dist/extensions/royalty-pool.js.map +1 -0
  159. package/dist/index.d.ts +13 -0
  160. package/dist/index.d.ts.map +1 -0
  161. package/dist/index.js +16 -0
  162. package/dist/index.js.map +1 -0
  163. package/dist/internal.d.ts +20 -0
  164. package/dist/internal.d.ts.map +1 -0
  165. package/dist/internal.js +48 -0
  166. package/dist/internal.js.map +1 -0
  167. package/dist/parsers.d.ts +9 -0
  168. package/dist/parsers.d.ts.map +1 -0
  169. package/dist/parsers.js +52 -0
  170. package/dist/parsers.js.map +1 -0
  171. package/dist/queries.d.ts +105 -0
  172. package/dist/queries.d.ts.map +1 -0
  173. package/dist/queries.js +380 -0
  174. package/dist/queries.js.map +1 -0
  175. package/dist/schemas.d.ts +99 -0
  176. package/dist/schemas.d.ts.map +1 -0
  177. package/dist/schemas.js +76 -0
  178. package/dist/schemas.js.map +1 -0
  179. package/dist/transactions.d.ts +158 -0
  180. package/dist/transactions.d.ts.map +1 -0
  181. package/dist/transactions.js +154 -0
  182. package/dist/transactions.js.map +1 -0
  183. package/dist/types.d.ts +204 -0
  184. package/dist/types.d.ts.map +1 -0
  185. package/dist/types.js +4 -0
  186. package/dist/types.js.map +1 -0
  187. package/dist/view.d.ts +21 -0
  188. package/dist/view.d.ts.map +1 -0
  189. package/dist/view.js +36 -0
  190. package/dist/view.js.map +1 -0
  191. package/package.json +111 -0
  192. package/src/client.ts +278 -0
  193. package/src/contracts/composition_credits/composition_credits.ts +169 -0
  194. package/src/contracts/composition_credits/composition_party_role.ts +189 -0
  195. package/src/contracts/composition_credits/deps/miso_credit/credit.ts +27 -0
  196. package/src/contracts/composition_credits/deps/sui/vec_map.ts +33 -0
  197. package/src/contracts/composition_royalty_pool/composition_royalty_pool.ts +135 -0
  198. package/src/contracts/cover_art/cover_art.ts +99 -0
  199. package/src/contracts/cover_art/deps/ori/walrus_data.ts +36 -0
  200. package/src/contracts/miso/composition.ts +343 -0
  201. package/src/contracts/miso/deal.ts +257 -0
  202. package/src/contracts/miso/deps/bps/bps.ts +23 -0
  203. package/src/contracts/miso/recording.ts +298 -0
  204. package/src/contracts/miso/release.ts +392 -0
  205. package/src/contracts/miso/track.ts +153 -0
  206. package/src/contracts/recording_credits/deps/miso_credit/credit.ts +27 -0
  207. package/src/contracts/recording_credits/deps/sui/vec_map.ts +33 -0
  208. package/src/contracts/recording_credits/deps/sui/vec_set.ts +21 -0
  209. package/src/contracts/recording_credits/recording_credits.ts +458 -0
  210. package/src/contracts/recording_credits/recording_party_role.ts +1041 -0
  211. package/src/contracts/recording_royalty_pool/recording_royalty_pool.ts +138 -0
  212. package/src/contracts/release_cover_art/deps/0x340057f2174fb59e4626742dd2b46c662237837b6187450cb59e4976ce7eac78/walrus_data.ts +36 -0
  213. package/src/contracts/release_cover_art/deps/cover_art/cover_art.ts +23 -0
  214. package/src/contracts/release_cover_art/deps/per_track/per_track.ts +36 -0
  215. package/src/contracts/release_cover_art/release_cover_art.ts +251 -0
  216. package/src/contracts/release_credits/deps/miso_credit/credit.ts +27 -0
  217. package/src/contracts/release_credits/deps/sui/vec_map.ts +33 -0
  218. package/src/contracts/release_credits/release_credits.ts +156 -0
  219. package/src/contracts/release_credits/release_party_role.ts +87 -0
  220. package/src/contracts/royalty_pool/deps/std/type_name.ts +22 -0
  221. package/src/contracts/royalty_pool/deps/sui/balance.ts +17 -0
  222. package/src/contracts/royalty_pool/deps/sui/vec_map.ts +33 -0
  223. package/src/contracts/royalty_pool/pool.ts +577 -0
  224. package/src/contracts/royalty_pool/stake.ts +317 -0
  225. package/src/contracts/utils/index.ts +229 -0
  226. package/src/contracts.ts +30 -0
  227. package/src/cover.ts +136 -0
  228. package/src/credits.ts +645 -0
  229. package/src/execute.ts +141 -0
  230. package/src/extensions/royalty-pool.ts +85 -0
  231. package/src/index.ts +17 -0
  232. package/src/internal.ts +85 -0
  233. package/src/parsers.ts +80 -0
  234. package/src/queries.ts +478 -0
  235. package/src/schemas.ts +96 -0
  236. package/src/transactions.ts +290 -0
  237. package/src/types.ts +244 -0
  238. package/src/view.ts +59 -0
@@ -0,0 +1,197 @@
1
+ import type { ClientWithCoreApi, SuiClientRegistration } from "@mysten/sui/client";
2
+ import type { SuiGraphQLClient } from "@mysten/sui/graphql";
3
+ import type { TxThunk } from "./transactions.ts";
4
+ import * as parsers from "./parsers.ts";
5
+ import * as transactions from "./transactions.ts";
6
+ import * as view from "./view.ts";
7
+ import type { Composition, CompositionAdminCap, Deal, Recording, RecordingAdminCap, Release, ReleaseAdminCap } from "./types.ts";
8
+ import * as composition from "./contracts/miso/composition.ts";
9
+ import * as recording from "./contracts/miso/recording.ts";
10
+ import * as release from "./contracts/miso/release.ts";
11
+ import * as deal from "./contracts/miso/deal.ts";
12
+ import * as track from "./contracts/miso/track.ts";
13
+ export interface MisoOptions<Name extends string = "miso"> {
14
+ /** Name for the client extension. Defaults to "miso". */
15
+ name?: Name;
16
+ /** The Miso package ID. Required for type-based queries and derivation. */
17
+ misoPackageId: string;
18
+ /**
19
+ * The `ReleaseRegistry` object ID for this deployment.
20
+ *
21
+ * Created once in `release::init` and shared, so it is FIXED for the lifetime
22
+ * of a published package — deployment config, not runtime state. Supply it
23
+ * (alongside `misoPackageId`, from the same deployment manifest) and
24
+ * `getReleaseRegistry()` needs no network call at all. Omit it and the SDK
25
+ * falls back to a GraphQL scan, which is why this is worth configuring.
26
+ */
27
+ releaseRegistryId?: string;
28
+ /**
29
+ * Optional GraphQL client, required ONLY for the global type-discovery reads
30
+ * the Core API cannot express: `getCompositionByShareType`,
31
+ * `getRecordingByShareType`, and `getReleaseRegistry` when
32
+ * `releaseRegistryId` is not configured. Everything else — including every
33
+ * `getOwned*AdminCaps` — goes over the Core API.
34
+ */
35
+ graphqlClient?: SuiGraphQLClient;
36
+ }
37
+ /**
38
+ * Creates a Miso client extension for use with `$extend()`.
39
+ *
40
+ * @example
41
+ * ```ts
42
+ * const client = new SuiGrpcClient({ network: 'testnet' })
43
+ * .$extend(miso({ misoPackageId: '0x...' }));
44
+ * const composition = await client.miso.getCompositionById('0x...');
45
+ * ```
46
+ */
47
+ export declare function miso<const Name extends string = "miso">(options: MisoOptions<Name>): SuiClientRegistration<ClientWithCoreApi, Name, MisoClient>;
48
+ export declare class MisoClient {
49
+ #private;
50
+ constructor(client: ClientWithCoreApi, options: Omit<MisoOptions, "name">);
51
+ getCompositionById(compositionId: string): Promise<Composition>;
52
+ getCompositionsByIds(ids: string[]): Promise<Record<string, Composition>>;
53
+ getCompositionShareType(compositionId: string): Promise<string>;
54
+ getCompositionByShareType(shareType: string): Promise<Composition>;
55
+ getCompositionAdminCapById(adminCapId: string): Promise<CompositionAdminCap>;
56
+ getOwnedCompositionAdminCaps(owner: string): Promise<CompositionAdminCap[]>;
57
+ deriveCompositionAdminCapId(compositionId: string): string;
58
+ getRecordingById(recordingId: string): Promise<Recording>;
59
+ getRecordingsByIds(ids: string[]): Promise<Record<string, Recording>>;
60
+ getRecordingShareType(recordingId: string): Promise<string>;
61
+ getRecordingByShareType(shareType: string): Promise<Recording>;
62
+ getRecordingAdminCapById(adminCapId: string): Promise<RecordingAdminCap>;
63
+ getOwnedRecordingAdminCaps(owner: string): Promise<RecordingAdminCap[]>;
64
+ deriveRecordingAdminCapId(recordingId: string): string;
65
+ getDealById(dealId: string): Promise<Deal>;
66
+ getReleaseById(releaseId: string): Promise<Release>;
67
+ getReleasesByIds(ids: string[]): Promise<Record<string, Release>>;
68
+ getReleaseAdminCapById(adminCapId: string): Promise<ReleaseAdminCap>;
69
+ deriveReleaseAdminCapId(releaseId: string): string;
70
+ getOwnedReleaseAdminCaps(owner: string): Promise<ReleaseAdminCap[]>;
71
+ /**
72
+ * The deployment's `ReleaseRegistry` object ID.
73
+ *
74
+ * Returns the configured `releaseRegistryId` with no network call. Only when
75
+ * it was not configured does this fall back to a GraphQL scan — a one-time
76
+ * bootstrap for a fresh deployment whose id you have not recorded yet. Prefer
77
+ * configuring it: the registry is created once in `release::init` and never
78
+ * changes, so scanning for it on every call is pure overhead.
79
+ */
80
+ getReleaseRegistry(): Promise<string>;
81
+ getShareCurrencyType(shareCurrencyId: string): Promise<string>;
82
+ /**
83
+ * The `TreasuryCap<shareType>` owned by `owner`. Takes the share TYPE — if you
84
+ * hold only the `Currency` object id, resolve it first with
85
+ * {@link getShareCurrencyType}.
86
+ */
87
+ getShareCurrencyTreasuryCap(shareType: string, owner: string): Promise<string>;
88
+ get tx(): {
89
+ rejectDeal: (params: Omit<transactions.RejectDealParams, "misoPackageId">) => TxThunk;
90
+ };
91
+ get view(): {
92
+ deriveReleaseId: (params: view.DeriveReleaseIdParams) => Promise<string>;
93
+ };
94
+ get call(): {
95
+ composition: typeof composition;
96
+ recording: typeof recording;
97
+ release: typeof release;
98
+ deal: typeof deal;
99
+ track: typeof track;
100
+ };
101
+ get bcs(): {
102
+ Composition: import("./contracts/utils/index.ts").MoveStruct<{
103
+ id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
104
+ state: import("./contracts/utils/index.ts").MoveEnum<{
105
+ Initialized: null;
106
+ Published: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
107
+ }, "@local-pkg/miso::composition::CompositionState">;
108
+ title: import("@mysten/bcs").BcsType<string, string, "string">;
109
+ royalty_rate: import("./contracts/utils/index.ts").MoveTuple<readonly [import("@mysten/bcs").BcsType<number, number, "u16">], "bps::bps::BPS">;
110
+ }, "@local-pkg/miso::composition::Composition<phantom CompositionShare>">;
111
+ Recording: import("./contracts/utils/index.ts").MoveStruct<{
112
+ id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
113
+ state: import("./contracts/utils/index.ts").MoveEnum<{
114
+ Initialized: null;
115
+ Published: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
116
+ }, "@local-pkg/miso::recording::RecordingState">;
117
+ }, "@local-pkg/miso::recording::Recording<phantom RecordingShare, phantom CompositionShare>">;
118
+ Release: import("./contracts/utils/index.ts").MoveStruct<{
119
+ id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
120
+ state: import("./contracts/utils/index.ts").MoveEnum<{
121
+ Initialized: null;
122
+ Published: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
123
+ }, "@local-pkg/miso::release::ReleaseState">;
124
+ title: import("@mysten/bcs").BcsType<string, string, "string">;
125
+ tracks: import("@mysten/bcs").BcsType<{
126
+ state: import("@mysten/bcs").EnumOutputShapeWithKeys<{
127
+ Unassigned: string;
128
+ Assigned: true;
129
+ }, "Unassigned" | "Assigned">;
130
+ recording_id: string;
131
+ split_bps: [number];
132
+ }[], Iterable<{
133
+ state: import("@mysten/bcs").EnumInputShape<{
134
+ Unassigned: string | Uint8Array<ArrayBufferLike>;
135
+ Assigned: boolean | object | null;
136
+ }>;
137
+ recording_id: string | Uint8Array<ArrayBufferLike>;
138
+ split_bps: readonly [number];
139
+ }> & {
140
+ length: number;
141
+ }, string>;
142
+ }, "@local-pkg/miso::release::Release">;
143
+ Deal: import("./contracts/utils/index.ts").MoveStruct<{
144
+ id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
145
+ release_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
146
+ track_split_bps: import("./contracts/utils/index.ts").MoveTuple<readonly [import("@mysten/bcs").BcsType<number, number, "u16">], "bps::bps::BPS">;
147
+ }, "@local-pkg/miso::deal::Deal<phantom RecordingShare, phantom CompositionShare>">;
148
+ Track: import("./contracts/utils/index.ts").MoveStruct<{
149
+ state: import("./contracts/utils/index.ts").MoveEnum<{
150
+ Unassigned: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
151
+ Assigned: null;
152
+ }, "@local-pkg/miso::track::TrackState">;
153
+ recording_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
154
+ split_bps: import("./contracts/utils/index.ts").MoveTuple<readonly [import("@mysten/bcs").BcsType<number, number, "u16">], "bps::bps::BPS">;
155
+ }, "@local-pkg/miso::track::Track">;
156
+ CompositionPublishedEvent: import("./contracts/utils/index.ts").MoveStruct<{
157
+ composition_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
158
+ }, "@local-pkg/miso::composition::CompositionPublishedEvent<phantom CompositionShare>">;
159
+ CompositionRoyaltySetEvent: import("./contracts/utils/index.ts").MoveStruct<{
160
+ composition_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
161
+ previous_royalty_rate_bps: import("@mysten/bcs").BcsType<number, number, "u16">;
162
+ royalty_rate_bps: import("@mysten/bcs").BcsType<number, number, "u16">;
163
+ changed_by: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
164
+ }, "@local-pkg/miso::composition::CompositionRoyaltySetEvent<phantom CompositionShare>">;
165
+ RecordingPublishedEvent: import("./contracts/utils/index.ts").MoveStruct<{
166
+ recording_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
167
+ }, "@local-pkg/miso::recording::RecordingPublishedEvent<phantom RecordingShare, phantom CompositionShare>">;
168
+ ReleasePublishedEvent: import("./contracts/utils/index.ts").MoveStruct<{
169
+ release_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
170
+ }, "@local-pkg/miso::release::ReleasePublishedEvent">;
171
+ DealCreatedEvent: import("./contracts/utils/index.ts").MoveStruct<{
172
+ deal_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
173
+ recording_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
174
+ release_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
175
+ track_split_bps_value: import("@mysten/bcs").BcsType<number, number, "u16">;
176
+ created_by: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
177
+ }, "@local-pkg/miso::deal::DealCreatedEvent<phantom RecordingShare, phantom CompositionShare>">;
178
+ DealAcceptedEvent: import("./contracts/utils/index.ts").MoveStruct<{
179
+ deal_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
180
+ release_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
181
+ }, "@local-pkg/miso::deal::DealAcceptedEvent<phantom RecordingShare, phantom CompositionShare>">;
182
+ DealRejectedEvent: import("./contracts/utils/index.ts").MoveStruct<{
183
+ deal_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
184
+ release_id: import("@mysten/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
185
+ }, "@local-pkg/miso::deal::DealRejectedEvent<phantom RecordingShare, phantom CompositionShare>">;
186
+ };
187
+ get parse(): {
188
+ compositionPublishedEvent: typeof parsers.parseCompositionPublishedEvent;
189
+ compositionRoyaltySetEvent: typeof parsers.parseCompositionRoyaltySetEvent;
190
+ recordingPublishedEvent: typeof parsers.parseRecordingPublishedEvent;
191
+ releasePublishedEvent: typeof parsers.parseReleasePublishedEvent;
192
+ dealCreatedEvent: typeof parsers.parseDealCreatedEvent;
193
+ dealAcceptedEvent: typeof parsers.parseDealAcceptedEvent;
194
+ dealRejectedEvent: typeof parsers.parseDealRejectedEvent;
195
+ };
196
+ }
197
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js ADDED
@@ -0,0 +1,218 @@
1
+ // Copyright (c) Miso Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import * as parsers from "./parsers.js";
4
+ import * as queries from "./queries.js";
5
+ import * as transactions from "./transactions.js";
6
+ import * as view from "./view.js";
7
+ // Generated call modules (type-safe Move calls) and BCS structs.
8
+ import * as composition from "./contracts/miso/composition.js";
9
+ import * as recording from "./contracts/miso/recording.js";
10
+ import * as release from "./contracts/miso/release.js";
11
+ import * as deal from "./contracts/miso/deal.js";
12
+ 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
+ /** Defaults `options.package` to `pkg` for every call-function in a generated module. */
22
+ function bindModulePackage(mod, pkg) {
23
+ const out = {};
24
+ for (const [key, value] of Object.entries({ ...mod })) {
25
+ out[key] =
26
+ typeof value === "function"
27
+ ? (options) => value({ package: pkg, ...options })
28
+ : value;
29
+ }
30
+ return out;
31
+ }
32
+ /**
33
+ * Creates a Miso client extension for use with `$extend()`.
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * const client = new SuiGrpcClient({ network: 'testnet' })
38
+ * .$extend(miso({ misoPackageId: '0x...' }));
39
+ * const composition = await client.miso.getCompositionById('0x...');
40
+ * ```
41
+ */
42
+ export function miso(options) {
43
+ const name = (options.name ?? "miso");
44
+ return {
45
+ name,
46
+ register: (client) => new MisoClient(client, options),
47
+ };
48
+ }
49
+ export class MisoClient {
50
+ #client;
51
+ #graphqlClient;
52
+ #misoPackageId;
53
+ #releaseRegistryId;
54
+ constructor(client, options) {
55
+ this.#client = client;
56
+ this.#graphqlClient = options.graphqlClient;
57
+ this.#misoPackageId = options.misoPackageId;
58
+ this.#releaseRegistryId = options.releaseRegistryId;
59
+ }
60
+ // === Composition ===
61
+ async getCompositionById(compositionId) {
62
+ return queries.getCompositionById(this.#client, compositionId);
63
+ }
64
+ async getCompositionsByIds(ids) {
65
+ return queries.getCompositionsByIds(this.#client, ids);
66
+ }
67
+ async getCompositionShareType(compositionId) {
68
+ return queries.getCompositionShareType(this.#client, compositionId);
69
+ }
70
+ async getCompositionByShareType(shareType) {
71
+ return queries.getCompositionByShareType(this.#client, this.#requireGraphQL(), shareType, this.#misoPackageId);
72
+ }
73
+ async getCompositionAdminCapById(adminCapId) {
74
+ return queries.getCompositionAdminCapById(this.#client, adminCapId);
75
+ }
76
+ async getOwnedCompositionAdminCaps(owner) {
77
+ return queries.getOwnedCompositionAdminCaps(this.#client, owner, this.#misoPackageId);
78
+ }
79
+ deriveCompositionAdminCapId(compositionId) {
80
+ return queries.deriveCompositionAdminCapId(compositionId, this.#misoPackageId);
81
+ }
82
+ // === Recording ===
83
+ async getRecordingById(recordingId) {
84
+ return queries.getRecordingById(this.#client, recordingId);
85
+ }
86
+ async getRecordingsByIds(ids) {
87
+ return queries.getRecordingsByIds(this.#client, ids);
88
+ }
89
+ async getRecordingShareType(recordingId) {
90
+ return queries.getRecordingShareType(this.#client, recordingId);
91
+ }
92
+ async getRecordingByShareType(shareType) {
93
+ return queries.getRecordingByShareType(this.#client, this.#requireGraphQL(), shareType, this.#misoPackageId);
94
+ }
95
+ async getRecordingAdminCapById(adminCapId) {
96
+ return queries.getRecordingAdminCapById(this.#client, adminCapId);
97
+ }
98
+ async getOwnedRecordingAdminCaps(owner) {
99
+ return queries.getOwnedRecordingAdminCaps(this.#client, owner, this.#misoPackageId);
100
+ }
101
+ deriveRecordingAdminCapId(recordingId) {
102
+ return queries.deriveRecordingAdminCapId(recordingId, this.#misoPackageId);
103
+ }
104
+ // === Deal ===
105
+ async getDealById(dealId) {
106
+ return queries.getDealById(this.#client, dealId);
107
+ }
108
+ // === Release ===
109
+ async getReleaseById(releaseId) {
110
+ return queries.getReleaseById(this.#client, releaseId);
111
+ }
112
+ async getReleasesByIds(ids) {
113
+ return queries.getReleasesByIds(this.#client, ids);
114
+ }
115
+ async getReleaseAdminCapById(adminCapId) {
116
+ return queries.getReleaseAdminCapById(this.#client, adminCapId);
117
+ }
118
+ deriveReleaseAdminCapId(releaseId) {
119
+ return queries.deriveReleaseAdminCapId(releaseId, this.#misoPackageId);
120
+ }
121
+ async getOwnedReleaseAdminCaps(owner) {
122
+ return queries.getOwnedReleaseAdminCaps(this.#client, owner, this.#misoPackageId);
123
+ }
124
+ /**
125
+ * The deployment's `ReleaseRegistry` object ID.
126
+ *
127
+ * Returns the configured `releaseRegistryId` with no network call. Only when
128
+ * it was not configured does this fall back to a GraphQL scan — a one-time
129
+ * bootstrap for a fresh deployment whose id you have not recorded yet. Prefer
130
+ * configuring it: the registry is created once in `release::init` and never
131
+ * changes, so scanning for it on every call is pure overhead.
132
+ */
133
+ async getReleaseRegistry() {
134
+ if (this.#releaseRegistryId)
135
+ return this.#releaseRegistryId;
136
+ return queries.getReleaseRegistry(this.#requireGraphQL(), this.#misoPackageId);
137
+ }
138
+ // === Share Currency ===
139
+ async getShareCurrencyType(shareCurrencyId) {
140
+ return queries.getShareCurrencyType(this.#client, shareCurrencyId);
141
+ }
142
+ /**
143
+ * The `TreasuryCap<shareType>` owned by `owner`. Takes the share TYPE — if you
144
+ * hold only the `Currency` object id, resolve it first with
145
+ * {@link getShareCurrencyType}.
146
+ */
147
+ async getShareCurrencyTreasuryCap(shareType, owner) {
148
+ return queries.getShareCurrencyTreasuryCap(this.#client, shareType, owner);
149
+ }
150
+ // === Transaction builders (thunks) ===
151
+ // Only the `(params) => TxThunk` builders bind here. The primitives that take
152
+ // a `Transaction` directly and return values (`createComposition`,
153
+ // `createRecording`, `createRelease`, `createDeal`) are free functions by
154
+ // design — they thread results into a caller-owned PTB, so there is nothing
155
+ // to bind. Import them from the package root and pass `misoPackageId`
156
+ // explicitly.
157
+ get tx() {
158
+ const miso = this.#misoPackageId;
159
+ return {
160
+ rejectDeal: bindPackages(transactions.rejectDeal, miso),
161
+ };
162
+ }
163
+ // === Simulate-based reads (view) ===
164
+ get view() {
165
+ const client = this.#client;
166
+ const misoPackageId = this.#misoPackageId;
167
+ return {
168
+ deriveReleaseId: (params) => view.deriveReleaseId(client, misoPackageId, params),
169
+ };
170
+ }
171
+ // === Generated type-safe Move calls (for tx.add) ===
172
+ get call() {
173
+ const pkg = this.#misoPackageId;
174
+ return {
175
+ composition: bindModulePackage(composition, pkg),
176
+ recording: bindModulePackage(recording, pkg),
177
+ release: bindModulePackage(release, pkg),
178
+ deal: bindModulePackage(deal, pkg),
179
+ track: bindModulePackage(track, pkg),
180
+ };
181
+ }
182
+ // === Generated BCS structs (for parsing object/event content) ===
183
+ get bcs() {
184
+ return {
185
+ Composition: composition.Composition,
186
+ Recording: recording.Recording,
187
+ Release: release.Release,
188
+ Deal: deal.Deal,
189
+ Track: track.Track,
190
+ CompositionPublishedEvent: composition.CompositionPublishedEvent,
191
+ CompositionRoyaltySetEvent: composition.CompositionRoyaltySetEvent,
192
+ RecordingPublishedEvent: recording.RecordingPublishedEvent,
193
+ ReleasePublishedEvent: release.ReleasePublishedEvent,
194
+ DealCreatedEvent: deal.DealCreatedEvent,
195
+ DealAcceptedEvent: deal.DealAcceptedEvent,
196
+ DealRejectedEvent: deal.DealRejectedEvent,
197
+ };
198
+ }
199
+ // === Event parsers ===
200
+ get parse() {
201
+ return {
202
+ compositionPublishedEvent: parsers.parseCompositionPublishedEvent,
203
+ compositionRoyaltySetEvent: parsers.parseCompositionRoyaltySetEvent,
204
+ recordingPublishedEvent: parsers.parseRecordingPublishedEvent,
205
+ releasePublishedEvent: parsers.parseReleasePublishedEvent,
206
+ dealCreatedEvent: parsers.parseDealCreatedEvent,
207
+ dealAcceptedEvent: parsers.parseDealAcceptedEvent,
208
+ dealRejectedEvent: parsers.parseDealRejectedEvent,
209
+ };
210
+ }
211
+ #requireGraphQL() {
212
+ if (!this.#graphqlClient) {
213
+ throw new Error("GraphQL client required. Pass graphqlClient to miso() options.");
214
+ }
215
+ return this.#graphqlClient;
216
+ }
217
+ }
218
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,181 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ /**
5
+ * First-party credits extension for compositions.
6
+ *
7
+ * Attribution (writing credits) is display-oriented and varies across platforms,
8
+ * so it lives here as a dynamic field on the composition rather than in immutable
9
+ * core. The data is attached under `ExtensionKey()` via the composition's
10
+ * cap-gated `uid_mut`, so every mutation is authorized by the composition's admin
11
+ * and credits survive into any lifecycle state (they may be attached before or
12
+ * after the composition is published).
13
+ *
14
+ * This is Miso's canonical credits standard; because it is an extension, other
15
+ * parties may publish their own composition-credits standard against the same
16
+ * `Composition`. Credits are NOT read by the economics — they are attribution.
17
+ */
18
+ import { MoveTuple, MoveStruct, type RawTransactionArgument } from '../utils/index.js';
19
+ import { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';
20
+ export declare const ExtensionKey: MoveTuple<readonly [import("@mysten/sui/bcs").BcsType<boolean, boolean, "bool">], "@local-pkg/composition_credits::composition_credits::ExtensionKey">;
21
+ export declare const CompositionCredits: MoveStruct<{
22
+ /** Map of party IDs to their credit (display name + roles). */
23
+ credits: MoveStruct<{
24
+ contents: import("@mysten/sui/bcs").BcsType<{
25
+ key: string;
26
+ value: {
27
+ display_name: string;
28
+ roles: import("@mysten/bcs").EnumOutputShapeWithKeys<{
29
+ Adapter: true;
30
+ Arranger: true;
31
+ Composer: true;
32
+ Lyricist: true;
33
+ Songwriter: true;
34
+ Translator: true;
35
+ Custom: string;
36
+ }, "Adapter" | "Arranger" | "Composer" | "Lyricist" | "Songwriter" | "Translator" | "Custom">[];
37
+ };
38
+ }[], Iterable<{
39
+ key: string | Uint8Array<ArrayBufferLike>;
40
+ value: {
41
+ display_name: string;
42
+ roles: Iterable<import("@mysten/bcs").EnumInputShape<{
43
+ Adapter: boolean | object | null;
44
+ Arranger: boolean | object | null;
45
+ Composer: boolean | object | null;
46
+ Lyricist: boolean | object | null;
47
+ Songwriter: boolean | object | null;
48
+ Translator: boolean | object | null;
49
+ Custom: string;
50
+ }>> & {
51
+ length: number;
52
+ };
53
+ };
54
+ }> & {
55
+ length: number;
56
+ }, string>;
57
+ }, "0x2::vec_map::VecMap<bytes[32], miso_credit::credit::Credit<@local-pkg/composition_credits::composition_party_role::CompositionPartyRole>>">;
58
+ }, "@local-pkg/composition_credits::composition_credits::CompositionCredits">;
59
+ export declare const CreditAddedEvent: MoveStruct<{
60
+ composition_id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
61
+ party_id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
62
+ credit: MoveStruct<{
63
+ display_name: import("@mysten/sui/bcs").BcsType<string, string, "string">;
64
+ roles: import("@mysten/sui/bcs").BcsType<import("@mysten/bcs").EnumOutputShapeWithKeys<{
65
+ Adapter: true;
66
+ Arranger: true;
67
+ Composer: true;
68
+ Lyricist: true;
69
+ Songwriter: true;
70
+ Translator: true;
71
+ Custom: string;
72
+ }, "Adapter" | "Arranger" | "Composer" | "Lyricist" | "Songwriter" | "Translator" | "Custom">[], Iterable<import("@mysten/bcs").EnumInputShape<{
73
+ Adapter: boolean | object | null;
74
+ Arranger: boolean | object | null;
75
+ Composer: boolean | object | null;
76
+ Lyricist: boolean | object | null;
77
+ Songwriter: boolean | object | null;
78
+ Translator: boolean | object | null;
79
+ Custom: string;
80
+ }>> & {
81
+ length: number;
82
+ }, string>;
83
+ }, "miso_credit::credit::Credit<@local-pkg/composition_credits::composition_party_role::CompositionPartyRole>">;
84
+ }, "@local-pkg/composition_credits::composition_credits::CreditAddedEvent">;
85
+ export declare const CreditRemovedEvent: MoveStruct<{
86
+ composition_id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
87
+ party_id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
88
+ credit: MoveStruct<{
89
+ display_name: import("@mysten/sui/bcs").BcsType<string, string, "string">;
90
+ roles: import("@mysten/sui/bcs").BcsType<import("@mysten/bcs").EnumOutputShapeWithKeys<{
91
+ Adapter: true;
92
+ Arranger: true;
93
+ Composer: true;
94
+ Lyricist: true;
95
+ Songwriter: true;
96
+ Translator: true;
97
+ Custom: string;
98
+ }, "Adapter" | "Arranger" | "Composer" | "Lyricist" | "Songwriter" | "Translator" | "Custom">[], Iterable<import("@mysten/bcs").EnumInputShape<{
99
+ Adapter: boolean | object | null;
100
+ Arranger: boolean | object | null;
101
+ Composer: boolean | object | null;
102
+ Lyricist: boolean | object | null;
103
+ Songwriter: boolean | object | null;
104
+ Translator: boolean | object | null;
105
+ Custom: string;
106
+ }>> & {
107
+ length: number;
108
+ }, string>;
109
+ }, "miso_credit::credit::Credit<@local-pkg/composition_credits::composition_party_role::CompositionPartyRole>">;
110
+ }, "@local-pkg/composition_credits::composition_credits::CreditRemovedEvent">;
111
+ export interface AddCreditArguments {
112
+ self: RawTransactionArgument<string>;
113
+ cap: RawTransactionArgument<string>;
114
+ party: RawTransactionArgument<string>;
115
+ credit: TransactionArgument;
116
+ }
117
+ export interface AddCreditOptions {
118
+ package?: string;
119
+ arguments: AddCreditArguments | [
120
+ self: RawTransactionArgument<string>,
121
+ cap: RawTransactionArgument<string>,
122
+ party: RawTransactionArgument<string>,
123
+ credit: TransactionArgument
124
+ ];
125
+ typeArguments: [
126
+ string
127
+ ];
128
+ }
129
+ /**
130
+ * Adds a credit for a party on the composition, lazily creating the credits record
131
+ * on first use. Each credit must have 1-5 roles, and a party may hold at most one
132
+ * credit. Requires the composition's admin capability.
133
+ */
134
+ export declare function addCredit(options: AddCreditOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
135
+ export interface RemoveCreditArguments {
136
+ self: RawTransactionArgument<string>;
137
+ cap: RawTransactionArgument<string>;
138
+ partyId: RawTransactionArgument<string>;
139
+ }
140
+ export interface RemoveCreditOptions {
141
+ package?: string;
142
+ arguments: RemoveCreditArguments | [
143
+ self: RawTransactionArgument<string>,
144
+ cap: RawTransactionArgument<string>,
145
+ partyId: RawTransactionArgument<string>
146
+ ];
147
+ typeArguments: [
148
+ string
149
+ ];
150
+ }
151
+ /** Removes a party's credit. Requires the composition's admin capability. */
152
+ export declare function removeCredit(options: RemoveCreditOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
153
+ export interface HasCreditsArguments {
154
+ self: RawTransactionArgument<string>;
155
+ }
156
+ export interface HasCreditsOptions {
157
+ package?: string;
158
+ arguments: HasCreditsArguments | [
159
+ self: RawTransactionArgument<string>
160
+ ];
161
+ typeArguments: [
162
+ string
163
+ ];
164
+ }
165
+ /** Returns whether a credits record has been attached to this composition yet. */
166
+ export declare function hasCredits(options: HasCreditsOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
167
+ export interface CreditsArguments {
168
+ self: RawTransactionArgument<string>;
169
+ }
170
+ export interface CreditsOptions {
171
+ package?: string;
172
+ arguments: CreditsArguments | [
173
+ self: RawTransactionArgument<string>
174
+ ];
175
+ typeArguments: [
176
+ string
177
+ ];
178
+ }
179
+ /** Returns the party-to-credit map. Aborts if no credits are attached. */
180
+ export declare function credits(options: CreditsOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
181
+ //# sourceMappingURL=composition_credits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composition_credits.d.ts","sourceRoot":"","sources":["../../../src/contracts/composition_credits/composition_credits.ts"],"names":[],"mappings":"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"}