@misofm/sdk 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -29
- package/dist/client.d.ts +46 -6
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +97 -6
- package/dist/client.js.map +1 -1
- package/dist/contracts/release_registry/release_registry.d.ts +114 -0
- package/dist/contracts/release_registry/release_registry.d.ts.map +1 -0
- package/dist/contracts/release_registry/release_registry.js +119 -0
- package/dist/contracts/release_registry/release_registry.js.map +1 -0
- package/dist/contracts/royalty_pool/pool.d.ts +28 -2
- package/dist/contracts/royalty_pool/pool.d.ts.map +1 -1
- package/dist/contracts/royalty_pool/pool.js +28 -2
- package/dist/contracts/royalty_pool/pool.js.map +1 -1
- package/dist/contracts/utils/index.d.ts +44 -0
- package/dist/contracts/utils/index.d.ts.map +1 -1
- package/dist/contracts/utils/index.js +104 -2
- package/dist/contracts/utils/index.js.map +1 -1
- package/dist/contracts.d.ts +1 -0
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +4 -1
- package/dist/contracts.js.map +1 -1
- package/dist/cover.d.ts +3 -6
- package/dist/cover.d.ts.map +1 -1
- package/dist/cover.js +7 -16
- package/dist/cover.js.map +1 -1
- package/dist/credits.d.ts.map +1 -1
- package/dist/credits.js +17 -43
- package/dist/credits.js.map +1 -1
- package/dist/deployments.d.ts +95 -0
- package/dist/deployments.d.ts.map +1 -0
- package/dist/deployments.js +64 -0
- package/dist/deployments.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/read/catalog.d.ts +2 -12
- package/dist/read/catalog.d.ts.map +1 -1
- package/dist/read/catalog.js +9 -24
- package/dist/read/catalog.js.map +1 -1
- package/dist/read/config.d.ts +7 -9
- package/dist/read/config.d.ts.map +1 -1
- package/dist/read/config.js +24 -38
- package/dist/read/config.js.map +1 -1
- package/dist/read/index.d.ts +1 -1
- package/dist/read/index.d.ts.map +1 -1
- package/dist/read/index.js +1 -1
- package/dist/read/index.js.map +1 -1
- package/dist/read/types.d.ts +1 -1
- package/dist/read/types.d.ts.map +1 -1
- package/dist/read/wallet.d.ts +3 -7
- package/dist/read/wallet.d.ts.map +1 -1
- package/dist/read/wallet.js +11 -38
- package/dist/read/wallet.js.map +1 -1
- package/dist/read/works.d.ts +2 -5
- package/dist/read/works.d.ts.map +1 -1
- package/dist/read/works.js +7 -37
- package/dist/read/works.js.map +1 -1
- package/dist/release-graph.d.ts +6 -19
- package/dist/release-graph.d.ts.map +1 -1
- package/dist/release-graph.js +29 -43
- package/dist/release-graph.js.map +1 -1
- package/dist/transactions.d.ts +12 -28
- package/dist/transactions.d.ts.map +1 -1
- package/dist/transactions.js +23 -28
- package/dist/transactions.js.map +1 -1
- package/package.json +8 -4
- package/src/client.ts +152 -10
- package/src/contracts/release_registry/release_registry.ts +160 -0
- package/src/contracts/royalty_pool/pool.ts +28 -2
- package/src/contracts/utils/index.ts +156 -4
- package/src/contracts.ts +5 -1
- package/src/cover.ts +8 -19
- package/src/credits.ts +23 -63
- package/src/deployments.ts +148 -0
- package/src/index.ts +6 -3
- package/src/read/catalog.ts +9 -29
- package/src/read/config.ts +29 -46
- package/src/read/index.ts +0 -1
- package/src/read/types.ts +1 -1
- package/src/read/wallet.ts +11 -37
- package/src/read/works.ts +5 -42
- package/src/release-graph.ts +40 -75
- package/src/transactions.ts +33 -62
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**************************************************************
|
|
2
|
+
* THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
|
|
3
|
+
**************************************************************/
|
|
4
|
+
/**
|
|
5
|
+
* The recommended canonical parent namespace for `miso::release::new`.
|
|
6
|
+
*
|
|
7
|
+
* `miso::release::new` takes `parent: &mut UID` and derives every release's id
|
|
8
|
+
* from `(parent, digest)`: core is deliberately parent-agnostic and implements no
|
|
9
|
+
* coordination policy of its own (see the "Consent scope" section of
|
|
10
|
+
* `miso::release`'s module doc). This package supplies the one recommended parent
|
|
11
|
+
* — a shared, permissionless, undeletable `UID` — and is deliberately the _only_
|
|
12
|
+
* policy it implements: it neither gates who may assemble a release through it nor
|
|
13
|
+
* interprets what a `Track` means.
|
|
14
|
+
*
|
|
15
|
+
* ### One instance, ever
|
|
16
|
+
*
|
|
17
|
+
* The module exposes no constructor: the only `ReleaseRegistry` that can ever
|
|
18
|
+
* exist is the canonical one created and shared by package initialization. "The
|
|
19
|
+
* registry" is therefore unambiguous on-chain — the type itself names the
|
|
20
|
+
* namespace, not a config convention. Every `new_release` takes `&mut` on that one
|
|
21
|
+
* shared object, so release creation through it serializes per checkpoint; the
|
|
22
|
+
* ceiling is accepted — releases are rare events. Alternative namespaces are still
|
|
23
|
+
* possible, but they live in other packages: core is parent-agnostic, and any
|
|
24
|
+
* object exposing a `&mut UID` (a release escrow, for instance) can parent its own
|
|
25
|
+
* releases; ids derived under different parents never collide, by construction of
|
|
26
|
+
* `derive_address`.
|
|
27
|
+
*
|
|
28
|
+
* ### Liveness
|
|
29
|
+
*
|
|
30
|
+
* The canonical instance is shared at publish, and this module exposes no delete
|
|
31
|
+
* function and no `uid_mut`: its only capability is being a derivation parent.
|
|
32
|
+
* That undeletability is a consent guarantee, not an accident — a `Track`'s
|
|
33
|
+
* `target_release_id` commits to this namespace's liveness (see `miso::release`'s
|
|
34
|
+
* module doc), and a deletable parent would strand every track and offer that ever
|
|
35
|
+
* targeted it. Keeping the surface to exactly one capability is what makes that
|
|
36
|
+
* guarantee durable: there is nothing else here to reason about.
|
|
37
|
+
*
|
|
38
|
+
* ### Permissionless
|
|
39
|
+
*
|
|
40
|
+
* No capability gates `new_release`: anyone holding a fully-formed `vector<Track>`
|
|
41
|
+
* may assemble and claim a release through this registry. That is not a gap —
|
|
42
|
+
* consent already lives in the `Track`s themselves, each one minted by its
|
|
43
|
+
* recording's admin via cap-gated `miso::track::new` against this exact digest.
|
|
44
|
+
* Assembly is bookkeeping over consent already given, not a second authorization
|
|
45
|
+
* step.
|
|
46
|
+
*/
|
|
47
|
+
import { MoveStruct, normalizeMoveArguments } from '../utils/index.js';
|
|
48
|
+
import { bcs } from '@mysten/sui/bcs';
|
|
49
|
+
import {} from '@mysten/sui/transactions';
|
|
50
|
+
const $moduleName = '@local-pkg/release_registry::release_registry';
|
|
51
|
+
export const ReleaseRegistry = new MoveStruct({ name: `${$moduleName}::ReleaseRegistry`, fields: {
|
|
52
|
+
id: bcs.Address
|
|
53
|
+
} });
|
|
54
|
+
export const ReleaseRegistryCreatedEvent = new MoveStruct({ name: `${$moduleName}::ReleaseRegistryCreatedEvent`, fields: {
|
|
55
|
+
registry_id: bcs.Address,
|
|
56
|
+
created_by: bcs.Address
|
|
57
|
+
} });
|
|
58
|
+
/**
|
|
59
|
+
* Assembles a release by delegating to `miso::release::new` with this registry as
|
|
60
|
+
* parent. Returns the `(Release, ReleaseAdminCap)` pair rather than transferring
|
|
61
|
+
* or sharing either: the release is not on-chain-final until `release::publish`
|
|
62
|
+
* consumes it by value — typically later in the same PTB — and where the cap ends
|
|
63
|
+
* up is the caller's decision, not this function's.
|
|
64
|
+
*/
|
|
65
|
+
export function newRelease(options) {
|
|
66
|
+
const packageAddress = options.package ?? '@local-pkg/release_registry';
|
|
67
|
+
const argumentsTypes = [
|
|
68
|
+
null,
|
|
69
|
+
'0x1::string::String',
|
|
70
|
+
'vector<null>',
|
|
71
|
+
'u256'
|
|
72
|
+
];
|
|
73
|
+
const parameterNames = ["self", "title", "tracks", "nonce"];
|
|
74
|
+
return (tx) => tx.moveCall({
|
|
75
|
+
package: packageAddress,
|
|
76
|
+
module: 'release_registry',
|
|
77
|
+
function: 'new_release',
|
|
78
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Derives the release id `new_release` would produce for the given inputs under
|
|
83
|
+
* this registry, without creating anything. Delegates to
|
|
84
|
+
* `miso::release::derive_target_release_id` with this registry's own id as parent.
|
|
85
|
+
*/
|
|
86
|
+
export function deriveTargetReleaseId(options) {
|
|
87
|
+
const packageAddress = options.package ?? '@local-pkg/release_registry';
|
|
88
|
+
const argumentsTypes = [
|
|
89
|
+
null,
|
|
90
|
+
'vector<0x2::object::ID>',
|
|
91
|
+
'vector<u64>',
|
|
92
|
+
'u256'
|
|
93
|
+
];
|
|
94
|
+
const parameterNames = ["self", "recordingIds", "trackSplitValues", "nonce"];
|
|
95
|
+
return (tx) => tx.moveCall({
|
|
96
|
+
package: packageAddress,
|
|
97
|
+
module: 'release_registry',
|
|
98
|
+
function: 'derive_target_release_id',
|
|
99
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Returns the registry's object id — the derivation parent that
|
|
104
|
+
* `derive_target_release_id` and `new_release` both commit to.
|
|
105
|
+
*/
|
|
106
|
+
export function id(options) {
|
|
107
|
+
const packageAddress = options.package ?? '@local-pkg/release_registry';
|
|
108
|
+
const argumentsTypes = [
|
|
109
|
+
null
|
|
110
|
+
];
|
|
111
|
+
const parameterNames = ["self"];
|
|
112
|
+
return (tx) => tx.moveCall({
|
|
113
|
+
package: packageAddress,
|
|
114
|
+
module: 'release_registry',
|
|
115
|
+
function: 'id',
|
|
116
|
+
arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames),
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=release_registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release_registry.js","sourceRoot":"","sources":["../../../src/contracts/release_registry/release_registry.ts"],"names":[],"mappings":"AAAA;;gEAEgE;AAGhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAA+B,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAA8C,MAAM,0BAA0B,CAAC;AACtF,MAAM,WAAW,GAAG,+CAA+C,CAAC;AACpE,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,mBAAmB,EAAE,MAAM,EAAE;QACzF,EAAE,EAAE,GAAG,CAAC,OAAO;KAClB,EAAE,CAAC,CAAC;AACT,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,+BAA+B,EAAE,MAAM,EAAE;QACjH,WAAW,EAAE,GAAG,CAAC,OAAO;QACxB,UAAU,EAAE,GAAG,CAAC,OAAO;KAC1B,EAAE,CAAC,CAAC;AAgBT;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,OAA0B;IACjD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;IACxE,MAAM,cAAc,GAAG;QACnB,IAAI;QACJ,qBAAqB;QACrB,cAAc;QACd,MAAM;KACmB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5D,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,kBAAkB;QAC1B,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KACvF,CAAC,CAAC;AACP,CAAC;AAgBD;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAqC;IACvE,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;IACxE,MAAM,cAAc,GAAG;QACnB,IAAI;QACJ,yBAAyB;QACzB,aAAa;QACb,MAAM;KACmB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAC7E,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,kBAAkB;QAC1B,QAAQ,EAAE,0BAA0B;QACpC,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KACvF,CAAC,CAAC;AACP,CAAC;AAUD;;;GAGG;AACH,MAAM,UAAU,EAAE,CAAC,OAAkB;IACjC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,6BAA6B,CAAC;IACxE,MAAM,cAAc,GAAG;QACnB,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,kBAAkB;QAC1B,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;KACvF,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
|
|
3
3
|
**************************************************************/
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Accumulator-based royalty distribution pool for the protocol's share tokens.
|
|
6
6
|
*
|
|
7
7
|
* A `RoyaltyPool<Share, Currency>` is a derived object of any UID-bearing parent.
|
|
8
8
|
* Its address is deterministically derived from `(parent_id, Currency)` — at most
|
|
@@ -19,7 +19,33 @@
|
|
|
19
19
|
* transfers or balances credited to the pool's funds-accumulator. Both are
|
|
20
20
|
* permissionless: anyone who notices stuck funds can fold them in. The canonical
|
|
21
21
|
* funding path remains `deposit(balance)` from a higher-layer extension (e.g.
|
|
22
|
-
* `composition_royalty_distributor`) that pulls from the parent's address.
|
|
22
|
+
* `composition_royalty_distributor`) that pulls from the parent's address. Note
|
|
23
|
+
* the recovery valves run through `deposit`, which aborts while no shares are
|
|
24
|
+
* staked — and the pool has no other withdrawal path — so funds sent to the pool's
|
|
25
|
+
* address before the first registration stay locked until a stake registers.
|
|
26
|
+
* Payers should always target the parent's address, never the pool's.
|
|
27
|
+
*
|
|
28
|
+
* ### No activation delay (deliberate)
|
|
29
|
+
*
|
|
30
|
+
* Registration earns from the next deposit onward; there is no bonding or
|
|
31
|
+
* unbonding period (contrast Sui native staking's next-epoch activation). With the
|
|
32
|
+
* protocol's fixed-supply share token this is safe: a stake's take of any deposit
|
|
33
|
+
* is `v · s / S` with `S` (total registered) bounded by the share supply, so a
|
|
34
|
+
* continuously registered stake is guaranteed at least its pro-rata share of total
|
|
35
|
+
* supply on every deposit. Short-lived or just-in-time registrations can only
|
|
36
|
+
* compete for the _unregistered_ supply's drift — the designed incentive for being
|
|
37
|
+
* registered — never below any registered stake's floor.
|
|
38
|
+
*
|
|
39
|
+
* ### Precision
|
|
40
|
+
*
|
|
41
|
+
* The share token's shape is fixed at issuance by the protocol — exactly 10¹³ base
|
|
42
|
+
* units, 6 decimals, supply made immutable via `miso_share::share::initialize`
|
|
43
|
+
* (`make_supply_fixed`) — so `staked_shares ≤ 10¹³` objectively. A deposit of
|
|
44
|
+
* `value ≥ 1` base units therefore advances the accumulator by
|
|
45
|
+
* `value · PRECISION / staked_shares ≥ 10¹⁸ / 10¹³ = 10⁵`: the truncation-to-zero
|
|
46
|
+
* case that would permanently lock a deposit in the pool balance is impossible by
|
|
47
|
+
* construction, not by convention. Sub-base-unit claim residue (the remaining
|
|
48
|
+
* source of locked dust) is documented on `unregister_stake`.
|
|
23
49
|
*/
|
|
24
50
|
import { MoveStruct, MoveTuple, type RawTransactionArgument } from '../utils/index.js';
|
|
25
51
|
import { type Transaction, type TransactionArgument } from '@mysten/sui/transactions';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../../src/contracts/royalty_pool/pool.ts"],"names":[],"mappings":"AAAA;;gEAEgE;AAGhE
|
|
1
|
+
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../../src/contracts/royalty_pool/pool.ts"],"names":[],"mappings":"AAAA;;gEAEgE;AAGhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAA0B,KAAK,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE/G,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGtF,eAAO,MAAM,WAAW;;;;;;;IAKhB;;;OAGG;;iFAEH,CAAC;AACT,eAAO,MAAM,cAAc,sJAAoG,CAAC;AAChI,eAAO,MAAM,uBAAuB;;;6FAG5B,CAAC;AACT,eAAO,MAAM,qBAAqB;;;2FAG1B,CAAC;AACT,eAAO,MAAM,oBAAoB;;;;0FAIzB,CAAC;AACT,eAAO,MAAM,sBAAsB;;;;4FAI3B,CAAC;AACT,eAAO,MAAM,mBAAmB;;;;yFAIxB,CAAC;AACT,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CAC1C;AACD,MAAM,WAAW,UAAU;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,YAAY,GAAG;QACtB,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC;KACzC,CAAC;IACF,aAAa,EAAE;QACX,MAAM;QACN,MAAM;KACT,CAAC;CACL;AACD;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,UAAU,IAM5B,IAAI,WAAW,0DAO1B;AACD,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CACxC;AACD,MAAM,WAAW,YAAY;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,cAAc,GAAG;QACxB,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC;KACvC,CAAC;IACF,aAAa,EAAE;QACX,MAAM;QACN,MAAM;KACT,CAAC;CACL;AACD,0EAA0E;AAC1E,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,IAM/B,IAAI,WAAW,0DAO1B;AACD,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrC,OAAO,EAAE,mBAAmB,CAAC;CAChC;AACD,MAAM,WAAW,cAAc;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,gBAAgB,GAAG;QAC1B,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC;QACpC,OAAO,EAAE,mBAAmB;KAC/B,CAAC;IACF,aAAa,EAAE;QACX,MAAM;QACN,MAAM;KACT,CAAC;CACL;AACD;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,cAAc,IAOnC,IAAI,WAAW,0DAO1B;AACD,MAAM,WAAW,0BAA0B;IACvC,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrC,KAAK,EAAE,mBAAmB,CAAC;CAC9B;AACD,MAAM,WAAW,wBAAwB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,0BAA0B,GAAG;QACpC,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC;QACpC,KAAK,EAAE,mBAAmB;KAC7B,CAAC;IACF,aAAa,EAAE;QACX,MAAM;QACN,MAAM;KACT,CAAC;CACL;AACD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,IAOvD,IAAI,WAAW,0DAO1B;AACD,MAAM,WAAW,yBAAyB;IACtC,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrC,KAAK,EAAE,sBAAsB,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CAClD;AACD,MAAM,WAAW,uBAAuB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,yBAAyB,GAAG;QACnC,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC;QACpC,KAAK,EAAE,sBAAsB,CAAC,MAAM,GAAG,MAAM,CAAC;KACjD,CAAC;IACF,aAAa,EAAE;QACX,MAAM;QACN,MAAM;KACT,CAAC;CACL;AACD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,IAOrD,IAAI,WAAW,0DAO1B;AACD,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrC,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CACzC;AACD,MAAM,WAAW,oBAAoB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,sBAAsB,GAAG;QAChC,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC;QACpC,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC;KACxC,CAAC;IACF,aAAa,EAAE;QACX,MAAM;QACN,MAAM;KACT,CAAC;CACL;AACD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,IAO/C,IAAI,WAAW,0DAO1B;AACD,MAAM,WAAW,wBAAwB;IACrC,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrC,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CACzC;AACD,MAAM,WAAW,sBAAsB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,wBAAwB,GAAG;QAClC,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC;QACpC,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC;KACxC,CAAC;IACF,aAAa,EAAE;QACX,MAAM;QACN,MAAM;KACT,CAAC;CACL;AACD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,IAOnD,IAAI,WAAW,0DAO1B;AACD,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrC,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CACzC;AACD,MAAM,WAAW,mBAAmB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,qBAAqB,GAAG;QAC/B,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC;QACpC,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC;KACxC,CAAC;IACF,aAAa,EAAE;QACX,MAAM;QACN,MAAM;KACT,CAAC;CACL;AACD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,IAO7C,IAAI,WAAW,0DAO1B;AACD,MAAM,WAAW,uBAAuB;IACpC,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrC,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CACzC;AACD,MAAM,WAAW,qBAAqB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,uBAAuB,GAAG;QACjC,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC;QACpC,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC;KACxC,CAAC;IACF,aAAa,EAAE;QACX,MAAM;QACN,MAAM;KACT,CAAC;CACL;AACD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,IAOjD,IAAI,WAAW,0DAO1B;AACD,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CACxC;AACD,MAAM,WAAW,SAAS;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,WAAW,GAAG;QACrB,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC;KACvC,CAAC;IACF,aAAa,EAAE;QACX,MAAM;QACN,MAAM;KACT,CAAC;CACL;AACD,wBAAgB,EAAE,CAAC,OAAO,EAAE,SAAS,IAMzB,IAAI,WAAW,0DAO1B;AACD,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CACxC;AACD,MAAM,WAAW,cAAc;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,gBAAgB,GAAG;QAC1B,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC;KACvC,CAAC;IACF,aAAa,EAAE;QACX,MAAM;QACN,MAAM;KACT,CAAC;CACL;AACD,wBAAgB,OAAO,CAAC,OAAO,EAAE,cAAc,IAMnC,IAAI,WAAW,0DAO1B;AACD,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CACxC;AACD,MAAM,WAAW,mBAAmB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,qBAAqB,GAAG;QAC/B,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC;KACvC,CAAC;IACF,aAAa,EAAE;QACX,MAAM;QACN,MAAM;KACT,CAAC;CACL;AACD,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,IAM7C,IAAI,WAAW,0DAO1B;AACD,MAAM,WAAW,iCAAiC;IAC9C,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CACxC;AACD,MAAM,WAAW,+BAA+B;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,iCAAiC,GAAG;QAC3C,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC;KACvC,CAAC;IACF,aAAa,EAAE;QACX,MAAM;QACN,MAAM;KACT,CAAC;CACL;AACD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,+BAA+B,IAMrE,IAAI,WAAW,0DAO1B;AACD,MAAM,WAAW,2BAA2B;IACxC,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CACxC;AACD,MAAM,WAAW,yBAAyB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,2BAA2B,GAAG;QACrC,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC;KACvC,CAAC;IACF,aAAa,EAAE;QACX,MAAM;QACN,MAAM;KACT,CAAC;CACL;AACD,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,IAMzD,IAAI,WAAW,0DAO1B;AACD,MAAM,WAAW,uBAAuB;IACpC,QAAQ,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CAC5C;AACD,MAAM,WAAW,qBAAqB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,uBAAuB,GAAG;QACjC,QAAQ,EAAE,sBAAsB,CAAC,MAAM,CAAC;KAC3C,CAAC;IACF,aAAa,EAAE;QACX,MAAM;KACT,CAAC;CACL;AACD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,IAMjD,IAAI,WAAW,0DAO1B;AACD,MAAM,WAAW,0BAA0B;IACvC,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;CAC5C;AACD,MAAM,WAAW,wBAAwB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,0BAA0B,GAAG;QACpC,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC;QACpC,QAAQ,EAAE,sBAAsB,CAAC,MAAM,CAAC;KAC3C,CAAC;IACF,aAAa,EAAE;QACX,MAAM;QACN,MAAM;KACT,CAAC;CACL;AACD,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,IAOvD,IAAI,WAAW,0DAO1B"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
|
|
3
3
|
**************************************************************/
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Accumulator-based royalty distribution pool for the protocol's share tokens.
|
|
6
6
|
*
|
|
7
7
|
* A `RoyaltyPool<Share, Currency>` is a derived object of any UID-bearing parent.
|
|
8
8
|
* Its address is deterministically derived from `(parent_id, Currency)` — at most
|
|
@@ -19,7 +19,33 @@
|
|
|
19
19
|
* transfers or balances credited to the pool's funds-accumulator. Both are
|
|
20
20
|
* permissionless: anyone who notices stuck funds can fold them in. The canonical
|
|
21
21
|
* funding path remains `deposit(balance)` from a higher-layer extension (e.g.
|
|
22
|
-
* `composition_royalty_distributor`) that pulls from the parent's address.
|
|
22
|
+
* `composition_royalty_distributor`) that pulls from the parent's address. Note
|
|
23
|
+
* the recovery valves run through `deposit`, which aborts while no shares are
|
|
24
|
+
* staked — and the pool has no other withdrawal path — so funds sent to the pool's
|
|
25
|
+
* address before the first registration stay locked until a stake registers.
|
|
26
|
+
* Payers should always target the parent's address, never the pool's.
|
|
27
|
+
*
|
|
28
|
+
* ### No activation delay (deliberate)
|
|
29
|
+
*
|
|
30
|
+
* Registration earns from the next deposit onward; there is no bonding or
|
|
31
|
+
* unbonding period (contrast Sui native staking's next-epoch activation). With the
|
|
32
|
+
* protocol's fixed-supply share token this is safe: a stake's take of any deposit
|
|
33
|
+
* is `v · s / S` with `S` (total registered) bounded by the share supply, so a
|
|
34
|
+
* continuously registered stake is guaranteed at least its pro-rata share of total
|
|
35
|
+
* supply on every deposit. Short-lived or just-in-time registrations can only
|
|
36
|
+
* compete for the _unregistered_ supply's drift — the designed incentive for being
|
|
37
|
+
* registered — never below any registered stake's floor.
|
|
38
|
+
*
|
|
39
|
+
* ### Precision
|
|
40
|
+
*
|
|
41
|
+
* The share token's shape is fixed at issuance by the protocol — exactly 10¹³ base
|
|
42
|
+
* units, 6 decimals, supply made immutable via `miso_share::share::initialize`
|
|
43
|
+
* (`make_supply_fixed`) — so `staked_shares ≤ 10¹³` objectively. A deposit of
|
|
44
|
+
* `value ≥ 1` base units therefore advances the accumulator by
|
|
45
|
+
* `value · PRECISION / staked_shares ≥ 10¹⁸ / 10¹³ = 10⁵`: the truncation-to-zero
|
|
46
|
+
* case that would permanently lock a deposit in the pool balance is impossible by
|
|
47
|
+
* construction, not by convention. Sub-base-unit claim residue (the remaining
|
|
48
|
+
* source of locked dust) is documented on `unregister_stake`.
|
|
23
49
|
*/
|
|
24
50
|
import { MoveStruct, MoveTuple, normalizeMoveArguments } from '../utils/index.js';
|
|
25
51
|
import { bcs } from '@mysten/sui/bcs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../src/contracts/royalty_pool/pool.ts"],"names":[],"mappings":"AAAA;;gEAEgE;AAGhE
|
|
1
|
+
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../src/contracts/royalty_pool/pool.ts"],"names":[],"mappings":"AAAA;;gEAEgE;AAGhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,sBAAsB,EAA+B,MAAM,mBAAmB,CAAC;AAC/G,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAA8C,MAAM,0BAA0B,CAAC;AACtF,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,MAAM,WAAW,GAAG,+BAA+B,CAAC;AACpD,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,gDAAgD,EAAE,MAAM,EAAE;QAClH,EAAE,EAAE,GAAG,CAAC,OAAO;QACf,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,aAAa,EAAE,GAAG,CAAC,GAAG,EAAE;QACxB,2BAA2B,EAAE,GAAG,CAAC,IAAI,EAAE;QACvC;;;WAGG;QACH,mBAAmB,EAAE,GAAG,CAAC,IAAI,EAAE;KAClC,EAAE,CAAC,CAAC;AACT,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,oCAAoC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;AAChI,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,4DAA4D,EAAE,MAAM,EAAE;QAC1I,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,SAAS,EAAE,GAAG,CAAC,OAAO;KACzB,EAAE,CAAC,CAAC;AACT,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,0DAA0D,EAAE,MAAM,EAAE;QACtI,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE;KACnB,EAAE,CAAC,CAAC;AACT,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,yDAAyD,EAAE,MAAM,EAAE;QACpI,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,QAAQ,EAAE,GAAG,CAAC,OAAO;QACrB,aAAa,EAAE,GAAG,CAAC,GAAG,EAAE;KAC3B,EAAE,CAAC,CAAC;AACT,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,2DAA2D,EAAE,MAAM,EAAE;QACxI,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,QAAQ,EAAE,GAAG,CAAC,OAAO;QACrB,eAAe,EAAE,GAAG,CAAC,GAAG,EAAE;KAC7B,EAAE,CAAC,CAAC;AACT,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,WAAW,wDAAwD,EAAE,MAAM,EAAE;QAClI,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,QAAQ,EAAE,GAAG,CAAC,OAAO;QACrB,aAAa,EAAE,GAAG,CAAC,GAAG,EAAE;KAC3B,EAAE,CAAC,CAAC;AAcT;;;;;;;GAOG;AACH,MAAM,UAAU,IAAI,CAAC,OAAmB;IACpC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,yBAAyB,CAAC;IACpE,MAAM,cAAc,GAAG;QACnB,iBAAiB;KACQ,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;QACpF,aAAa,EAAE,OAAO,CAAC,aAAa;KACvC,CAAC,CAAC;AACP,CAAC;AAcD,0EAA0E;AAC1E,MAAM,UAAU,KAAK,CAAC,OAAqB;IACvC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,yBAAyB,CAAC;IACpE,MAAM,cAAc,GAAG;QACnB,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,OAAO;QACjB,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;QACpF,aAAa,EAAE,OAAO,CAAC,aAAa;KACvC,CAAC,CAAC;AACP,CAAC;AAgBD;;;;;;;;GAQG;AACH,MAAM,UAAU,OAAO,CAAC,OAAuB;IAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,yBAAyB,CAAC;IACpE,MAAM,cAAc,GAAG;QACnB,IAAI;QACJ,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3C,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;QACpF,aAAa,EAAE,OAAO,CAAC,aAAa;KACvC,CAAC,CAAC;AACP,CAAC;AAgBD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAiC;IAC/D,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,yBAAyB,CAAC;IACpE,MAAM,cAAc,GAAG;QACnB,IAAI;QACJ,cAAc;KACW,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,qBAAqB;QAC/B,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;QACpF,aAAa,EAAE,OAAO,CAAC,aAAa;KACvC,CAAC,CAAC;AACP,CAAC;AAgBD;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgC;IAC7D,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,yBAAyB,CAAC;IACpE,MAAM,cAAc,GAAG;QACnB,IAAI;QACJ,KAAK;KACoB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,oBAAoB;QAC9B,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;QACpF,aAAa,EAAE,OAAO,CAAC,aAAa;KACvC,CAAC,CAAC;AACP,CAAC;AAgBD;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,OAA6B;IACvD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,yBAAyB,CAAC;IACpE,MAAM,cAAc,GAAG;QACnB,IAAI;QACJ,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,gBAAgB;QAC1B,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;QACpF,aAAa,EAAE,OAAO,CAAC,aAAa;KACvC,CAAC,CAAC;AACP,CAAC;AAgBD;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,OAA+B;IAC3D,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,yBAAyB,CAAC;IACpE,MAAM,cAAc,GAAG;QACnB,IAAI;QACJ,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,kBAAkB;QAC5B,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;QACpF,aAAa,EAAE,OAAO,CAAC,aAAa;KACvC,CAAC,CAAC;AACP,CAAC;AAgBD;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAA4B;IACrD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,yBAAyB,CAAC;IACpE,MAAM,cAAc,GAAG;QACnB,IAAI;QACJ,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;QACpF,aAAa,EAAE,OAAO,CAAC,aAAa;KACvC,CAAC,CAAC;AACP,CAAC;AAgBD;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,OAA8B;IACzD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,yBAAyB,CAAC;IACpE,MAAM,cAAc,GAAG;QACnB,IAAI;QACJ,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,iBAAiB;QAC3B,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;QACpF,aAAa,EAAE,OAAO,CAAC,aAAa;KACvC,CAAC,CAAC;AACP,CAAC;AAcD,MAAM,UAAU,EAAE,CAAC,OAAkB;IACjC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,yBAAyB,CAAC;IACpE,MAAM,cAAc,GAAG;QACnB,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;QACpF,aAAa,EAAE,OAAO,CAAC,aAAa;KACvC,CAAC,CAAC;AACP,CAAC;AAcD,MAAM,UAAU,OAAO,CAAC,OAAuB;IAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,yBAAyB,CAAC;IACpE,MAAM,cAAc,GAAG;QACnB,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;QACpF,aAAa,EAAE,OAAO,CAAC,aAAa;KACvC,CAAC,CAAC;AACP,CAAC;AAcD,MAAM,UAAU,YAAY,CAAC,OAA4B;IACrD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,yBAAyB,CAAC;IACpE,MAAM,cAAc,GAAG;QACnB,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;QACpF,aAAa,EAAE,OAAO,CAAC,aAAa;KACvC,CAAC,CAAC;AACP,CAAC;AAcD,MAAM,UAAU,wBAAwB,CAAC,OAAwC;IAC7E,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,yBAAyB,CAAC;IACpE,MAAM,cAAc,GAAG;QACnB,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,6BAA6B;QACvC,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;QACpF,aAAa,EAAE,OAAO,CAAC,aAAa;KACvC,CAAC,CAAC;AACP,CAAC;AAcD,gFAAgF;AAChF,MAAM,UAAU,kBAAkB,CAAC,OAAkC;IACjE,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,yBAAyB,CAAC;IACpE,MAAM,cAAc,GAAG;QACnB,IAAI;KACqB,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,qBAAqB;QAC/B,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;QACpF,aAAa,EAAE,OAAO,CAAC,aAAa;KACvC,CAAC,CAAC;AACP,CAAC;AAaD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,OAA8B;IACzD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,yBAAyB,CAAC;IACpE,MAAM,cAAc,GAAG;QACnB,iBAAiB;KACQ,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,UAAU,CAAC,CAAC;IACpC,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,iBAAiB;QAC3B,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;QACpF,aAAa,EAAE,OAAO,CAAC,aAAa;KACvC,CAAC,CAAC;AACP,CAAC;AAgBD,iFAAiF;AACjF,MAAM,UAAU,iBAAiB,CAAC,OAAiC;IAC/D,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,yBAAyB,CAAC;IACpE,MAAM,cAAc,GAAG;QACnB,IAAI;QACJ,iBAAiB;KACQ,CAAC;IAC9B,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAe,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,cAAc;QACvB,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,qBAAqB;QAC/B,SAAS,EAAE,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,CAAC;QACpF,aAAa,EAAE,OAAO,CAAC,aAAa;KACvC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -10,7 +10,42 @@ export type GetManyOptions<Include extends Omit<SuiClientTypes.ObjectInclude, 'c
|
|
|
10
10
|
};
|
|
11
11
|
export declare function getPureBcsSchema(typeTag: string | TypeTag): BcsType<any> | null;
|
|
12
12
|
export declare function normalizeMoveArguments(args: unknown[] | object, argTypes: readonly (string | null)[], parameterNames?: string[]): TransactionArgument[];
|
|
13
|
+
/** A type argument: a type tag string, or a BCS type whose name is a Move type. */
|
|
14
|
+
export type TypeArgument = string | BcsType<any>;
|
|
15
|
+
export interface TypeTagOptions {
|
|
16
|
+
package?: string;
|
|
17
|
+
typeArguments?: readonly TypeArgument[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* `typeArguments` is required when the type's name contains unfilled
|
|
21
|
+
* `phantom X` parameters (at any depth). Everything else — argument arity,
|
|
22
|
+
* position contents, and tag validity — is validated at runtime.
|
|
23
|
+
*/
|
|
24
|
+
type TypeTagParams<Name extends string> = Name extends `${string}phantom ${string}` ? [options: TypeTagOptions & {
|
|
25
|
+
typeArguments: readonly TypeArgument[];
|
|
26
|
+
}] : [options?: TypeTagOptions];
|
|
27
|
+
type ResolveTypeTagOptions<Name extends string> = {
|
|
28
|
+
client: ClientWithCoreApi;
|
|
29
|
+
} & (Name extends `${string}phantom ${string}` ? TypeTagOptions & {
|
|
30
|
+
typeArguments: readonly TypeArgument[];
|
|
31
|
+
} : TypeTagOptions);
|
|
13
32
|
export declare class MoveStruct<T extends Record<string, BcsType<any>>, const Name extends string = string> extends BcsStruct<T, Name> {
|
|
33
|
+
/**
|
|
34
|
+
* Build the type tag for this struct.
|
|
35
|
+
*
|
|
36
|
+
* `typeArguments` is the full positional list, in Move declaration order, and
|
|
37
|
+
* is required when the struct has unfilled phantom parameters. The result may
|
|
38
|
+
* contain MVR names: those are valid in transaction `typeArguments`, but for
|
|
39
|
+
* queries or comparisons against on-chain data use `resolveTypeTag` instead.
|
|
40
|
+
*/
|
|
41
|
+
typeTag(...args: TypeTagParams<Name>): string;
|
|
42
|
+
/**
|
|
43
|
+
* Build the type tag for this struct, then resolve any MVR names through the
|
|
44
|
+
* client (using its configured overrides and the MVR API) and return the
|
|
45
|
+
* normalized, address-only form suitable for queries and comparisons against
|
|
46
|
+
* on-chain data.
|
|
47
|
+
*/
|
|
48
|
+
resolveTypeTag(options: ResolveTypeTagOptions<Name>): Promise<string>;
|
|
14
49
|
get<Include extends Omit<SuiClientTypes.ObjectInclude, 'content' | 'json'> = {}>({ objectId, ...options }: GetOptions<Include>): Promise<SuiClientTypes.Object<Include & {
|
|
15
50
|
content: true;
|
|
16
51
|
json: true;
|
|
@@ -25,7 +60,16 @@ export declare class MoveStruct<T extends Record<string, BcsType<any>>, const Na
|
|
|
25
60
|
}>>;
|
|
26
61
|
}
|
|
27
62
|
export declare class MoveEnum<T extends Record<string, BcsType<any> | null>, const Name extends string> extends BcsEnum<T, Name> {
|
|
63
|
+
/** Build the type tag for this enum. See `MoveStruct.typeTag` for semantics. */
|
|
64
|
+
typeTag(...args: TypeTagParams<Name>): string;
|
|
65
|
+
/** Build and resolve the type tag for this enum. See `MoveStruct.resolveTypeTag`. */
|
|
66
|
+
resolveTypeTag(options: ResolveTypeTagOptions<Name>): Promise<string>;
|
|
28
67
|
}
|
|
29
68
|
export declare class MoveTuple<const T extends readonly BcsType<any>[], const Name extends string> extends BcsTuple<T, Name> {
|
|
69
|
+
/** Build the type tag for this struct. See `MoveStruct.typeTag` for semantics. */
|
|
70
|
+
typeTag(...args: TypeTagParams<Name>): string;
|
|
71
|
+
/** Build and resolve the type tag for this struct. See `MoveStruct.resolveTypeTag`. */
|
|
72
|
+
resolveTypeTag(options: ResolveTypeTagOptions<Name>): Promise<string>;
|
|
30
73
|
}
|
|
74
|
+
export {};
|
|
31
75
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/utils/index.ts"],"names":[],"mappings":"AACA,OAAO,EAEN,KAAK,OAAO,EACZ,KAAK,OAAO,EAEZ,SAAS,EACT,OAAO,EACP,QAAQ,EACR,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,KAAK,mBAAmB,EAAc,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAKjF,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC;AAEhE,MAAM,MAAM,UAAU,CAAC,OAAO,SAAS,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG,EAAE,IACxF,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG;IAAE,MAAM,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAE1E,MAAM,MAAM,cAAc,CAAC,OAAO,SAAS,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG,EAAE,IAC5F,cAAc,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG;IAAE,MAAM,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAE3E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAmD/E;AAED,wBAAgB,sBAAsB,CACrC,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,EACxB,QAAQ,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,EACpC,cAAc,CAAC,EAAE,MAAM,EAAE,yBA6EzB;AAED,qBAAa,UAAU,CACtB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EACtC,KAAK,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,CACjC,SAAQ,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/utils/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { bcs, TypeTagSerializer, BcsStruct, BcsEnum, BcsTuple, } from '@mysten/sui/bcs';
|
|
2
|
-
import { normalizeSuiAddress } from '@mysten/sui/utils';
|
|
2
|
+
import { normalizeStructTag, normalizeSuiAddress } from '@mysten/sui/utils';
|
|
3
3
|
import { isArgument } from '@mysten/sui/transactions';
|
|
4
4
|
import {} from '@mysten/sui/client';
|
|
5
5
|
const MOVE_STDLIB_ADDRESS = normalizeSuiAddress('0x1');
|
|
@@ -116,7 +116,93 @@ export function normalizeMoveArguments(args, argTypes, parameterNames) {
|
|
|
116
116
|
}
|
|
117
117
|
return normalizedArgs;
|
|
118
118
|
}
|
|
119
|
+
const HAS_PHANTOM_REGEX = /phantom [A-Za-z_$][A-Za-z0-9_$]*/;
|
|
120
|
+
function splitTopLevelTypeArgs(inner) {
|
|
121
|
+
const parts = [];
|
|
122
|
+
let depth = 0;
|
|
123
|
+
let current = '';
|
|
124
|
+
for (const char of inner) {
|
|
125
|
+
if (char === ',' && depth === 0) {
|
|
126
|
+
parts.push(current.trim());
|
|
127
|
+
current = '';
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
if (char === '<')
|
|
131
|
+
depth++;
|
|
132
|
+
if (char === '>')
|
|
133
|
+
depth--;
|
|
134
|
+
current += char;
|
|
135
|
+
}
|
|
136
|
+
if (current)
|
|
137
|
+
parts.push(current.trim());
|
|
138
|
+
return parts;
|
|
139
|
+
}
|
|
140
|
+
function buildTypeTag(name, options) {
|
|
141
|
+
const lt = name.indexOf('<');
|
|
142
|
+
const base = lt === -1 ? name : name.slice(0, lt);
|
|
143
|
+
if (base.split('::').length !== 3) {
|
|
144
|
+
throw new Error(`${name} is not a top-level Move type`);
|
|
145
|
+
}
|
|
146
|
+
let result = name;
|
|
147
|
+
if (options?.typeArguments) {
|
|
148
|
+
const baked = lt === -1 ? [] : splitTopLevelTypeArgs(name.slice(lt + 1, -1));
|
|
149
|
+
const supplied = options.typeArguments.map((arg) => {
|
|
150
|
+
if (typeof arg === 'string') {
|
|
151
|
+
return arg;
|
|
152
|
+
}
|
|
153
|
+
if (arg && typeof arg.serialize === 'function' && typeof arg.name === 'string') {
|
|
154
|
+
return arg.name;
|
|
155
|
+
}
|
|
156
|
+
throw new Error(`Invalid type argument ${stringify(arg)}`);
|
|
157
|
+
});
|
|
158
|
+
if (supplied.length !== baked.length) {
|
|
159
|
+
throw new Error(`Expected ${baked.length} type arguments for ${base}, got ${supplied.length}`);
|
|
160
|
+
}
|
|
161
|
+
result = supplied.length === 0 ? base : `${base}<${supplied.join(', ')}>`;
|
|
162
|
+
}
|
|
163
|
+
if (HAS_PHANTOM_REGEX.test(result)) {
|
|
164
|
+
throw new Error(options?.typeArguments
|
|
165
|
+
? `A type argument contains an unfilled phantom parameter in ${result}`
|
|
166
|
+
: `Missing type arguments for ${result}`);
|
|
167
|
+
}
|
|
168
|
+
if (options?.package) {
|
|
169
|
+
const [, ...rest] = result.split('::');
|
|
170
|
+
result = [options.package, ...rest].join('::');
|
|
171
|
+
}
|
|
172
|
+
// fully validate address-only tags (MVR names can't be parsed as type tags)
|
|
173
|
+
if (!HAS_PHANTOM_REGEX.test(result) && !/[@/]/.test(result)) {
|
|
174
|
+
TypeTagSerializer.parseFromStr(result);
|
|
175
|
+
}
|
|
176
|
+
return result;
|
|
177
|
+
}
|
|
178
|
+
async function resolveBuiltTypeTag(name, options) {
|
|
179
|
+
const { client, ...rest } = options;
|
|
180
|
+
const { type } = await client.core.mvr.resolveType({
|
|
181
|
+
type: buildTypeTag(name, rest),
|
|
182
|
+
});
|
|
183
|
+
return normalizeStructTag(type);
|
|
184
|
+
}
|
|
119
185
|
export class MoveStruct extends BcsStruct {
|
|
186
|
+
/**
|
|
187
|
+
* Build the type tag for this struct.
|
|
188
|
+
*
|
|
189
|
+
* `typeArguments` is the full positional list, in Move declaration order, and
|
|
190
|
+
* is required when the struct has unfilled phantom parameters. The result may
|
|
191
|
+
* contain MVR names: those are valid in transaction `typeArguments`, but for
|
|
192
|
+
* queries or comparisons against on-chain data use `resolveTypeTag` instead.
|
|
193
|
+
*/
|
|
194
|
+
typeTag(...args) {
|
|
195
|
+
return buildTypeTag(this.name, args[0]);
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Build the type tag for this struct, then resolve any MVR names through the
|
|
199
|
+
* client (using its configured overrides and the MVR API) and return the
|
|
200
|
+
* normalized, address-only form suitable for queries and comparisons against
|
|
201
|
+
* on-chain data.
|
|
202
|
+
*/
|
|
203
|
+
async resolveTypeTag(options) {
|
|
204
|
+
return resolveBuiltTypeTag(this.name, options);
|
|
205
|
+
}
|
|
120
206
|
async get({ objectId, ...options }) {
|
|
121
207
|
const [res] = await this.getMany({
|
|
122
208
|
...options,
|
|
@@ -147,12 +233,28 @@ export class MoveStruct extends BcsStruct {
|
|
|
147
233
|
}
|
|
148
234
|
}
|
|
149
235
|
export class MoveEnum extends BcsEnum {
|
|
236
|
+
/** Build the type tag for this enum. See `MoveStruct.typeTag` for semantics. */
|
|
237
|
+
typeTag(...args) {
|
|
238
|
+
return buildTypeTag(this.name, args[0]);
|
|
239
|
+
}
|
|
240
|
+
/** Build and resolve the type tag for this enum. See `MoveStruct.resolveTypeTag`. */
|
|
241
|
+
async resolveTypeTag(options) {
|
|
242
|
+
return resolveBuiltTypeTag(this.name, options);
|
|
243
|
+
}
|
|
150
244
|
}
|
|
151
245
|
export class MoveTuple extends BcsTuple {
|
|
246
|
+
/** Build the type tag for this struct. See `MoveStruct.typeTag` for semantics. */
|
|
247
|
+
typeTag(...args) {
|
|
248
|
+
return buildTypeTag(this.name, args[0]);
|
|
249
|
+
}
|
|
250
|
+
/** Build and resolve the type tag for this struct. See `MoveStruct.resolveTypeTag`. */
|
|
251
|
+
async resolveTypeTag(options) {
|
|
252
|
+
return resolveBuiltTypeTag(this.name, options);
|
|
253
|
+
}
|
|
152
254
|
}
|
|
153
255
|
function stringify(val) {
|
|
154
256
|
if (typeof val === 'object') {
|
|
155
|
-
return JSON.stringify(val, (
|
|
257
|
+
return JSON.stringify(val, (_key, value) => typeof value === 'bigint' ? value.toString() : value);
|
|
156
258
|
}
|
|
157
259
|
if (typeof val === 'bigint') {
|
|
158
260
|
return val.toString();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contracts/utils/index.ts"],"names":[],"mappings":"AACA,OAAO,EACN,GAAG,EAGH,iBAAiB,EACjB,SAAS,EACT,OAAO,EACP,QAAQ,GACR,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contracts/utils/index.ts"],"names":[],"mappings":"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"}
|
package/dist/contracts.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * as pressing from "./contracts/miso_pressing/pressing.ts";
|
|
2
2
|
export * as listing from "./contracts/miso_pressing/listing.ts";
|
|
3
3
|
export * as certificate from "./contracts/miso_pressing/certificate.ts";
|
|
4
|
+
export * as releaseRegistry from "./contracts/release_registry/release_registry.ts";
|
|
4
5
|
export * as drop from "./contracts/miso_drop/drop.ts";
|
|
5
6
|
export * as royaltyPool from "./contracts/royalty_pool/pool.ts";
|
|
6
7
|
export * as royaltyPoolStake from "./contracts/royalty_pool/stake.ts";
|
package/dist/contracts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,OAAO,MAAM,sCAAsC,CAAC;AAChE,OAAO,KAAK,WAAW,MAAM,0CAA0C,CAAC;AAIxE,OAAO,KAAK,IAAI,MAAM,+BAA+B,CAAC;AAGtD,OAAO,KAAK,WAAW,MAAM,kCAAkC,CAAC;AAChE,OAAO,KAAK,gBAAgB,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,sBAAsB,MAAM,kEAAkE,CAAC;AAC3G,OAAO,KAAK,oBAAoB,MAAM,8DAA8D,CAAC;AAGrG,OAAO,KAAK,QAAQ,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,eAAe,MAAM,oDAAoD,CAAC;AAGtF,OAAO,KAAK,kBAAkB,MAAM,wDAAwD,CAAC;AAC7F,OAAO,KAAK,oBAAoB,MAAM,2DAA2D,CAAC;AAClG,OAAO,KAAK,gBAAgB,MAAM,oDAAoD,CAAC;AACvF,OAAO,KAAK,kBAAkB,MAAM,uDAAuD,CAAC;AAC5F,OAAO,KAAK,cAAc,MAAM,gDAAgD,CAAC;AACjF,OAAO,KAAK,gBAAgB,MAAM,mDAAmD,CAAC"}
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,OAAO,MAAM,sCAAsC,CAAC;AAChE,OAAO,KAAK,WAAW,MAAM,0CAA0C,CAAC;AAIxE,OAAO,KAAK,eAAe,MAAM,kDAAkD,CAAC;AAIpF,OAAO,KAAK,IAAI,MAAM,+BAA+B,CAAC;AAGtD,OAAO,KAAK,WAAW,MAAM,kCAAkC,CAAC;AAChE,OAAO,KAAK,gBAAgB,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,sBAAsB,MAAM,kEAAkE,CAAC;AAC3G,OAAO,KAAK,oBAAoB,MAAM,8DAA8D,CAAC;AAGrG,OAAO,KAAK,QAAQ,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,eAAe,MAAM,oDAAoD,CAAC;AAGtF,OAAO,KAAK,kBAAkB,MAAM,wDAAwD,CAAC;AAC7F,OAAO,KAAK,oBAAoB,MAAM,2DAA2D,CAAC;AAClG,OAAO,KAAK,gBAAgB,MAAM,oDAAoD,CAAC;AACvF,OAAO,KAAK,kBAAkB,MAAM,uDAAuD,CAAC;AAC5F,OAAO,KAAK,cAAc,MAAM,gDAAgD,CAAC;AACjF,OAAO,KAAK,gBAAgB,MAAM,mDAAmD,CAAC"}
|
package/dist/contracts.js
CHANGED
|
@@ -4,13 +4,16 @@
|
|
|
4
4
|
// Move calls). Re-exported from the package root as the `contracts` namespace.
|
|
5
5
|
//
|
|
6
6
|
// PLATFORM + EXTENSION packages. The protocol core (`miso`: Composition,
|
|
7
|
-
// Recording, Release,
|
|
7
|
+
// Recording, Release, Track) generates into `@misonetwork/sdk` and is
|
|
8
8
|
// re-exported from ITS `contracts` namespace — import it from there rather than
|
|
9
9
|
// mirroring it here.
|
|
10
10
|
// The record production line (pressing runs + their per-currency listings).
|
|
11
11
|
export * as pressing from "./contracts/miso_pressing/pressing.js";
|
|
12
12
|
export * as listing from "./contracts/miso_pressing/listing.js";
|
|
13
13
|
export * as certificate from "./contracts/miso_pressing/certificate.js";
|
|
14
|
+
// The canonical release-id derivation parent — the only PTB-callable path to
|
|
15
|
+
// minting a `Release` now that core's `release::new` takes `&mut UID`.
|
|
16
|
+
export * as releaseRegistry from "./contracts/release_registry/release_registry.js";
|
|
14
17
|
// Existing launch drops remain readable and purchasable while releases move to
|
|
15
18
|
// the pressing/listing contracts.
|
|
16
19
|
export * as drop from "./contracts/miso_drop/drop.js";
|
package/dist/contracts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAEtC,gFAAgF;AAChF,+EAA+E;AAC/E,EAAE;AACF,yEAAyE;AACzE,
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAEtC,gFAAgF;AAChF,+EAA+E;AAC/E,EAAE;AACF,yEAAyE;AACzE,sEAAsE;AACtE,gFAAgF;AAChF,qBAAqB;AAErB,4EAA4E;AAC5E,OAAO,KAAK,QAAQ,MAAM,uCAAuC,CAAC;AAClE,OAAO,KAAK,OAAO,MAAM,sCAAsC,CAAC;AAChE,OAAO,KAAK,WAAW,MAAM,0CAA0C,CAAC;AAExE,6EAA6E;AAC7E,uEAAuE;AACvE,OAAO,KAAK,eAAe,MAAM,kDAAkD,CAAC;AAEpF,+EAA+E;AAC/E,kCAAkC;AAClC,OAAO,KAAK,IAAI,MAAM,+BAA+B,CAAC;AAEtD,2DAA2D;AAC3D,OAAO,KAAK,WAAW,MAAM,kCAAkC,CAAC;AAChE,OAAO,KAAK,gBAAgB,MAAM,mCAAmC,CAAC;AACtE,OAAO,KAAK,sBAAsB,MAAM,kEAAkE,CAAC;AAC3G,OAAO,KAAK,oBAAoB,MAAM,8DAA8D,CAAC;AAErG,0EAA0E;AAC1E,OAAO,KAAK,QAAQ,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,eAAe,MAAM,oDAAoD,CAAC;AAEtF,yEAAyE;AACzE,OAAO,KAAK,kBAAkB,MAAM,wDAAwD,CAAC;AAC7F,OAAO,KAAK,oBAAoB,MAAM,2DAA2D,CAAC;AAClG,OAAO,KAAK,gBAAgB,MAAM,oDAAoD,CAAC;AACvF,OAAO,KAAK,kBAAkB,MAAM,uDAAuD,CAAC;AAC5F,OAAO,KAAK,cAAc,MAAM,gDAAgD,CAAC;AACjF,OAAO,KAAK,gBAAgB,MAAM,mDAAmD,CAAC"}
|
package/dist/cover.d.ts
CHANGED
|
@@ -46,13 +46,10 @@ export interface ReleaseCoverView {
|
|
|
46
46
|
*/
|
|
47
47
|
export declare function getReleaseCover(client: ClientWithCoreApi, releaseId: string, releaseCoverArtPackageId: string): Promise<ReleaseCoverView | null>;
|
|
48
48
|
export declare function parseReleaseCoverContent(content: Uint8Array): ReleaseCoverView | null;
|
|
49
|
-
/** Deterministic dynamic-field id for
|
|
49
|
+
/** Deterministic dynamic-field id for the configured release-cover package. */
|
|
50
50
|
export declare function releaseCoverFieldId(releaseId: string, releaseCoverArtPackageId: string): string;
|
|
51
51
|
/**
|
|
52
|
-
* Read covers for many releases
|
|
53
|
-
*
|
|
54
|
-
* Package IDs are ordered newest to oldest. If both fields exist, the newest
|
|
55
|
-
* wins; legacy fallbacks add bytes to the same bulk request, not serial probes.
|
|
52
|
+
* Read covers for many releases from the configured package in one Core request.
|
|
56
53
|
*/
|
|
57
|
-
export declare function getReleaseCoversByIds(client: ClientWithCoreApi, releaseIdsInput: readonly string[],
|
|
54
|
+
export declare function getReleaseCoversByIds(client: ClientWithCoreApi, releaseIdsInput: readonly string[], releaseCoverArtPackageId: string): Promise<Partial<Record<string, ReleaseCoverView>>>;
|
|
58
55
|
//# sourceMappingURL=cover.d.ts.map
|
package/dist/cover.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cover.d.ts","sourceRoot":"","sources":["../src/cover.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAKjD,MAAM,WAAW,qBAAqB;IACpC,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qFAAqF;IACrF,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,oFAAoF;IACpF,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACxC,kFAAkF;IAClF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mFAAmF;IACnF,wBAAwB,EAAE,MAAM,CAAC;IACjC,+EAA+E;IAC/E,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAgCjE;AAID;;;;GAIG;AACH,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAChC;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEN,8EAA8E;AAC9E,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;CAChC;AAkCD;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,MAAM,EACjB,wBAAwB,EAAE,MAAM,GAC/B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAUlC;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,UAAU,GAClB,gBAAgB,GAAG,IAAI,CAWzB;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,wBAAwB,EAAE,MAAM,GAC/B,MAAM,CAMR;AAED
|
|
1
|
+
{"version":3,"file":"cover.d.ts","sourceRoot":"","sources":["../src/cover.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAKjD,MAAM,WAAW,qBAAqB;IACpC,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qFAAqF;IACrF,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,oFAAoF;IACpF,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACxC,kFAAkF;IAClF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mFAAmF;IACnF,wBAAwB,EAAE,MAAM,CAAC;IACjC,+EAA+E;IAC/E,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAgCjE;AAID;;;;GAIG;AACH,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAChC;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEN,8EAA8E;AAC9E,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;CAChC;AAkCD;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,MAAM,EACjB,wBAAwB,EAAE,MAAM,GAC/B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAUlC;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,UAAU,GAClB,gBAAgB,GAAG,IAAI,CAWzB;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,wBAAwB,EAAE,MAAM,GAC/B,MAAM,CAMR;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,iBAAiB,EACzB,eAAe,EAAE,SAAS,MAAM,EAAE,EAClC,wBAAwB,EAAE,MAAM,GAC/B,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAsBpD"}
|