@misofm/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 (78) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +248 -0
  3. package/dist/catalog.d.ts +31 -0
  4. package/dist/catalog.d.ts.map +1 -0
  5. package/dist/catalog.js +45 -0
  6. package/dist/catalog.js.map +1 -0
  7. package/dist/client.d.ts +134 -0
  8. package/dist/client.d.ts.map +1 -0
  9. package/dist/client.js +113 -0
  10. package/dist/client.js.map +1 -0
  11. package/dist/contracts/miso_pressing/certificate.d.ts +78 -0
  12. package/dist/contracts/miso_pressing/certificate.d.ts.map +1 -0
  13. package/dist/contracts/miso_pressing/certificate.js +91 -0
  14. package/dist/contracts/miso_pressing/certificate.js.map +1 -0
  15. package/dist/contracts/miso_pressing/deps/std/type_name.d.ts +18 -0
  16. package/dist/contracts/miso_pressing/deps/std/type_name.d.ts.map +1 -0
  17. package/dist/contracts/miso_pressing/deps/std/type_name.js +20 -0
  18. package/dist/contracts/miso_pressing/deps/std/type_name.js.map +1 -0
  19. package/dist/contracts/miso_pressing/listing.d.ts +449 -0
  20. package/dist/contracts/miso_pressing/listing.d.ts.map +1 -0
  21. package/dist/contracts/miso_pressing/listing.js +416 -0
  22. package/dist/contracts/miso_pressing/listing.js.map +1 -0
  23. package/dist/contracts/miso_pressing/pressing.d.ts +365 -0
  24. package/dist/contracts/miso_pressing/pressing.d.ts.map +1 -0
  25. package/dist/contracts/miso_pressing/pressing.js +335 -0
  26. package/dist/contracts/miso_pressing/pressing.js.map +1 -0
  27. package/dist/contracts/utils/index.d.ts +31 -0
  28. package/dist/contracts/utils/index.d.ts.map +1 -0
  29. package/dist/contracts/utils/index.js +162 -0
  30. package/dist/contracts/utils/index.js.map +1 -0
  31. package/dist/execute.d.ts +17 -0
  32. package/dist/execute.d.ts.map +1 -0
  33. package/dist/execute.js +21 -0
  34. package/dist/execute.js.map +1 -0
  35. package/dist/index.d.ts +10 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +27 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/pressing.d.ts +223 -0
  40. package/dist/pressing.d.ts.map +1 -0
  41. package/dist/pressing.js +280 -0
  42. package/dist/pressing.js.map +1 -0
  43. package/dist/queries.d.ts +2 -0
  44. package/dist/queries.d.ts.map +1 -0
  45. package/dist/queries.js +8 -0
  46. package/dist/queries.js.map +1 -0
  47. package/dist/release-graph.d.ts +93 -0
  48. package/dist/release-graph.d.ts.map +1 -0
  49. package/dist/release-graph.js +143 -0
  50. package/dist/release-graph.js.map +1 -0
  51. package/dist/share-template.d.ts +3 -0
  52. package/dist/share-template.d.ts.map +1 -0
  53. package/dist/share-template.js +46 -0
  54. package/dist/share-template.js.map +1 -0
  55. package/dist/share.d.ts +66 -0
  56. package/dist/share.d.ts.map +1 -0
  57. package/dist/share.js +156 -0
  58. package/dist/share.js.map +1 -0
  59. package/dist/transactions.d.ts +177 -0
  60. package/dist/transactions.d.ts.map +1 -0
  61. package/dist/transactions.js +237 -0
  62. package/dist/transactions.js.map +1 -0
  63. package/package.json +99 -0
  64. package/src/catalog.ts +77 -0
  65. package/src/client.ts +249 -0
  66. package/src/contracts/miso_pressing/certificate.ts +129 -0
  67. package/src/contracts/miso_pressing/deps/std/type_name.ts +22 -0
  68. package/src/contracts/miso_pressing/listing.ts +621 -0
  69. package/src/contracts/miso_pressing/pressing.ts +454 -0
  70. package/src/contracts/utils/index.ts +229 -0
  71. package/src/execute.ts +34 -0
  72. package/src/index.ts +29 -0
  73. package/src/pressing.ts +497 -0
  74. package/src/queries.ts +9 -0
  75. package/src/release-graph.ts +279 -0
  76. package/src/share-template.ts +55 -0
  77. package/src/share.ts +258 -0
  78. package/src/transactions.ts +440 -0
@@ -0,0 +1,365 @@
1
+ /**************************************************************
2
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
3
+ **************************************************************/
4
+ /**
5
+ * A release's record production — its _Pressing_.
6
+ *
7
+ * A release has exactly one pressing, and the pressing is one uncapped run of
8
+ * records: every copy ever made draws its number from this single counter,
9
+ * forever. There are no editions, no supply caps, and no sold-out state — scarcity
10
+ * on Miso is what a record _accrues_ (playtime above all), not how few of it were
11
+ * printed. The pressing owns two things and only two things: the **run** the
12
+ * records number against, and the **switch** that stops it.
13
+ *
14
+ * ```text
15
+ * Release
16
+ * └─ Pressing the run, and when it sells at all PressingKey()
17
+ * ├─ PressingAdminCap authority over price and state PressingAdminCapKey()
18
+ * ├─ Listing<SUI> what it costs in one currency ListingKey<SUI>()
19
+ * └─ Listing<USDC>
20
+ * ```
21
+ *
22
+ * # Everything is address math
23
+ *
24
+ * A pressing's UID is derived off its release's UID at a singleton key, its admin
25
+ * cap's and each listing's off the pressing's, and records off the pressing's at
26
+ * their number. So every object in the tree is reachable from the release id
27
+ * alone, by pure computation — no registry, no pointer that has to be maintained,
28
+ * and no stored set of listings: a listing either exists at its derived address or
29
+ * it does not (`listing::has_listing`), and `ListingOpenedEvent<Currency>`
30
+ * enumerates them for an indexer. It also makes the number sequence gap-free for
31
+ * free, and every record verifiable against its pressing from chain state alone
32
+ * (`verify_record`).
33
+ *
34
+ * # Starting and stopping is state, never teardown
35
+ *
36
+ * Nothing here is ever destroyed, sealed, or wound down — deleting a pressing
37
+ * would strand its whole derived subtree, so there is no destructor at all. The
38
+ * run's lifecycle is `Scheduled → Active → Paused → Active`: it opens itself at
39
+ * its drop moment (no artist transaction, and nobody can buy early), and after
40
+ * that the artist stops and starts it at will. The first transition is real, not
41
+ * computed — the first sale past the start rewrites `Scheduled` to `Active` inside
42
+ * `mint_next`, which is why `Scheduled` only ever describes a run still waiting.
43
+ * Below it, each listing's `Enabled | Disabled` governs one currency. A run that
44
+ * is paused or not yet open sells in no currency, whatever the listings say.
45
+ *
46
+ * There is no end state and no expiry: an uncapped, permanent run has nothing to
47
+ * count down to, and a time-limited sale is scarcity theater this design rejects.
48
+ * An artist ending a campaign pauses it.
49
+ *
50
+ * # Authority
51
+ *
52
+ * Opening a pressing needs the release's `ReleaseAdminCap`, enforced by the
53
+ * protocol's `release::uid_mut`, and hands back a `PressingAdminCap`. Everything
54
+ * after that — pricing, pausing, opening listings — authorizes against the
55
+ * pressing cap alone.
56
+ *
57
+ * The split is deliberate and it is about money, not tidiness. `ReleaseAdminCap`
58
+ * yields `release::uid_mut`, and `balance::withdraw_funds_from_object` is gated on
59
+ * `&mut UID` alone — so the release cap can withdraw the sales revenue that `buy`
60
+ * forwards to the release's address. Under one cap, "may reprice a listing" and
61
+ * "may take the money" would be the same grant. The pressing cap is the routine
62
+ * one, safe to delegate to whoever runs the shop; the release cap stays with the
63
+ * rightsholder.
64
+ */
65
+ import { MoveTuple, MoveStruct, MoveEnum, type RawTransactionArgument } from '../utils/index.js';
66
+ import { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';
67
+ export declare const PressingKey: MoveTuple<readonly [import("@mysten/sui/bcs").BcsType<boolean, boolean, "bool">], "@local-pkg/miso_pressing::pressing::PressingKey">;
68
+ export declare const PressingAdminCapKey: MoveTuple<readonly [import("@mysten/sui/bcs").BcsType<boolean, boolean, "bool">], "@local-pkg/miso_pressing::pressing::PressingAdminCapKey">;
69
+ export declare const MintWitness: MoveStruct<{
70
+ dummy_field: import("@mysten/sui/bcs").BcsType<boolean, boolean, "bool">;
71
+ }, "@local-pkg/miso_pressing::pressing::MintWitness">;
72
+ /**
73
+ * Whether the run sells, over every currency at once. The lifecycle runs
74
+ * `Scheduled → Active → Paused → Active`: a pressing opens itself at its drop
75
+ * moment, then the artist stops and starts it at will.
76
+ */
77
+ export declare const PressingState: MoveEnum<{
78
+ /**
79
+ * Opens the moment the clock passes `start_timestamp_ms` (Unix ms), with no
80
+ * further action from anyone. A start already in the past sells now.
81
+ *
82
+ * This is a _transitional_ state: the first sale past the start rewrites it to
83
+ * `Active` (in `mint_next`, before any sales logic), so a run reads `Scheduled`
84
+ * only while it is still waiting. Between the start and that first sale the run
85
+ * already sells — `is_selling` answers against the clock — so nobody has to go
86
+ * first for the drop to be open.
87
+ *
88
+ * Consequence worth knowing: once the transition fires the start time is gone from
89
+ * the object. `PressingOpenedEvent` and `PressingStateChangedEvent` carry it, so
90
+ * "when was this run scheduled for" is an event-log question, not an object read.
91
+ */
92
+ Scheduled: MoveStruct<{
93
+ start_timestamp_ms: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
94
+ }, "PressingState.Scheduled">;
95
+ /** Selling, subject to each listing's own state. */
96
+ Active: null;
97
+ /** Selling in no currency, whatever the listings say. */
98
+ Paused: null;
99
+ }, "@local-pkg/miso_pressing::pressing::PressingState">;
100
+ export declare const Pressing: MoveStruct<{
101
+ id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
102
+ /** The release these records are copies of. */
103
+ release_id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
104
+ /** Whether the run sells at all, in any currency. */
105
+ state: MoveEnum<{
106
+ /**
107
+ * Opens the moment the clock passes `start_timestamp_ms` (Unix ms), with no
108
+ * further action from anyone. A start already in the past sells now.
109
+ *
110
+ * This is a _transitional_ state: the first sale past the start rewrites it to
111
+ * `Active` (in `mint_next`, before any sales logic), so a run reads `Scheduled`
112
+ * only while it is still waiting. Between the start and that first sale the run
113
+ * already sells — `is_selling` answers against the clock — so nobody has to go
114
+ * first for the drop to be open.
115
+ *
116
+ * Consequence worth knowing: once the transition fires the start time is gone from
117
+ * the object. `PressingOpenedEvent` and `PressingStateChangedEvent` carry it, so
118
+ * "when was this run scheduled for" is an event-log question, not an object read.
119
+ */
120
+ Scheduled: MoveStruct<{
121
+ start_timestamp_ms: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
122
+ }, "PressingState.Scheduled">;
123
+ /** Selling, subject to each listing's own state. */
124
+ Active: null;
125
+ /** Selling in no currency, whatever the listings say. */
126
+ Paused: null;
127
+ }, "@local-pkg/miso_pressing::pressing::PressingState">;
128
+ /**
129
+ * Records pressed so far; also the most recent number. Read on every mint — this
130
+ * is the sequence itself, not a statistic.
131
+ */
132
+ supply: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
133
+ }, "@local-pkg/miso_pressing::pressing::Pressing">;
134
+ export declare const PressingAdminCap: MoveStruct<{
135
+ id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
136
+ /** The pressing this cap controls. Every mutator asserts against it. */
137
+ pressing_id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
138
+ }, "@local-pkg/miso_pressing::pressing::PressingAdminCap">;
139
+ export declare const PressingOpenedEvent: MoveStruct<{
140
+ pressing_id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
141
+ release_id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
142
+ state: MoveEnum<{
143
+ /**
144
+ * Opens the moment the clock passes `start_timestamp_ms` (Unix ms), with no
145
+ * further action from anyone. A start already in the past sells now.
146
+ *
147
+ * This is a _transitional_ state: the first sale past the start rewrites it to
148
+ * `Active` (in `mint_next`, before any sales logic), so a run reads `Scheduled`
149
+ * only while it is still waiting. Between the start and that first sale the run
150
+ * already sells — `is_selling` answers against the clock — so nobody has to go
151
+ * first for the drop to be open.
152
+ *
153
+ * Consequence worth knowing: once the transition fires the start time is gone from
154
+ * the object. `PressingOpenedEvent` and `PressingStateChangedEvent` carry it, so
155
+ * "when was this run scheduled for" is an event-log question, not an object read.
156
+ */
157
+ Scheduled: MoveStruct<{
158
+ start_timestamp_ms: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
159
+ }, "PressingState.Scheduled">;
160
+ /** Selling, subject to each listing's own state. */
161
+ Active: null;
162
+ /** Selling in no currency, whatever the listings say. */
163
+ Paused: null;
164
+ }, "@local-pkg/miso_pressing::pressing::PressingState">;
165
+ }, "@local-pkg/miso_pressing::pressing::PressingOpenedEvent">;
166
+ export declare const PressingStateChangedEvent: MoveStruct<{
167
+ pressing_id: import("@mysten/sui/bcs").BcsType<string, string | Uint8Array<ArrayBufferLike>, "bytes[32]">;
168
+ state: MoveEnum<{
169
+ /**
170
+ * Opens the moment the clock passes `start_timestamp_ms` (Unix ms), with no
171
+ * further action from anyone. A start already in the past sells now.
172
+ *
173
+ * This is a _transitional_ state: the first sale past the start rewrites it to
174
+ * `Active` (in `mint_next`, before any sales logic), so a run reads `Scheduled`
175
+ * only while it is still waiting. Between the start and that first sale the run
176
+ * already sells — `is_selling` answers against the clock — so nobody has to go
177
+ * first for the drop to be open.
178
+ *
179
+ * Consequence worth knowing: once the transition fires the start time is gone from
180
+ * the object. `PressingOpenedEvent` and `PressingStateChangedEvent` carry it, so
181
+ * "when was this run scheduled for" is an event-log question, not an object read.
182
+ */
183
+ Scheduled: MoveStruct<{
184
+ start_timestamp_ms: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
185
+ }, "PressingState.Scheduled">;
186
+ /** Selling, subject to each listing's own state. */
187
+ Active: null;
188
+ /** Selling in no currency, whatever the listings say. */
189
+ Paused: null;
190
+ }, "@local-pkg/miso_pressing::pressing::PressingState">;
191
+ }, "@local-pkg/miso_pressing::pressing::PressingStateChangedEvent">;
192
+ export interface NewScheduledStateArguments {
193
+ startTimestampMs: RawTransactionArgument<number | bigint>;
194
+ }
195
+ export interface NewScheduledStateOptions {
196
+ package?: string;
197
+ arguments: NewScheduledStateArguments | [
198
+ startTimestampMs: RawTransactionArgument<number | bigint>
199
+ ];
200
+ }
201
+ /** The scheduled state: the run opens itself at `start_timestamp_ms` (Unix ms). */
202
+ export declare function newScheduledState(options: NewScheduledStateOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
203
+ export interface NewActiveStateOptions {
204
+ package?: string;
205
+ arguments?: [
206
+ ];
207
+ }
208
+ /** The active state: the run sells, subject to each listing's own state. */
209
+ export declare function newActiveState(options?: NewActiveStateOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
210
+ export interface NewPausedStateOptions {
211
+ package?: string;
212
+ arguments?: [
213
+ ];
214
+ }
215
+ /** The paused state: the run sells in no currency. */
216
+ export declare function newPausedState(options?: NewPausedStateOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
217
+ export interface NewArguments {
218
+ release: RawTransactionArgument<string>;
219
+ cap: RawTransactionArgument<string>;
220
+ state: TransactionArgument;
221
+ }
222
+ export interface NewOptions {
223
+ package?: string;
224
+ arguments: NewArguments | [
225
+ release: RawTransactionArgument<string>,
226
+ cap: RawTransactionArgument<string>,
227
+ state: TransactionArgument
228
+ ];
229
+ }
230
+ /**
231
+ * Open a release's pressing in `state` — `Scheduled` for a drop moment, `Active`
232
+ * to sell immediately, `Paused` to set it up quietly. Returns it unshared, so the
233
+ * same transaction can list it (`listing::new`) before `share` puts it on chain,
234
+ * plus the cap that governs it from here on. Neither value has `drop`, so neither
235
+ * can be lost by forgetting.
236
+ *
237
+ * Claim-once on `PressingKey()` means a release's pressing can only ever be opened
238
+ * here, exactly once; calling this twice for the same release aborts.
239
+ */
240
+ export declare function _new(options: NewOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
241
+ export interface ShareArguments {
242
+ self: RawTransactionArgument<string>;
243
+ }
244
+ export interface ShareOptions {
245
+ package?: string;
246
+ arguments: ShareArguments | [
247
+ self: RawTransactionArgument<string>
248
+ ];
249
+ }
250
+ /**
251
+ * Put the pressing on chain. `new` hands back an unshared `Pressing` so the same
252
+ * transaction can list it first; this is the last call in that sequence.
253
+ */
254
+ export declare function share(options: ShareOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
255
+ export interface SetStateArguments {
256
+ self: RawTransactionArgument<string>;
257
+ cap: RawTransactionArgument<string>;
258
+ state: TransactionArgument;
259
+ }
260
+ export interface SetStateOptions {
261
+ package?: string;
262
+ arguments: SetStateArguments | [
263
+ self: RawTransactionArgument<string>,
264
+ cap: RawTransactionArgument<string>,
265
+ state: TransactionArgument
266
+ ];
267
+ }
268
+ /**
269
+ * Move the run between its three modes — schedule it, open it, stop it. Takes
270
+ * effect across every currency at once, regardless of any listing's own state.
271
+ */
272
+ export declare function setState(options: SetStateOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
273
+ export interface DeriveIdArguments {
274
+ releaseId: RawTransactionArgument<string>;
275
+ }
276
+ export interface DeriveIdOptions {
277
+ package?: string;
278
+ arguments: DeriveIdArguments | [
279
+ releaseId: RawTransactionArgument<string>
280
+ ];
281
+ }
282
+ /**
283
+ * The address `release_id`'s pressing occupies — pure address math, computable
284
+ * before the pressing has been opened.
285
+ */
286
+ export declare function deriveId(options: DeriveIdOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
287
+ export interface IdArguments {
288
+ self: RawTransactionArgument<string>;
289
+ }
290
+ export interface IdOptions {
291
+ package?: string;
292
+ arguments: IdArguments | [
293
+ self: RawTransactionArgument<string>
294
+ ];
295
+ }
296
+ export declare function id(options: IdOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
297
+ export interface ReleaseIdArguments {
298
+ self: RawTransactionArgument<string>;
299
+ }
300
+ export interface ReleaseIdOptions {
301
+ package?: string;
302
+ arguments: ReleaseIdArguments | [
303
+ self: RawTransactionArgument<string>
304
+ ];
305
+ }
306
+ export declare function releaseId(options: ReleaseIdOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
307
+ export interface SupplyArguments {
308
+ self: RawTransactionArgument<string>;
309
+ }
310
+ export interface SupplyOptions {
311
+ package?: string;
312
+ arguments: SupplyArguments | [
313
+ self: RawTransactionArgument<string>
314
+ ];
315
+ }
316
+ /** Records pressed so far; also the most recent number. */
317
+ export declare function supply(options: SupplyOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
318
+ export interface IsSellingArguments {
319
+ self: RawTransactionArgument<string>;
320
+ }
321
+ export interface IsSellingOptions {
322
+ package?: string;
323
+ arguments: IsSellingArguments | [
324
+ self: RawTransactionArgument<string>
325
+ ];
326
+ }
327
+ /**
328
+ * Whether the run sells _right now_ — the question `buy` actually asks.
329
+ * `Scheduled` answers it against the clock, so a run past its start that has not
330
+ * yet had a sale to settle it reads as selling, which it is.
331
+ */
332
+ export declare function isSelling(options: IsSellingOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
333
+ export interface PressingAdminCapPressingIdArguments {
334
+ cap: RawTransactionArgument<string>;
335
+ }
336
+ export interface PressingAdminCapPressingIdOptions {
337
+ package?: string;
338
+ arguments: PressingAdminCapPressingIdArguments | [
339
+ cap: RawTransactionArgument<string>
340
+ ];
341
+ }
342
+ /**
343
+ * The pressing this cap controls. Public so a custody layer holding the cap can
344
+ * tell what it governs without the `Pressing` object.
345
+ */
346
+ export declare function pressingAdminCapPressingId(options: PressingAdminCapPressingIdOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
347
+ export interface VerifyRecordArguments {
348
+ record: RawTransactionArgument<string>;
349
+ }
350
+ export interface VerifyRecordOptions {
351
+ package?: string;
352
+ arguments: VerifyRecordArguments | [
353
+ record: RawTransactionArgument<string>
354
+ ];
355
+ }
356
+ /**
357
+ * Whether `record` is genuinely the copy its certificate claims it is, checked
358
+ * from chain state alone and without needing the `Pressing` object.
359
+ *
360
+ * The record must sit at exactly the address its certificate number derives to off
361
+ * its release's pressing. The certificate is the readable form of what the address
362
+ * already proves.
363
+ */
364
+ export declare function verifyRecord(options: VerifyRecordOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
365
+ //# sourceMappingURL=pressing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pressing.d.ts","sourceRoot":"","sources":["../../../src/contracts/miso_pressing/pressing.ts"],"names":[],"mappings":"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"}