@misofm/sdk 0.12.3 → 0.12.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/contracts/miso_pressing/certificate.d.ts +1 -1
- package/dist/contracts/miso_pressing/certificate.d.ts.map +1 -1
- package/dist/contracts/miso_pressing/certificate.js +1 -1
- package/dist/contracts/miso_pressing/certificate.js.map +1 -1
- package/dist/contracts/miso_pressing/listing.d.ts +5 -5
- package/dist/contracts/miso_pressing/listing.js +5 -5
- package/dist/contracts/miso_pressing/pressing.d.ts +10 -10
- package/dist/contracts/miso_pressing/pressing.js +7 -7
- package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts +6 -0
- package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts.map +1 -1
- package/dist/contracts/routed_stake/deps/royalty_pool/stake.js +6 -0
- package/dist/contracts/routed_stake/deps/royalty_pool/stake.js.map +1 -1
- package/dist/pressing.d.ts +6 -6
- package/dist/pressing.js +4 -4
- package/dist/read/catalog.d.ts +3 -3
- package/dist/read/catalog.js +3 -3
- package/dist/read/receipts.d.ts +2 -2
- package/dist/read/receipts.js +2 -2
- package/package.json +2 -2
- package/src/contracts/miso_pressing/certificate.ts +1 -1
- package/src/contracts/miso_pressing/listing.ts +5 -5
- package/src/contracts/miso_pressing/pressing.ts +7 -7
- package/src/contracts/routed_stake/deps/royalty_pool/stake.ts +8 -2
- package/src/pressing.ts +6 -6
- package/src/read/catalog.ts +3 -3
- package/src/read/receipts.ts +2 -2
package/README.md
CHANGED
|
@@ -59,7 +59,7 @@ currency's listing enabled.
|
|
|
59
59
|
|
|
60
60
|
**Everything is address math.** The pressing's UID derives off its release's, each
|
|
61
61
|
listing's off the pressing's. The protocol's canonical `ReleaseRegistry` creates the
|
|
62
|
-
release; there is no *pressing* registry or
|
|
62
|
+
release; there is no *pressing* registry or mutable lookup pointer to follow, so
|
|
63
63
|
"where is it" is answered offline — which is why the builders take a RELEASE id and
|
|
64
64
|
compute the rest. A caller cannot pair a listing with the wrong pressing, because it
|
|
65
65
|
never picks one.
|
|
@@ -23,7 +23,7 @@ export declare const Certificate: MoveStruct<{
|
|
|
23
23
|
}, "std::type_name::TypeName">;
|
|
24
24
|
/** The exact amount paid. Under a floor price this includes any tip above it. */
|
|
25
25
|
purchase_price: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
26
|
-
/** The timestamp stamped from the shared Clock on the
|
|
26
|
+
/** The timestamp stamped from the shared Clock on the Listing purchase path. */
|
|
27
27
|
created_at_ms: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
|
|
28
28
|
}, "@local-pkg/miso_pressing::certificate::Certificate">;
|
|
29
29
|
export interface ParentIdArguments {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certificate.d.ts","sourceRoot":"","sources":["../../../src/contracts/miso_pressing/certificate.ts"],"names":[],"mappings":"AAAA;;gEAEgE;AAGhE;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAA0B,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGtF,eAAO,MAAM,WAAW;IAChB,iEAAiE;;IAEjE,gDAAgD;;IAEhD,yEAAyE;;IAEzE,2CAA2C;;;;IAE3C,iFAAiF;;IAEjF,
|
|
1
|
+
{"version":3,"file":"certificate.d.ts","sourceRoot":"","sources":["../../../src/contracts/miso_pressing/certificate.ts"],"names":[],"mappings":"AAAA;;gEAEgE;AAGhE;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAA0B,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGtF,eAAO,MAAM,WAAW;IAChB,iEAAiE;;IAEjE,gDAAgD;;IAEhD,yEAAyE;;IAEzE,2CAA2C;;;;IAE3C,iFAAiF;;IAEjF,gFAAgF;;wDAEhF,CAAC;AACT,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,mBAAmB,CAAC;CAC7B;AACD,MAAM,WAAW,eAAe;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,iBAAiB,GAAG;QAC3B,IAAI,EAAE,mBAAmB;KAC5B,CAAC;CACL;AACD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,IAMrC,IAAI,WAAW,0DAM1B;AACD,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,mBAAmB,CAAC;CAC7B;AACD,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,eAAe,GAAG;QACzB,IAAI,EAAE,mBAAmB;KAC5B,CAAC;CACL;AACD,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,IAMjC,IAAI,WAAW,0DAM1B;AACD,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,mBAAmB,CAAC;CAC7B;AACD,MAAM,WAAW,kBAAkB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,oBAAoB,GAAG;QAC9B,IAAI,EAAE,mBAAmB;KAC5B,CAAC;CACL;AACD,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,IAM3C,IAAI,WAAW,0DAM1B;AACD,MAAM,WAAW,yBAAyB;IACtC,IAAI,EAAE,mBAAmB,CAAC;CAC7B;AACD,MAAM,WAAW,uBAAuB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,yBAAyB,GAAG;QACnC,IAAI,EAAE,mBAAmB;KAC5B,CAAC;CACL;AACD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,IAMrD,IAAI,WAAW,0DAM1B;AACD,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,mBAAmB,CAAC;CAC7B;AACD,MAAM,WAAW,oBAAoB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,sBAAsB,GAAG;QAChC,IAAI,EAAE,mBAAmB;KAC5B,CAAC;CACL;AACD,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,IAM/C,IAAI,WAAW,0DAM1B;AACD,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,mBAAmB,CAAC;CAC7B;AACD,MAAM,WAAW,kBAAkB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,oBAAoB,GAAG;QAC9B,IAAI,EAAE,mBAAmB;KAC5B,CAAC;CACL;AACD,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,IAM3C,IAAI,WAAW,0DAM1B"}
|
|
@@ -24,7 +24,7 @@ export const Certificate = new MoveStruct({ name: `${$moduleName}::Certificate`,
|
|
|
24
24
|
purchase_currency: type_name.TypeName,
|
|
25
25
|
/** The exact amount paid. Under a floor price this includes any tip above it. */
|
|
26
26
|
purchase_price: bcs.u64(),
|
|
27
|
-
/** The timestamp stamped from the shared Clock on the
|
|
27
|
+
/** The timestamp stamped from the shared Clock on the Listing purchase path. */
|
|
28
28
|
created_at_ms: bcs.u64()
|
|
29
29
|
} });
|
|
30
30
|
export function parentId(options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certificate.js","sourceRoot":"","sources":["../../../src/contracts/miso_pressing/certificate.ts"],"names":[],"mappings":"AAAA;;gEAEgE;AAGhE;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAA8C,MAAM,0BAA0B,CAAC;AACtF,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAC;AACrD,MAAM,WAAW,GAAG,uCAAuC,CAAC;AAC5D,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,eAAe,EAAE,MAAM,EAAE;QACjF,iEAAiE;QACjE,SAAS,EAAE,GAAG,CAAC,OAAO;QACtB,gDAAgD;QAChD,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE;QACjB,yEAAyE;QACzE,YAAY,EAAE,GAAG,CAAC,OAAO;QACzB,2CAA2C;QAC3C,iBAAiB,EAAE,SAAS,CAAC,QAAQ;QACrC,iFAAiF;QACjF,cAAc,EAAE,GAAG,CAAC,GAAG,EAAE;QACzB,
|
|
1
|
+
{"version":3,"file":"certificate.js","sourceRoot":"","sources":["../../../src/contracts/miso_pressing/certificate.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
* pressing's own `Scheduled → Active → Paused` governs every currency at once
|
|
45
45
|
* (`pressing::mint_next`). A sale needs both open.
|
|
46
46
|
*
|
|
47
|
-
* The **when** lives on the
|
|
48
|
-
* release going on sale, not about one payment rail, and a run that opened in
|
|
49
|
-
* at Friday 8pm and in USDC at some other time would have two
|
|
47
|
+
* The **when** lives on the Pressing, not here: its opening time is a fact about
|
|
48
|
+
* the release going on sale, not about one payment rail, and a run that opened in
|
|
49
|
+
* SUI at Friday 8pm and in USDC at some other time would have two starts and one
|
|
50
50
|
* number sequence. So a listing carries no schedule — only whether its currency is
|
|
51
51
|
* taken.
|
|
52
52
|
*
|
|
@@ -416,8 +416,8 @@ export interface IsLiveOptions {
|
|
|
416
416
|
}
|
|
417
417
|
/**
|
|
418
418
|
* Whether `buy` would be accepted right now: the right pressing, this currency
|
|
419
|
-
* enabled, and the run selling at this moment (open, and past its
|
|
420
|
-
* has one).
|
|
419
|
+
* enabled, and the run selling at this moment (open, and past its scheduled start
|
|
420
|
+
* if it has one).
|
|
421
421
|
*/
|
|
422
422
|
export declare function isLive(options: IsLiveOptions): (tx: Transaction) => import("@mysten/sui/transactions").TransactionResult;
|
|
423
423
|
export interface AmountArguments {
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
* pressing's own `Scheduled → Active → Paused` governs every currency at once
|
|
45
45
|
* (`pressing::mint_next`). A sale needs both open.
|
|
46
46
|
*
|
|
47
|
-
* The **when** lives on the
|
|
48
|
-
* release going on sale, not about one payment rail, and a run that opened in
|
|
49
|
-
* at Friday 8pm and in USDC at some other time would have two
|
|
47
|
+
* The **when** lives on the Pressing, not here: its opening time is a fact about
|
|
48
|
+
* the release going on sale, not about one payment rail, and a run that opened in
|
|
49
|
+
* SUI at Friday 8pm and in USDC at some other time would have two starts and one
|
|
50
50
|
* number sequence. So a listing carries no schedule — only whether its currency is
|
|
51
51
|
* taken.
|
|
52
52
|
*
|
|
@@ -365,8 +365,8 @@ export function state(options) {
|
|
|
365
365
|
}
|
|
366
366
|
/**
|
|
367
367
|
* Whether `buy` would be accepted right now: the right pressing, this currency
|
|
368
|
-
* enabled, and the run selling at this moment (open, and past its
|
|
369
|
-
* has one).
|
|
368
|
+
* enabled, and the run selling at this moment (open, and past its scheduled start
|
|
369
|
+
* if it has one).
|
|
370
370
|
*/
|
|
371
371
|
export function isLive(options) {
|
|
372
372
|
const packageAddress = options.package ?? '@local-pkg/miso_pressing';
|
|
@@ -36,9 +36,9 @@
|
|
|
36
36
|
* Nothing here is ever destroyed, sealed, or wound down — deleting a pressing
|
|
37
37
|
* would strand its whole derived subtree, so there is no destructor at all. The
|
|
38
38
|
* run's lifecycle is `Scheduled → Active → Paused → Active`: it opens itself at
|
|
39
|
-
* its
|
|
40
|
-
*
|
|
41
|
-
*
|
|
39
|
+
* its scheduled start (no artist transaction, and nobody can buy early), then the
|
|
40
|
+
* artist stops and starts it at will. The first transition is real, not computed —
|
|
41
|
+
* the first sale past the start rewrites `Scheduled` to `Active` inside
|
|
42
42
|
* `mint_next`, which is why `Scheduled` only ever describes a run still waiting.
|
|
43
43
|
* Below it, each listing's `Enabled | Disabled` governs one currency. A run that
|
|
44
44
|
* is paused or not yet open sells in no currency, whatever the listings say.
|
|
@@ -68,8 +68,8 @@ export declare const PressingKey: MoveTuple<readonly [import("@mysten/sui/bcs").
|
|
|
68
68
|
export declare const PressingAdminCapKey: MoveTuple<readonly [import("@mysten/sui/bcs").BcsType<boolean, boolean, "bool">], "@local-pkg/miso_pressing::pressing::PressingAdminCapKey">;
|
|
69
69
|
/**
|
|
70
70
|
* Whether the run sells, over every currency at once. The lifecycle runs
|
|
71
|
-
* `Scheduled → Active → Paused → Active`: a pressing opens itself at its
|
|
72
|
-
*
|
|
71
|
+
* `Scheduled → Active → Paused → Active`: a pressing opens itself at its scheduled
|
|
72
|
+
* start, then the artist stops and starts it at will.
|
|
73
73
|
*/
|
|
74
74
|
export declare const PressingState: MoveEnum<{
|
|
75
75
|
/**
|
|
@@ -80,7 +80,7 @@ export declare const PressingState: MoveEnum<{
|
|
|
80
80
|
* `Active` (in `mint_next`, before any sales logic), so a run reads `Scheduled`
|
|
81
81
|
* only while it is still waiting. Between the start and that first sale the run
|
|
82
82
|
* already sells — `is_selling` answers against the clock — so nobody has to go
|
|
83
|
-
* first for the
|
|
83
|
+
* first for the Pressing to be open.
|
|
84
84
|
*
|
|
85
85
|
* Consequence worth knowing: once the transition fires the start time is gone from
|
|
86
86
|
* the object. `PressingOpenedEvent` and `PressingStateChangedEvent` carry it, so
|
|
@@ -108,7 +108,7 @@ export declare const Pressing: MoveStruct<{
|
|
|
108
108
|
* `Active` (in `mint_next`, before any sales logic), so a run reads `Scheduled`
|
|
109
109
|
* only while it is still waiting. Between the start and that first sale the run
|
|
110
110
|
* already sells — `is_selling` answers against the clock — so nobody has to go
|
|
111
|
-
* first for the
|
|
111
|
+
* first for the Pressing to be open.
|
|
112
112
|
*
|
|
113
113
|
* Consequence worth knowing: once the transition fires the start time is gone from
|
|
114
114
|
* the object. `PressingOpenedEvent` and `PressingStateChangedEvent` carry it, so
|
|
@@ -145,7 +145,7 @@ export declare const PressingOpenedEvent: MoveStruct<{
|
|
|
145
145
|
* `Active` (in `mint_next`, before any sales logic), so a run reads `Scheduled`
|
|
146
146
|
* only while it is still waiting. Between the start and that first sale the run
|
|
147
147
|
* already sells — `is_selling` answers against the clock — so nobody has to go
|
|
148
|
-
* first for the
|
|
148
|
+
* first for the Pressing to be open.
|
|
149
149
|
*
|
|
150
150
|
* Consequence worth knowing: once the transition fires the start time is gone from
|
|
151
151
|
* the object. `PressingOpenedEvent` and `PressingStateChangedEvent` carry it, so
|
|
@@ -171,7 +171,7 @@ export declare const PressingStateChangedEvent: MoveStruct<{
|
|
|
171
171
|
* `Active` (in `mint_next`, before any sales logic), so a run reads `Scheduled`
|
|
172
172
|
* only while it is still waiting. Between the start and that first sale the run
|
|
173
173
|
* already sells — `is_selling` answers against the clock — so nobody has to go
|
|
174
|
-
* first for the
|
|
174
|
+
* first for the Pressing to be open.
|
|
175
175
|
*
|
|
176
176
|
* Consequence worth knowing: once the transition fires the start time is gone from
|
|
177
177
|
* the object. `PressingOpenedEvent` and `PressingStateChangedEvent` carry it, so
|
|
@@ -225,7 +225,7 @@ export interface NewOptions {
|
|
|
225
225
|
];
|
|
226
226
|
}
|
|
227
227
|
/**
|
|
228
|
-
* Open a release's pressing in `state` — `Scheduled` for a
|
|
228
|
+
* Open a release's pressing in `state` — `Scheduled` for a future start, `Active`
|
|
229
229
|
* to sell immediately, `Paused` to set it up quietly. Returns it unshared, so the
|
|
230
230
|
* same transaction can list it (`listing::new`) before `share` puts it on chain,
|
|
231
231
|
* plus the cap that governs it from here on. Neither value has `drop`, so neither
|
|
@@ -36,9 +36,9 @@
|
|
|
36
36
|
* Nothing here is ever destroyed, sealed, or wound down — deleting a pressing
|
|
37
37
|
* would strand its whole derived subtree, so there is no destructor at all. The
|
|
38
38
|
* run's lifecycle is `Scheduled → Active → Paused → Active`: it opens itself at
|
|
39
|
-
* its
|
|
40
|
-
*
|
|
41
|
-
*
|
|
39
|
+
* its scheduled start (no artist transaction, and nobody can buy early), then the
|
|
40
|
+
* artist stops and starts it at will. The first transition is real, not computed —
|
|
41
|
+
* the first sale past the start rewrites `Scheduled` to `Active` inside
|
|
42
42
|
* `mint_next`, which is why `Scheduled` only ever describes a run still waiting.
|
|
43
43
|
* Below it, each listing's `Enabled | Disabled` governs one currency. A run that
|
|
44
44
|
* is paused or not yet open sells in no currency, whatever the listings say.
|
|
@@ -70,8 +70,8 @@ export const PressingKey = new MoveTuple({ name: `${$moduleName}::PressingKey`,
|
|
|
70
70
|
export const PressingAdminCapKey = new MoveTuple({ name: `${$moduleName}::PressingAdminCapKey`, fields: [bcs.bool()] });
|
|
71
71
|
/**
|
|
72
72
|
* Whether the run sells, over every currency at once. The lifecycle runs
|
|
73
|
-
* `Scheduled → Active → Paused → Active`: a pressing opens itself at its
|
|
74
|
-
*
|
|
73
|
+
* `Scheduled → Active → Paused → Active`: a pressing opens itself at its scheduled
|
|
74
|
+
* start, then the artist stops and starts it at will.
|
|
75
75
|
*/
|
|
76
76
|
export const PressingState = new MoveEnum({ name: `${$moduleName}::PressingState`, fields: {
|
|
77
77
|
/**
|
|
@@ -82,7 +82,7 @@ export const PressingState = new MoveEnum({ name: `${$moduleName}::PressingState
|
|
|
82
82
|
* `Active` (in `mint_next`, before any sales logic), so a run reads `Scheduled`
|
|
83
83
|
* only while it is still waiting. Between the start and that first sale the run
|
|
84
84
|
* already sells — `is_selling` answers against the clock — so nobody has to go
|
|
85
|
-
* first for the
|
|
85
|
+
* first for the Pressing to be open.
|
|
86
86
|
*
|
|
87
87
|
* Consequence worth knowing: once the transition fires the start time is gone from
|
|
88
88
|
* the object. `PressingOpenedEvent` and `PressingStateChangedEvent` carry it, so
|
|
@@ -155,7 +155,7 @@ export function newPausedState(options = {}) {
|
|
|
155
155
|
});
|
|
156
156
|
}
|
|
157
157
|
/**
|
|
158
|
-
* Open a release's pressing in `state` — `Scheduled` for a
|
|
158
|
+
* Open a release's pressing in `state` — `Scheduled` for a future start, `Active`
|
|
159
159
|
* to sell immediately, `Paused` to set it up quietly. Returns it unshared, so the
|
|
160
160
|
* same transaction can list it (`listing::new`) before `share` puts it on chain,
|
|
161
161
|
* plus the cap that governs it from here on. Neither value has `drop`, so neither
|
|
@@ -13,6 +13,12 @@
|
|
|
13
13
|
* `TypeName`. The stake cannot be destroyed while any registrations remain. Pool
|
|
14
14
|
* registrations are mutated by `royalty_pool::pool` through the package-private
|
|
15
15
|
* accessors below.
|
|
16
|
+
*
|
|
17
|
+
* Custody warning: `pool::claim_rewards` pays accrued rewards to the _caller_, and
|
|
18
|
+
* `Stake` is `key + store` — a bare shared stake (or one wrapped in a shared
|
|
19
|
+
* object that hands out `&mut`) is drainable by anyone. Stakes must stay
|
|
20
|
+
* address-owned, or wrapped by a contract that pins the reward route (e.g.
|
|
21
|
+
* `routed_stake`); the pool cannot enforce this itself.
|
|
16
22
|
*/
|
|
17
23
|
import { MoveStruct } from '../../../utils/index.js';
|
|
18
24
|
export declare const Registration: MoveStruct<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stake.d.ts","sourceRoot":"","sources":["../../../../../src/contracts/routed_stake/deps/royalty_pool/stake.ts"],"names":[],"mappings":"AAAA;;gEAEgE;AAGhE
|
|
1
|
+
{"version":3,"file":"stake.d.ts","sourceRoot":"","sources":["../../../../../src/contracts/routed_stake/deps/royalty_pool/stake.ts"],"names":[],"mappings":"AAAA;;gEAEgE;AAGhE;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAMrD,eAAO,MAAM,YAAY;;;uCAGjB,CAAC;AACT,eAAO,MAAM,KAAK;;IAEV,oDAAoD;;;;IAEpD;;;OAGG;;;;;;;;;;;;;;;;;;;;;;+CAEH,CAAC"}
|
|
@@ -13,6 +13,12 @@
|
|
|
13
13
|
* `TypeName`. The stake cannot be destroyed while any registrations remain. Pool
|
|
14
14
|
* registrations are mutated by `royalty_pool::pool` through the package-private
|
|
15
15
|
* accessors below.
|
|
16
|
+
*
|
|
17
|
+
* Custody warning: `pool::claim_rewards` pays accrued rewards to the _caller_, and
|
|
18
|
+
* `Stake` is `key + store` — a bare shared stake (or one wrapped in a shared
|
|
19
|
+
* object that hands out `&mut`) is drainable by anyone. Stakes must stay
|
|
20
|
+
* address-owned, or wrapped by a contract that pins the reward route (e.g.
|
|
21
|
+
* `routed_stake`); the pool cannot enforce this itself.
|
|
16
22
|
*/
|
|
17
23
|
import { MoveStruct } from '../../../utils/index.js';
|
|
18
24
|
import { bcs } from '@mysten/sui/bcs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stake.js","sourceRoot":"","sources":["../../../../../src/contracts/routed_stake/deps/royalty_pool/stake.ts"],"names":[],"mappings":"AAAA;;gEAEgE;AAGhE
|
|
1
|
+
{"version":3,"file":"stake.js","sourceRoot":"","sources":["../../../../../src/contracts/routed_stake/deps/royalty_pool/stake.ts"],"names":[],"mappings":"AAAA;;gEAEgE;AAGhE;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,qBAAqB,CAAC;AACjD,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAC1C,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,gBAAgB,EAAE,MAAM,EAAE;QACnF,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,gBAAgB,EAAE,GAAG,CAAC,IAAI,EAAE;KAC/B,EAAE,CAAC,CAAC;AACT,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,wBAAwB,EAAE,MAAM,EAAE;QACpF,EAAE,EAAE,GAAG,CAAC,OAAO;QACf,oDAAoD;QACpD,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB;;;WAGG;QACH,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC;KAClE,EAAE,CAAC,CAAC"}
|
package/dist/pressing.d.ts
CHANGED
|
@@ -64,8 +64,8 @@ export interface OpenPressingParams {
|
|
|
64
64
|
/** Currencies to open the run in. May be empty — listings can be added later with
|
|
65
65
|
* {@link openListing} — but a run with no listings sells nothing. */
|
|
66
66
|
listings: ListingTerms[];
|
|
67
|
-
/** Run state at open. Defaults to `active` (sell immediately); `scheduled`
|
|
68
|
-
* trustless
|
|
67
|
+
/** Run state at open. Defaults to `active` (sell immediately); `scheduled` sets a
|
|
68
|
+
* trustless opening time and needs no later transaction to open. */
|
|
69
69
|
state?: PressingRunState;
|
|
70
70
|
/** Where to send the minted `PressingAdminCap` (usually the artist or their vault). */
|
|
71
71
|
adminCapRecipient: string;
|
|
@@ -193,10 +193,10 @@ export interface ListingView {
|
|
|
193
193
|
/**
|
|
194
194
|
* Fetches and parses a `Pressing`, or `null` if the release has never opened one.
|
|
195
195
|
*
|
|
196
|
-
*
|
|
197
|
-
*
|
|
198
|
-
*
|
|
199
|
-
*
|
|
196
|
+
* This deliberately deviates from the core-getter convention in `./queries.ts`
|
|
197
|
+
* (throw on missing object). A Pressing's address is computable for any release, so
|
|
198
|
+
* probing one that was never opened is a normal state, not a broken reference —
|
|
199
|
+
* absence is `null` and only transport failures throw.
|
|
200
200
|
*/
|
|
201
201
|
export declare function getPressing(client: ClientWithCoreApi, pressingId: string, misoPressingPackageId: string): Promise<PressingView | null>;
|
|
202
202
|
/** Fetches and parses a `Listing<Currency>`, or `null` if that currency is not listed. */
|
package/dist/pressing.js
CHANGED
|
@@ -272,10 +272,10 @@ function variant(v, ...names) {
|
|
|
272
272
|
/**
|
|
273
273
|
* Fetches and parses a `Pressing`, or `null` if the release has never opened one.
|
|
274
274
|
*
|
|
275
|
-
*
|
|
276
|
-
*
|
|
277
|
-
*
|
|
278
|
-
*
|
|
275
|
+
* This deliberately deviates from the core-getter convention in `./queries.ts`
|
|
276
|
+
* (throw on missing object). A Pressing's address is computable for any release, so
|
|
277
|
+
* probing one that was never opened is a normal state, not a broken reference —
|
|
278
|
+
* absence is `null` and only transport failures throw.
|
|
279
279
|
*/
|
|
280
280
|
export async function getPressing(client, pressingId, misoPressingPackageId) {
|
|
281
281
|
const got = await fetch(client, pressingId);
|
package/dist/read/catalog.d.ts
CHANGED
|
@@ -59,15 +59,15 @@ export declare function getPressingSaleDetail(client: MisoClient, pressingId: st
|
|
|
59
59
|
export declare function getPressingPreview(client: MisoClient, pressingId: string): Promise<PressingPreview | null>;
|
|
60
60
|
/**
|
|
61
61
|
* Everything a currency-specific buy page renders. The Listing is derived from
|
|
62
|
-
* the release's Pressing and the requested currency, never found through
|
|
63
|
-
*
|
|
62
|
+
* the release's Pressing and the requested currency, never found through mutable
|
|
63
|
+
* lookup state.
|
|
64
64
|
*/
|
|
65
65
|
export declare function getSaleDetail(client: MisoClient, releaseId: string, currencyType: string, options?: GetReleaseOptions): Promise<SaleDetail | null>;
|
|
66
66
|
/**
|
|
67
67
|
* The records currently on sale.
|
|
68
68
|
*
|
|
69
69
|
* Configured by release + currency: Pressing and Listing ids are deterministic,
|
|
70
|
-
* permanent derived addresses. There is no
|
|
70
|
+
* permanent derived addresses. There is no mutable Pressing pointer or edition
|
|
71
71
|
* replacement in the current ABI.
|
|
72
72
|
*/
|
|
73
73
|
export declare function getDiscoverShelf(client: MisoClient): Promise<DiscoverItem[]>;
|
package/dist/read/catalog.js
CHANGED
|
@@ -301,8 +301,8 @@ export async function getPressingPreview(client, pressingId) {
|
|
|
301
301
|
}
|
|
302
302
|
/**
|
|
303
303
|
* Everything a currency-specific buy page renders. The Listing is derived from
|
|
304
|
-
* the release's Pressing and the requested currency, never found through
|
|
305
|
-
*
|
|
304
|
+
* the release's Pressing and the requested currency, never found through mutable
|
|
305
|
+
* lookup state.
|
|
306
306
|
*/
|
|
307
307
|
export async function getSaleDetail(client, releaseId, currencyType, options = {}) {
|
|
308
308
|
const sale = await getSale(client.protocol, {
|
|
@@ -320,7 +320,7 @@ export async function getSaleDetail(client, releaseId, currencyType, options = {
|
|
|
320
320
|
* The records currently on sale.
|
|
321
321
|
*
|
|
322
322
|
* Configured by release + currency: Pressing and Listing ids are deterministic,
|
|
323
|
-
* permanent derived addresses. There is no
|
|
323
|
+
* permanent derived addresses. There is no mutable Pressing pointer or edition
|
|
324
324
|
* replacement in the current ABI.
|
|
325
325
|
*/
|
|
326
326
|
export async function getDiscoverShelf(client) {
|
package/dist/read/receipts.d.ts
CHANGED
|
@@ -21,8 +21,8 @@ export declare function findRecordSale(events: {
|
|
|
21
21
|
export declare function breakdown(tracks: PressingDetail["release"]["tracks"], paid: string, compositionRates: CompositionRates): TrackRoyalty[];
|
|
22
22
|
/**
|
|
23
23
|
* The receipt for `txDigest`. The event identifies the exact immutable Pressing
|
|
24
|
-
* and Listing; callers cannot accidentally reinterpret a Pressing id as
|
|
25
|
-
*
|
|
24
|
+
* and Listing; callers cannot accidentally reinterpret a Pressing id as an
|
|
25
|
+
* obsolete sale-object id.
|
|
26
26
|
*
|
|
27
27
|
* The sale identifies the Pressing before its detail is fetched. `null` only when
|
|
28
28
|
* that immutable Pressing cannot be read; it is never superseded or destroyed.
|
package/dist/read/receipts.js
CHANGED
|
@@ -270,8 +270,8 @@ export function breakdown(tracks, paid, compositionRates) {
|
|
|
270
270
|
}
|
|
271
271
|
/**
|
|
272
272
|
* The receipt for `txDigest`. The event identifies the exact immutable Pressing
|
|
273
|
-
* and Listing; callers cannot accidentally reinterpret a Pressing id as
|
|
274
|
-
*
|
|
273
|
+
* and Listing; callers cannot accidentally reinterpret a Pressing id as an
|
|
274
|
+
* obsolete sale-object id.
|
|
275
275
|
*
|
|
276
276
|
* The sale identifies the Pressing before its detail is fetched. `null` only when
|
|
277
277
|
* that immutable Pressing cannot be read; it is never superseded or destroyed.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@misofm/sdk",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.4",
|
|
4
4
|
"packageManager": "bun@1.4.0",
|
|
5
5
|
"description": "Complete client SDK for the Miso platform on Sui — high-level reads, pressings, listings, records, and work publishing.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
],
|
|
113
113
|
"scripts": {
|
|
114
114
|
"codegen": "sui-ts-codegen generate",
|
|
115
|
-
"codegen:check": "bun run codegen && perl -pi -e 's/[ \\t]+$//' src/contracts/royalty_pool/pool.ts src/contracts/royalty_pool/stake.ts src/contracts/party_wallet/party_wallet.ts && git diff --exit-code -- src/contracts",
|
|
115
|
+
"codegen:check": "bun run codegen && perl -pi -e 's/[ \\t]+$//' src/contracts/royalty_pool/pool.ts src/contracts/royalty_pool/stake.ts src/contracts/routed_stake/deps/royalty_pool/stake.ts src/contracts/party_wallet/party_wallet.ts && git diff --exit-code -- src/contracts",
|
|
116
116
|
"typecheck": "tsc --noEmit",
|
|
117
117
|
"test": "bun test",
|
|
118
118
|
"build": "rm -rf dist && tsc -p tsconfig.build.json",
|
|
@@ -27,7 +27,7 @@ export const Certificate = new MoveStruct({ name: `${$moduleName}::Certificate`,
|
|
|
27
27
|
purchase_currency: type_name.TypeName,
|
|
28
28
|
/** The exact amount paid. Under a floor price this includes any tip above it. */
|
|
29
29
|
purchase_price: bcs.u64(),
|
|
30
|
-
/** The timestamp stamped from the shared Clock on the
|
|
30
|
+
/** The timestamp stamped from the shared Clock on the Listing purchase path. */
|
|
31
31
|
created_at_ms: bcs.u64()
|
|
32
32
|
} });
|
|
33
33
|
export interface ParentIdArguments {
|
|
@@ -46,9 +46,9 @@
|
|
|
46
46
|
* pressing's own `Scheduled → Active → Paused` governs every currency at once
|
|
47
47
|
* (`pressing::mint_next`). A sale needs both open.
|
|
48
48
|
*
|
|
49
|
-
* The **when** lives on the
|
|
50
|
-
* release going on sale, not about one payment rail, and a run that opened in
|
|
51
|
-
* at Friday 8pm and in USDC at some other time would have two
|
|
49
|
+
* The **when** lives on the Pressing, not here: its opening time is a fact about
|
|
50
|
+
* the release going on sale, not about one payment rail, and a run that opened in
|
|
51
|
+
* SUI at Friday 8pm and in USDC at some other time would have two starts and one
|
|
52
52
|
* number sequence. So a listing carries no schedule — only whether its currency is
|
|
53
53
|
* taken.
|
|
54
54
|
*
|
|
@@ -548,8 +548,8 @@ export interface IsLiveOptions {
|
|
|
548
548
|
}
|
|
549
549
|
/**
|
|
550
550
|
* Whether `buy` would be accepted right now: the right pressing, this currency
|
|
551
|
-
* enabled, and the run selling at this moment (open, and past its
|
|
552
|
-
* has one).
|
|
551
|
+
* enabled, and the run selling at this moment (open, and past its scheduled start
|
|
552
|
+
* if it has one).
|
|
553
553
|
*/
|
|
554
554
|
export function isLive(options: IsLiveOptions) {
|
|
555
555
|
const packageAddress = options.package ?? '@local-pkg/miso_pressing';
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
* Nothing here is ever destroyed, sealed, or wound down — deleting a pressing
|
|
39
39
|
* would strand its whole derived subtree, so there is no destructor at all. The
|
|
40
40
|
* run's lifecycle is `Scheduled → Active → Paused → Active`: it opens itself at
|
|
41
|
-
* its
|
|
42
|
-
*
|
|
43
|
-
*
|
|
41
|
+
* its scheduled start (no artist transaction, and nobody can buy early), then the
|
|
42
|
+
* artist stops and starts it at will. The first transition is real, not computed —
|
|
43
|
+
* the first sale past the start rewrites `Scheduled` to `Active` inside
|
|
44
44
|
* `mint_next`, which is why `Scheduled` only ever describes a run still waiting.
|
|
45
45
|
* Below it, each listing's `Enabled | Disabled` governs one currency. A run that
|
|
46
46
|
* is paused or not yet open sells in no currency, whatever the listings say.
|
|
@@ -73,8 +73,8 @@ export const PressingKey = new MoveTuple({ name: `${$moduleName}::PressingKey`,
|
|
|
73
73
|
export const PressingAdminCapKey = new MoveTuple({ name: `${$moduleName}::PressingAdminCapKey`, fields: [bcs.bool()] });
|
|
74
74
|
/**
|
|
75
75
|
* Whether the run sells, over every currency at once. The lifecycle runs
|
|
76
|
-
* `Scheduled → Active → Paused → Active`: a pressing opens itself at its
|
|
77
|
-
*
|
|
76
|
+
* `Scheduled → Active → Paused → Active`: a pressing opens itself at its scheduled
|
|
77
|
+
* start, then the artist stops and starts it at will.
|
|
78
78
|
*/
|
|
79
79
|
export const PressingState = new MoveEnum({ name: `${$moduleName}::PressingState`, fields: {
|
|
80
80
|
/**
|
|
@@ -85,7 +85,7 @@ export const PressingState = new MoveEnum({ name: `${$moduleName}::PressingState
|
|
|
85
85
|
* `Active` (in `mint_next`, before any sales logic), so a run reads `Scheduled`
|
|
86
86
|
* only while it is still waiting. Between the start and that first sale the run
|
|
87
87
|
* already sells — `is_selling` answers against the clock — so nobody has to go
|
|
88
|
-
* first for the
|
|
88
|
+
* first for the Pressing to be open.
|
|
89
89
|
*
|
|
90
90
|
* Consequence worth knowing: once the transition fires the start time is gone from
|
|
91
91
|
* the object. `PressingOpenedEvent` and `PressingStateChangedEvent` carry it, so
|
|
@@ -190,7 +190,7 @@ export interface NewOptions {
|
|
|
190
190
|
];
|
|
191
191
|
}
|
|
192
192
|
/**
|
|
193
|
-
* Open a release's pressing in `state` — `Scheduled` for a
|
|
193
|
+
* Open a release's pressing in `state` — `Scheduled` for a future start, `Active`
|
|
194
194
|
* to sell immediately, `Paused` to set it up quietly. Returns it unshared, so the
|
|
195
195
|
* same transaction can list it (`listing::new`) before `share` puts it on chain,
|
|
196
196
|
* plus the cap that governs it from here on. Neither value has `drop`, so neither
|
|
@@ -5,16 +5,22 @@
|
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* A position holding share tokens registered against a `RoyaltyPool`.
|
|
8
|
-
*
|
|
8
|
+
*
|
|
9
9
|
* Stakes are owned objects with an immutable balance — to increase a holder's
|
|
10
10
|
* total staked amount, mint additional Stake objects rather than modify an
|
|
11
11
|
* existing one. This mirrors Sui's native staking model.
|
|
12
|
-
*
|
|
12
|
+
*
|
|
13
13
|
* Each stake tracks the royalty pools it is currently registered with via an
|
|
14
14
|
* inline `VecMap<TypeName, Registration>`, keyed by the pool's `Currency`
|
|
15
15
|
* `TypeName`. The stake cannot be destroyed while any registrations remain. Pool
|
|
16
16
|
* registrations are mutated by `royalty_pool::pool` through the package-private
|
|
17
17
|
* accessors below.
|
|
18
|
+
*
|
|
19
|
+
* Custody warning: `pool::claim_rewards` pays accrued rewards to the _caller_, and
|
|
20
|
+
* `Stake` is `key + store` — a bare shared stake (or one wrapped in a shared
|
|
21
|
+
* object that hands out `&mut`) is drainable by anyone. Stakes must stay
|
|
22
|
+
* address-owned, or wrapped by a contract that pins the reward route (e.g.
|
|
23
|
+
* `routed_stake`); the pool cannot enforce this itself.
|
|
18
24
|
*/
|
|
19
25
|
|
|
20
26
|
import { MoveStruct } from '../../../utils/index.js';
|
package/src/pressing.ts
CHANGED
|
@@ -181,8 +181,8 @@ export interface OpenPressingParams {
|
|
|
181
181
|
/** Currencies to open the run in. May be empty — listings can be added later with
|
|
182
182
|
* {@link openListing} — but a run with no listings sells nothing. */
|
|
183
183
|
listings: ListingTerms[];
|
|
184
|
-
/** Run state at open. Defaults to `active` (sell immediately); `scheduled`
|
|
185
|
-
* trustless
|
|
184
|
+
/** Run state at open. Defaults to `active` (sell immediately); `scheduled` sets a
|
|
185
|
+
* trustless opening time and needs no later transaction to open. */
|
|
186
186
|
state?: PressingRunState;
|
|
187
187
|
/** Where to send the minted `PressingAdminCap` (usually the artist or their vault). */
|
|
188
188
|
adminCapRecipient: string;
|
|
@@ -518,10 +518,10 @@ function variant<T extends string>(
|
|
|
518
518
|
/**
|
|
519
519
|
* Fetches and parses a `Pressing`, or `null` if the release has never opened one.
|
|
520
520
|
*
|
|
521
|
-
*
|
|
522
|
-
*
|
|
523
|
-
*
|
|
524
|
-
*
|
|
521
|
+
* This deliberately deviates from the core-getter convention in `./queries.ts`
|
|
522
|
+
* (throw on missing object). A Pressing's address is computable for any release, so
|
|
523
|
+
* probing one that was never opened is a normal state, not a broken reference —
|
|
524
|
+
* absence is `null` and only transport failures throw.
|
|
525
525
|
*/
|
|
526
526
|
export async function getPressing(
|
|
527
527
|
client: ClientWithCoreApi,
|
package/src/read/catalog.ts
CHANGED
|
@@ -456,8 +456,8 @@ export async function getPressingPreview(
|
|
|
456
456
|
|
|
457
457
|
/**
|
|
458
458
|
* Everything a currency-specific buy page renders. The Listing is derived from
|
|
459
|
-
* the release's Pressing and the requested currency, never found through
|
|
460
|
-
*
|
|
459
|
+
* the release's Pressing and the requested currency, never found through mutable
|
|
460
|
+
* lookup state.
|
|
461
461
|
*/
|
|
462
462
|
export async function getSaleDetail(
|
|
463
463
|
client: MisoClient,
|
|
@@ -481,7 +481,7 @@ export async function getSaleDetail(
|
|
|
481
481
|
* The records currently on sale.
|
|
482
482
|
*
|
|
483
483
|
* Configured by release + currency: Pressing and Listing ids are deterministic,
|
|
484
|
-
* permanent derived addresses. There is no
|
|
484
|
+
* permanent derived addresses. There is no mutable Pressing pointer or edition
|
|
485
485
|
* replacement in the current ABI.
|
|
486
486
|
*/
|
|
487
487
|
export async function getDiscoverShelf(
|
package/src/read/receipts.ts
CHANGED
|
@@ -325,8 +325,8 @@ export function breakdown(
|
|
|
325
325
|
|
|
326
326
|
/**
|
|
327
327
|
* The receipt for `txDigest`. The event identifies the exact immutable Pressing
|
|
328
|
-
* and Listing; callers cannot accidentally reinterpret a Pressing id as
|
|
329
|
-
*
|
|
328
|
+
* and Listing; callers cannot accidentally reinterpret a Pressing id as an
|
|
329
|
+
* obsolete sale-object id.
|
|
330
330
|
*
|
|
331
331
|
* The sale identifies the Pressing before its detail is fetched. `null` only when
|
|
332
332
|
* that immutable Pressing cannot be read; it is never superseded or destroyed.
|