@misofm/platform 0.25.0 → 0.26.1
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 +144 -45
- package/dist/auth.d.ts +8 -13
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +78 -59
- package/dist/auth.js.map +1 -1
- package/dist/catalog.d.ts +5 -5
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +33 -21
- package/dist/catalog.js.map +1 -1
- package/dist/client.d.ts +17 -30
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +53 -75
- package/dist/client.js.map +1 -1
- package/dist/cover.d.ts +4 -3
- package/dist/cover.d.ts.map +1 -1
- package/dist/cover.js +28 -17
- package/dist/cover.js.map +1 -1
- package/dist/credits.d.ts +12 -10
- package/dist/credits.d.ts.map +1 -1
- package/dist/credits.js +60 -33
- package/dist/credits.js.map +1 -1
- package/dist/deployments.d.ts +21 -13
- package/dist/deployments.d.ts.map +1 -1
- package/dist/deployments.js +84 -37
- package/dist/deployments.js.map +1 -1
- package/dist/errors.d.ts +91 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +111 -0
- package/dist/errors.js.map +1 -0
- package/dist/execute.d.ts +3 -1
- package/dist/execute.d.ts.map +1 -1
- package/dist/execute.js +9 -4
- package/dist/execute.js.map +1 -1
- package/dist/genre.d.ts +25 -41
- package/dist/genre.d.ts.map +1 -1
- package/dist/genre.js +71 -20
- package/dist/genre.js.map +1 -1
- package/dist/party/client.d.ts +16 -13
- package/dist/party/client.d.ts.map +1 -1
- package/dist/party/client.js +33 -22
- package/dist/party/client.js.map +1 -1
- package/dist/party/extensions/links.d.ts +2 -1
- package/dist/party/extensions/links.d.ts.map +1 -1
- package/dist/party/extensions/links.js +2 -1
- package/dist/party/extensions/links.js.map +1 -1
- package/dist/party/queries.d.ts +12 -11
- package/dist/party/queries.d.ts.map +1 -1
- package/dist/party/queries.js +63 -57
- package/dist/party/queries.js.map +1 -1
- package/dist/party/types.d.ts +31 -20
- package/dist/party/types.d.ts.map +1 -1
- package/dist/party/types.js +82 -1
- package/dist/party/types.js.map +1 -1
- package/dist/pressing.d.ts +55 -35
- package/dist/pressing.d.ts.map +1 -1
- package/dist/pressing.js +99 -76
- package/dist/pressing.js.map +1 -1
- package/dist/queries.d.ts +1 -1
- package/dist/queries.d.ts.map +1 -1
- package/dist/queries.js +5 -4
- package/dist/queries.js.map +1 -1
- package/dist/read/artist.d.ts +6 -4
- package/dist/read/artist.d.ts.map +1 -1
- package/dist/read/artist.js +29 -27
- package/dist/read/artist.js.map +1 -1
- package/dist/read/catalog.d.ts +20 -17
- package/dist/read/catalog.d.ts.map +1 -1
- package/dist/read/catalog.js +120 -141
- package/dist/read/catalog.js.map +1 -1
- package/dist/read/client.d.ts +10 -9
- package/dist/read/client.d.ts.map +1 -1
- package/dist/read/client.js.map +1 -1
- package/dist/read/genres.d.ts +5 -3
- package/dist/read/genres.d.ts.map +1 -1
- package/dist/read/genres.js +18 -15
- package/dist/read/genres.js.map +1 -1
- package/dist/read/index.d.ts.map +1 -1
- package/dist/read/index.js +7 -1
- package/dist/read/index.js.map +1 -1
- package/dist/read/receipts.d.ts +15 -6
- package/dist/read/receipts.d.ts.map +1 -1
- package/dist/read/receipts.js +73 -60
- package/dist/read/receipts.js.map +1 -1
- package/dist/read/wallet.d.ts +11 -9
- package/dist/read/wallet.d.ts.map +1 -1
- package/dist/read/wallet.js +117 -132
- package/dist/read/wallet.js.map +1 -1
- package/dist/read/works.d.ts +9 -16
- package/dist/read/works.d.ts.map +1 -1
- package/dist/read/works.js +48 -117
- package/dist/read/works.js.map +1 -1
- package/dist/recording-extensions.d.ts +8 -7
- package/dist/recording-extensions.d.ts.map +1 -1
- package/dist/recording-extensions.js +30 -63
- package/dist/recording-extensions.js.map +1 -1
- package/dist/release-extensions.d.ts +3 -2
- package/dist/release-extensions.d.ts.map +1 -1
- package/dist/release-extensions.js +9 -10
- package/dist/release-extensions.js.map +1 -1
- package/dist/royalty.d.ts +51 -51
- package/dist/royalty.d.ts.map +1 -1
- package/dist/royalty.js +93 -11
- package/dist/royalty.js.map +1 -1
- package/dist/share.d.ts +7 -6
- package/dist/share.d.ts.map +1 -1
- package/dist/share.js +37 -30
- package/dist/share.js.map +1 -1
- package/dist/vault.d.ts +20 -8
- package/dist/vault.d.ts.map +1 -1
- package/dist/vault.js +31 -15
- package/dist/vault.js.map +1 -1
- package/package.json +11 -4
- package/src/auth.ts +89 -70
- package/src/catalog.ts +33 -49
- package/src/client.ts +117 -97
- package/src/cover.ts +17 -26
- package/src/credits.ts +43 -75
- package/src/deployments.ts +103 -69
- package/src/errors.ts +156 -0
- package/src/execute.ts +10 -6
- package/src/genre.ts +38 -23
- package/src/party/client.ts +35 -23
- package/src/party/extensions/links.ts +3 -2
- package/src/party/queries.ts +77 -65
- package/src/party/types.ts +52 -48
- package/src/pressing.ts +158 -161
- package/src/queries.ts +5 -5
- package/src/read/artist.ts +47 -42
- package/src/read/catalog.ts +200 -223
- package/src/read/client.ts +12 -11
- package/src/read/genres.ts +24 -16
- package/src/read/index.ts +7 -1
- package/src/read/receipts.ts +128 -67
- package/src/read/wallet.ts +194 -162
- package/src/read/works.ts +75 -194
- package/src/recording-extensions.ts +38 -92
- package/src/release-extensions.ts +7 -12
- package/src/royalty.ts +117 -20
- package/src/share.ts +44 -29
- package/src/vault.ts +47 -24
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
// Copyright (c) Miso Labs, Inc.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
// First-party metadata attached to a protocol Release. The JSON/CLI release
|
|
4
|
+
// intent aggregates these concerns, but every value is written by its own
|
|
5
|
+
// independently deployed extension package.
|
|
3
6
|
import { bcs } from "@mysten/sui/bcs";
|
|
4
7
|
import { deriveDynamicFieldID } from "@mysten/sui/utils";
|
|
8
|
+
import { Effect, Option } from "effect";
|
|
9
|
+
import { getOptionalObjectContent } from "@misofm/effect";
|
|
5
10
|
import * as releaseDescription from "./contracts/release_description/release_description.js";
|
|
6
11
|
import * as releaseDspLink from "./contracts/release_dsp_link/release_dsp_link.js";
|
|
7
12
|
import * as releaseKind from "./contracts/release_kind/release_kind.js";
|
|
@@ -49,16 +54,10 @@ export function parseReleaseKindContent(content) {
|
|
|
49
54
|
return ReleaseKindField.parse(content).value;
|
|
50
55
|
}
|
|
51
56
|
/** Read a Release's self-declared kind, or `null` when the extension is absent. */
|
|
52
|
-
export
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
});
|
|
57
|
-
const object = objects[0];
|
|
58
|
-
if (!object || object instanceof Error || !object.content)
|
|
59
|
-
return null;
|
|
60
|
-
return parseReleaseKindContent(object.content);
|
|
61
|
-
}
|
|
57
|
+
export const getReleaseKind = Effect.fn("getReleaseKind")(function* (releaseId, releaseKindPackageId) {
|
|
58
|
+
const found = yield* getOptionalObjectContent(releaseKindFieldId(releaseId, releaseKindPackageId));
|
|
59
|
+
return Option.isNone(found) ? null : parseReleaseKindContent(found.value.content);
|
|
60
|
+
});
|
|
62
61
|
/** Attach the release's editorial description. */
|
|
63
62
|
export function setReleaseDescription(p) {
|
|
64
63
|
const bytes = new TextEncoder().encode(p.description).length;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release-extensions.js","sourceRoot":"","sources":["../src/release-extensions.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;
|
|
1
|
+
{"version":3,"file":"release-extensions.js","sourceRoot":"","sources":["../src/release-extensions.ts"],"names":[],"mappings":"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"}
|
package/dist/royalty.d.ts
CHANGED
|
@@ -1,55 +1,54 @@
|
|
|
1
|
-
import type { ClientWithCoreApi } from "@mysten/sui/client";
|
|
2
1
|
import { Transaction, type TransactionArgument, type TransactionObjectArgument } from "@mysten/sui/transactions";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
balance:
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
2
|
+
import { Effect, Schema } from "effect";
|
|
3
|
+
import { type BcsDecodeError, type SuiClient, type SuiRpcError } from "@misofm/effect";
|
|
4
|
+
declare const RoyaltyStakeRegistration_base: Schema.Class<RoyaltyStakeRegistration, Schema.Struct<{
|
|
5
|
+
readonly currencyType: Schema.String;
|
|
6
|
+
readonly poolId: Schema.String;
|
|
7
|
+
/** Reward debt in `shares · index` units (u256, decimal string). */
|
|
8
|
+
readonly debt: Schema.String;
|
|
9
|
+
}>, {}>;
|
|
10
|
+
/** A stake's active registration against one royalty pool, keyed by currency type. */
|
|
11
|
+
export declare class RoyaltyStakeRegistration extends RoyaltyStakeRegistration_base {
|
|
12
|
+
}
|
|
13
|
+
declare const RoyaltyPool_base: Schema.Class<RoyaltyPool, Schema.Struct<{
|
|
14
|
+
readonly id: Schema.String;
|
|
15
|
+
/** Currency balance held by the pool (u64, decimal string). */
|
|
16
|
+
readonly balance: Schema.String;
|
|
17
|
+
/** Sum of every registered stake's shares (u64, decimal string). */
|
|
18
|
+
readonly stakedShares: Schema.String;
|
|
19
|
+
/** Cumulative reward-per-share index (u256, decimal string). */
|
|
20
|
+
readonly cumulativeRewardPerShare: Schema.String;
|
|
21
|
+
/** Deposit remainder not yet folded into the index (u128, decimal string). */
|
|
22
|
+
readonly carry: Schema.String;
|
|
23
|
+
/** Lifetime sum of every deposited value; analytics only (u128, decimal string). */
|
|
24
|
+
readonly cumulativeDeposits: Schema.String;
|
|
25
|
+
}>, {}>;
|
|
26
|
+
/** A bare `royalty_pool::pool::RoyaltyPool<Share, Currency>` object. Phantom type arguments do not affect BCS. */
|
|
27
|
+
export declare class RoyaltyPool extends RoyaltyPool_base {
|
|
28
|
+
}
|
|
29
|
+
declare const RoyaltyStake_base: Schema.Class<RoyaltyStake, Schema.Struct<{
|
|
30
|
+
readonly id: Schema.String;
|
|
31
|
+
/** The staked balance (u64, decimal string). Immutable after creation. */
|
|
32
|
+
readonly balance: Schema.String;
|
|
33
|
+
readonly registrations: Schema.$Array<typeof RoyaltyStakeRegistration>;
|
|
34
|
+
}>, {}>;
|
|
35
|
+
/** A bare `royalty_pool::stake::Stake<Share>` object. */
|
|
36
|
+
export declare class RoyaltyStake extends RoyaltyStake_base {
|
|
37
|
+
}
|
|
38
|
+
declare const RoutedStake_base: Schema.Class<RoutedStake, Schema.Struct<{
|
|
39
|
+
readonly id: Schema.String;
|
|
40
|
+
/** The wrapped position; `null` between `unstake` and `restake`. */
|
|
41
|
+
readonly stake: Schema.NullOr<typeof RoyaltyStake>;
|
|
42
|
+
}>, {}>;
|
|
43
|
+
/** A bare `routed_stake::routed_stake::RoutedStake<StakeShare, PoolShare>` object. */
|
|
44
|
+
export declare class RoutedStake extends RoutedStake_base {
|
|
45
|
+
}
|
|
46
|
+
/** One royalty pool by object ID, or `null` when no such object exists. */
|
|
47
|
+
export declare const getRoyaltyPoolById: (poolId: string) => Effect.Effect<RoyaltyPool | null, BcsDecodeError | SuiRpcError, SuiClient>;
|
|
48
|
+
/** One owned `Stake<Share>` by object ID, or `null` when no such object exists. */
|
|
49
|
+
export declare const getRoyaltyStakeById: (stakeId: string) => Effect.Effect<RoyaltyStake | null, BcsDecodeError | SuiRpcError, SuiClient>;
|
|
50
|
+
/** One shared routed stake by object ID, or `null` when no such object exists. */
|
|
51
|
+
export declare const getRoutedStakeById: (routedStakeId: string) => Effect.Effect<RoutedStake | null, BcsDecodeError | SuiRpcError, SuiClient>;
|
|
53
52
|
/** Deterministically derive the royalty-pool ID for a parent and type pair. */
|
|
54
53
|
export declare function deriveRoyaltyPoolId(parentId: string, shareType: string, currencyType: string, royaltyPoolPackageId: string): string;
|
|
55
54
|
/** Deterministically derive the routed-stake ID for a parent and stake share. */
|
|
@@ -84,4 +83,5 @@ export declare function claimRoyaltyRewards(tx: Transaction, params: {
|
|
|
84
83
|
currencyType: string;
|
|
85
84
|
royaltyPoolPackageId: string;
|
|
86
85
|
}): TransactionObjectArgument;
|
|
86
|
+
export {};
|
|
87
87
|
//# sourceMappingURL=royalty.d.ts.map
|
package/dist/royalty.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"royalty.d.ts","sourceRoot":"","sources":["../src/royalty.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"royalty.d.ts","sourceRoot":"","sources":["../src/royalty.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,KAAK,mBAAmB,EAAE,KAAK,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAEjH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAuC,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;;;;IAsB1H,oEAAoE;;;AANtE,sFAAsF;AACtF,qBAAa,wBAAyB,SAAQ,6BAO5C;CAAG;;;IAKH,+DAA+D;;IAE/D,oEAAoE;;IAEpE,gEAAgE;;IAEhE,8EAA8E;;IAE9E,oFAAoF;;;AAXtF,kHAAkH;AAClH,qBAAa,WAAY,SAAQ,gBAY/B;CAAG;;;IAKH,0EAA0E;;;;AAH5E,yDAAyD;AACzD,qBAAa,YAAa,SAAQ,iBAKhC;CAAG;;;IAKH,oEAAoE;;;AAHtE,sFAAsF;AACtF,qBAAa,WAAY,SAAQ,gBAI/B;CAAG;AAyCL,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB,gGAW7B,CAAC;AAEH,mFAAmF;AACnF,eAAO,MAAM,mBAAmB,kGAW9B,CAAC;AAEH,kFAAkF;AAClF,eAAO,MAAM,kBAAkB,uGAW7B,CAAC;AAEH,+EAA+E;AAC/E,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,oBAAoB,EAAE,MAAM,GAC3B,MAAM,CAMR;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,oBAAoB,EAAE,MAAM,GAC3B,MAAM,CAMR;AAMD,uEAAuE;AACvE,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,WAAW,EACf,MAAM,EAAE;IACN,OAAO,EAAE,mBAAmB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,GACA,yBAAyB,CAQ3B;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,WAAW,EACf,MAAM,EAAE;IACN,KAAK,EAAE,yBAAyB,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,GACA,yBAAyB,CAQ3B;AAED,6DAA6D;AAC7D,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,WAAW,EACf,MAAM,EAAE;IACN,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,KAAK,CAAC,EAAE,yBAAyB,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,GACA,IAAI,CAWN;AAED,oFAAoF;AACpF,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,WAAW,EACf,MAAM,EAAE;IACN,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,GACA,yBAAyB,CAQ3B"}
|
package/dist/royalty.js
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
// Copyright (c) Miso Labs, Inc.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
// Generic royalty-pool / stake / routed-stake reads and PTB builders. These are
|
|
4
|
+
// the raw, caller-owned primitives against the bare `royalty_pool` and
|
|
5
|
+
// `routed_stake` packages — Vault-gated crank operations (composition/recording
|
|
6
|
+
// royalty pool plugins, routed-stake Actions bound to a VaultAdminCap) live in
|
|
7
|
+
// `./vault.ts` instead; this module does not duplicate those.
|
|
3
8
|
import { Transaction } from "@mysten/sui/transactions";
|
|
4
|
-
import { deriveObjectID } from "@mysten/sui/utils";
|
|
5
|
-
import {
|
|
9
|
+
import { deriveObjectID, normalizeStructTag } from "@mysten/sui/utils";
|
|
10
|
+
import { Effect, Schema } from "effect";
|
|
11
|
+
import { decodeBcs, getOptionalObjectContent } from "@misofm/effect";
|
|
6
12
|
import { RoyaltyPool as RoyaltyPoolBcs } from "./contracts/royalty_pool/pool.js";
|
|
7
13
|
import { Stake as RoyaltyStakeBcs } from "./contracts/royalty_pool/stake.js";
|
|
8
14
|
import { RoutedStake as RoutedStakeBcs } from "./contracts/routed_stake/routed_stake.js";
|
|
@@ -12,20 +18,96 @@ import * as routedStake from "./contracts/routed_stake/routed_stake.js";
|
|
|
12
18
|
/** Key bytes for Move unit structs (single `0x00` for `dummy_field: bool = false`). */
|
|
13
19
|
const UNIT_STRUCT_KEY_BYTES = new Uint8Array([0x00]);
|
|
14
20
|
// ============================================================================
|
|
21
|
+
// Domain types
|
|
22
|
+
// ============================================================================
|
|
23
|
+
/** A stake's active registration against one royalty pool, keyed by currency type. */
|
|
24
|
+
export class RoyaltyStakeRegistration extends Schema.Class("@misofm/platform/RoyaltyStakeRegistration")({
|
|
25
|
+
currencyType: Schema.String,
|
|
26
|
+
poolId: Schema.String,
|
|
27
|
+
/** Reward debt in `shares · index` units (u256, decimal string). */
|
|
28
|
+
debt: Schema.String,
|
|
29
|
+
}) {
|
|
30
|
+
}
|
|
31
|
+
/** A bare `royalty_pool::pool::RoyaltyPool<Share, Currency>` object. Phantom type arguments do not affect BCS. */
|
|
32
|
+
export class RoyaltyPool extends Schema.Class("@misofm/platform/RoyaltyPool")({
|
|
33
|
+
id: Schema.String,
|
|
34
|
+
/** Currency balance held by the pool (u64, decimal string). */
|
|
35
|
+
balance: Schema.String,
|
|
36
|
+
/** Sum of every registered stake's shares (u64, decimal string). */
|
|
37
|
+
stakedShares: Schema.String,
|
|
38
|
+
/** Cumulative reward-per-share index (u256, decimal string). */
|
|
39
|
+
cumulativeRewardPerShare: Schema.String,
|
|
40
|
+
/** Deposit remainder not yet folded into the index (u128, decimal string). */
|
|
41
|
+
carry: Schema.String,
|
|
42
|
+
/** Lifetime sum of every deposited value; analytics only (u128, decimal string). */
|
|
43
|
+
cumulativeDeposits: Schema.String,
|
|
44
|
+
}) {
|
|
45
|
+
}
|
|
46
|
+
/** A bare `royalty_pool::stake::Stake<Share>` object. */
|
|
47
|
+
export class RoyaltyStake extends Schema.Class("@misofm/platform/RoyaltyStake")({
|
|
48
|
+
id: Schema.String,
|
|
49
|
+
/** The staked balance (u64, decimal string). Immutable after creation. */
|
|
50
|
+
balance: Schema.String,
|
|
51
|
+
registrations: Schema.Array(RoyaltyStakeRegistration),
|
|
52
|
+
}) {
|
|
53
|
+
}
|
|
54
|
+
/** A bare `routed_stake::routed_stake::RoutedStake<StakeShare, PoolShare>` object. */
|
|
55
|
+
export class RoutedStake extends Schema.Class("@misofm/platform/RoutedStake")({
|
|
56
|
+
id: Schema.String,
|
|
57
|
+
/** The wrapped position; `null` between `unstake` and `restake`. */
|
|
58
|
+
stake: Schema.NullOr(RoyaltyStake),
|
|
59
|
+
}) {
|
|
60
|
+
}
|
|
61
|
+
// ============================================================================
|
|
15
62
|
// Reads
|
|
16
63
|
// ============================================================================
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
64
|
+
function mapRegistration(currencyType, poolId, debt) {
|
|
65
|
+
return { currencyType: normalizeStructTag(currencyType), poolId, debt };
|
|
66
|
+
}
|
|
67
|
+
function mapRoyaltyPool(poolId, parsed) {
|
|
68
|
+
return {
|
|
69
|
+
id: poolId,
|
|
70
|
+
balance: String(parsed.balance.value),
|
|
71
|
+
stakedShares: String(parsed.staked_shares),
|
|
72
|
+
cumulativeRewardPerShare: String(parsed.cumulative_reward_per_share),
|
|
73
|
+
carry: String(parsed.carry),
|
|
74
|
+
cumulativeDeposits: String(parsed.cumulative_deposits),
|
|
75
|
+
};
|
|
20
76
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
77
|
+
function mapRoyaltyStake(stakeId, parsed) {
|
|
78
|
+
return {
|
|
79
|
+
id: stakeId,
|
|
80
|
+
balance: String(parsed.balance.value),
|
|
81
|
+
registrations: parsed.registrations.contents.map((entry) => mapRegistration(entry.key.name, entry.value.pool_id, String(entry.value.debt))),
|
|
82
|
+
};
|
|
24
83
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
84
|
+
function mapRoutedStake(routedStakeId, parsed) {
|
|
85
|
+
return {
|
|
86
|
+
id: routedStakeId,
|
|
87
|
+
stake: parsed.stake ? mapRoyaltyStake(routedStakeId, parsed.stake) : null,
|
|
88
|
+
};
|
|
28
89
|
}
|
|
90
|
+
/** One royalty pool by object ID, or `null` when no such object exists. */
|
|
91
|
+
export const getRoyaltyPoolById = Effect.fn("getRoyaltyPoolById")(function* (poolId) {
|
|
92
|
+
const found = yield* getOptionalObjectContent(poolId);
|
|
93
|
+
if (found._tag === "None")
|
|
94
|
+
return null;
|
|
95
|
+
return yield* decodeBcs({ parse: (bytes) => mapRoyaltyPool(poolId, RoyaltyPoolBcs.parse(bytes)) }, RoyaltyPool, found.value.content, { type: "RoyaltyPool", objectId: poolId });
|
|
96
|
+
});
|
|
97
|
+
/** One owned `Stake<Share>` by object ID, or `null` when no such object exists. */
|
|
98
|
+
export const getRoyaltyStakeById = Effect.fn("getRoyaltyStakeById")(function* (stakeId) {
|
|
99
|
+
const found = yield* getOptionalObjectContent(stakeId);
|
|
100
|
+
if (found._tag === "None")
|
|
101
|
+
return null;
|
|
102
|
+
return yield* decodeBcs({ parse: (bytes) => mapRoyaltyStake(stakeId, RoyaltyStakeBcs.parse(bytes)) }, RoyaltyStake, found.value.content, { type: "RoyaltyStake", objectId: stakeId });
|
|
103
|
+
});
|
|
104
|
+
/** One shared routed stake by object ID, or `null` when no such object exists. */
|
|
105
|
+
export const getRoutedStakeById = Effect.fn("getRoutedStakeById")(function* (routedStakeId) {
|
|
106
|
+
const found = yield* getOptionalObjectContent(routedStakeId);
|
|
107
|
+
if (found._tag === "None")
|
|
108
|
+
return null;
|
|
109
|
+
return yield* decodeBcs({ parse: (bytes) => mapRoutedStake(routedStakeId, RoutedStakeBcs.parse(bytes)) }, RoutedStake, found.value.content, { type: "RoutedStake", objectId: routedStakeId });
|
|
110
|
+
});
|
|
29
111
|
/** Deterministically derive the royalty-pool ID for a parent and type pair. */
|
|
30
112
|
export function deriveRoyaltyPoolId(parentId, shareType, currencyType, royaltyPoolPackageId) {
|
|
31
113
|
return deriveObjectID(parentId, `${royaltyPoolPackageId}::pool::RoyaltyPoolKey<${shareType}, ${currencyType}>`, UNIT_STRUCT_KEY_BYTES);
|
package/dist/royalty.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"royalty.js","sourceRoot":"","sources":["../src/royalty.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;
|
|
1
|
+
{"version":3,"file":"royalty.js","sourceRoot":"","sources":["../src/royalty.ts"],"names":[],"mappings":"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"}
|
package/dist/share.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ParallelTransactionExecutor } from "@mysten/sui/transactions";
|
|
2
|
-
import type { ClientWithCoreApi } from "@mysten/sui/client";
|
|
3
2
|
import type { Signer } from "@mysten/sui/cryptography";
|
|
3
|
+
import { Effect } from "effect";
|
|
4
|
+
import { SuiClient, SuiRpcError, type TransactionFailedError } from "@misofm/effect";
|
|
4
5
|
import { type PackageBytecode } from "./transactions.ts";
|
|
5
6
|
export interface ShareCurrency {
|
|
6
7
|
/** The published share package id. */
|
|
@@ -38,17 +39,17 @@ export interface CreateShareCurrencyParams {
|
|
|
38
39
|
treasuryCapRecipient?: string;
|
|
39
40
|
}
|
|
40
41
|
/** Publishes an immutable package, then initializes a fresh share currency in a second tx. */
|
|
41
|
-
export declare
|
|
42
|
+
export declare const createShareCurrency: (signer: Signer, params: CreateShareCurrencyParams) => Effect.Effect<ShareCurrency, SuiRpcError | TransactionFailedError, SuiClient>;
|
|
42
43
|
/**
|
|
43
44
|
* Publishes `count` fresh, permanently immutable share-currency packages, batched
|
|
44
45
|
* at ≤5 publishes per PTB and run concurrently through the executor. Each publish
|
|
45
46
|
* consumes its UpgradeCap in the same PTB. Returns the published package ids
|
|
46
47
|
* (fungible — order is not meaningful; the caller assigns them to work slots).
|
|
47
48
|
*/
|
|
48
|
-
export declare
|
|
49
|
+
export declare const publishShareCurrencies: (executor: ParallelTransactionExecutor, initializerAddress: string, count: number, template?: PackageBytecode | undefined) => Effect.Effect<{
|
|
49
50
|
packageIds: string[];
|
|
50
51
|
gasUsed: number;
|
|
51
|
-
}>;
|
|
52
|
+
}, SuiRpcError, never>;
|
|
52
53
|
/**
|
|
53
54
|
* Initializes each published package into a `Currency<Share>` + `TreasuryCap`,
|
|
54
55
|
* batched and run concurrently. `metaOf` supplies each package's display metadata,
|
|
@@ -60,8 +61,8 @@ export declare function publishShareCurrencies(executor: ParallelTransactionExec
|
|
|
60
61
|
* persist that batch immediately. If any batch fails, the succeeded ones are already
|
|
61
62
|
* reported and this throws, so a resume re-initializes only the still-missing packages.
|
|
62
63
|
*/
|
|
63
|
-
export declare
|
|
64
|
+
export declare const initializeShareCurrencies: (executor: ParallelTransactionExecutor, signerAddress: string, packageIds: string[], metaOf: (packageId: string) => ShareCurrencyMeta, onBatch?: ((currencies: ShareCurrency[], gasUsed: number) => void | Promise<void>) | undefined) => Effect.Effect<{
|
|
64
65
|
currencies: ShareCurrency[];
|
|
65
66
|
gasUsed: number;
|
|
66
|
-
}>;
|
|
67
|
+
}, never, never>;
|
|
67
68
|
//# sourceMappingURL=share.d.ts.map
|
package/dist/share.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../src/share.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../src/share.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAShC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAErF,OAAO,EAAiD,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAexG,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,aAAa,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,GAAG,eAAe,CAcvG;AAID,MAAM,WAAW,yBAAyB;IACxC,oFAAoF;IACpF,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qEAAqE;IACrE,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,8FAA8F;AAC9F,eAAO,MAAM,mBAAmB,sIAgC9B,CAAC;AAWH;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;gBAKD,MAAM,EAAE;aAAW,MAAM;sBAuBzD,CAAC;AAgBH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,2GAIhB,MAAM,KAAK,iBAAiB,0BACzB,aAAa,EAAE,WAAW,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBAChD,aAAa,EAAE;aAAW,MAAM;gBAuDhE,CAAC"}
|
package/dist/share.js
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
import { fromBase64, fromHex, toBase64 } from "@mysten/sui/utils";
|
|
4
4
|
import { update_constants } from "@mysten/move-bytecode-template";
|
|
5
|
+
import { Effect } from "effect";
|
|
5
6
|
import { execThunks, publishedPackageId, allPublishedPackageIds, createdByType, allCreatedByType, } from "@misofm/musicos";
|
|
7
|
+
import { SuiClient, SuiRpcError } from "@misofm/effect";
|
|
6
8
|
import { publishShareCurrency, initializeShareCurrency } from "./transactions.js";
|
|
7
9
|
import { SHARE_TEMPLATE } from "./share-template.js";
|
|
8
10
|
import { executeViaExecutor } from "./execute.js";
|
|
@@ -35,16 +37,16 @@ export function patchInitializer(template, initializerAddress) {
|
|
|
35
37
|
return { ...template, modules: [toBase64(patched)] };
|
|
36
38
|
}
|
|
37
39
|
/** Publishes an immutable package, then initializes a fresh share currency in a second tx. */
|
|
38
|
-
export
|
|
40
|
+
export const createShareCurrency = Effect.fn("createShareCurrency")(function* (signer, params) {
|
|
39
41
|
const signerAddress = signer.toSuiAddress();
|
|
40
42
|
const initializer = params.initializerAddress ?? signerAddress;
|
|
41
43
|
const recipient = params.treasuryCapRecipient ?? signerAddress;
|
|
42
44
|
// Tx 1: publish the share package with the initializer baked in.
|
|
43
45
|
const patched = patchInitializer(params.template ?? SHARE_TEMPLATE, initializer);
|
|
44
|
-
const publishRes =
|
|
46
|
+
const publishRes = yield* execThunks(signer, publishShareCurrency(patched));
|
|
45
47
|
const packageId = publishedPackageId(publishRes);
|
|
46
48
|
// Tx 2: initialize → creates the Currency object + transfers the TreasuryCap.
|
|
47
|
-
const initRes =
|
|
49
|
+
const initRes = yield* execThunks(signer, initializeShareCurrency({
|
|
48
50
|
shareCurrencyPackageId: packageId,
|
|
49
51
|
name: params.name,
|
|
50
52
|
description: params.description,
|
|
@@ -58,7 +60,7 @@ export async function createShareCurrency(client, signer, params) {
|
|
|
58
60
|
treasuryCapId: createdByType(initRes, TREASURY_CAP_TYPE),
|
|
59
61
|
gasUsed: publishRes.gasUsed + initRes.gasUsed,
|
|
60
62
|
};
|
|
61
|
-
}
|
|
63
|
+
});
|
|
62
64
|
// ── Batched (parallel) ─────────────────────────────────────────────────────
|
|
63
65
|
/** Splits an array into fixed-size chunks. */
|
|
64
66
|
function chunk(items, size) {
|
|
@@ -73,7 +75,7 @@ function chunk(items, size) {
|
|
|
73
75
|
* consumes its UpgradeCap in the same PTB. Returns the published package ids
|
|
74
76
|
* (fungible — order is not meaningful; the caller assigns them to work slots).
|
|
75
77
|
*/
|
|
76
|
-
export
|
|
78
|
+
export const publishShareCurrencies = Effect.fn("publishShareCurrencies")(function* (executor, initializerAddress, count, template = SHARE_TEMPLATE) {
|
|
77
79
|
if (count <= 0)
|
|
78
80
|
return { packageIds: [], gasUsed: 0 };
|
|
79
81
|
// One patched template, reused for every publish (identical bytecode → distinct packages).
|
|
@@ -82,14 +84,14 @@ export async function publishShareCurrencies(executor, initializerAddress, count
|
|
|
82
84
|
for (let remaining = count; remaining > 0; remaining -= PUBLISHES_PER_PTB) {
|
|
83
85
|
batchSizes.push(Math.min(PUBLISHES_PER_PTB, remaining));
|
|
84
86
|
}
|
|
85
|
-
const results =
|
|
87
|
+
const results = yield* Effect.forEach(batchSizes, (n) => executeViaExecutor(executor, ...Array.from({ length: n }, () => publishShareCurrency(patched))), { concurrency: "unbounded" });
|
|
86
88
|
const packageIds = results.flatMap(allPublishedPackageIds);
|
|
87
89
|
const gasUsed = results.reduce((sum, r) => sum + r.gasUsed, 0);
|
|
88
90
|
if (packageIds.length !== count) {
|
|
89
91
|
throw new Error(`Expected ${count} published share packages, got ${packageIds.length}.`);
|
|
90
92
|
}
|
|
91
93
|
return { packageIds, gasUsed };
|
|
92
|
-
}
|
|
94
|
+
});
|
|
93
95
|
/** Re-associates one init PTB's created objects back to their packages by share type. */
|
|
94
96
|
function currenciesFromResult(res, batchPkgs) {
|
|
95
97
|
const currencies = allCreatedByType(res, CURRENCY_TYPE);
|
|
@@ -116,36 +118,41 @@ function currenciesFromResult(res, batchPkgs) {
|
|
|
116
118
|
* persist that batch immediately. If any batch fails, the succeeded ones are already
|
|
117
119
|
* reported and this throws, so a resume re-initializes only the still-missing packages.
|
|
118
120
|
*/
|
|
119
|
-
export
|
|
121
|
+
export const initializeShareCurrencies = Effect.fn("initializeShareCurrencies")(function* (executor, signerAddress, packageIds, metaOf, onBatch) {
|
|
120
122
|
if (packageIds.length === 0)
|
|
121
123
|
return { currencies: [], gasUsed: 0 };
|
|
122
124
|
const batches = chunk(packageIds, INITS_PER_PTB);
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
})
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
})
|
|
125
|
+
// `Effect.either` per batch preserves `Promise.allSettled`'s partial-failure
|
|
126
|
+
// tolerance: one batch's `SuiRpcError` does not cancel the others in flight.
|
|
127
|
+
const outcomes = yield* Effect.forEach(batches, (batchPkgs) => executeViaExecutor(executor, ...batchPkgs.map((pkg) => {
|
|
128
|
+
const meta = metaOf(pkg);
|
|
129
|
+
return initializeShareCurrency({
|
|
130
|
+
shareCurrencyPackageId: pkg,
|
|
131
|
+
name: meta.name,
|
|
132
|
+
description: meta.description,
|
|
133
|
+
iconUrl: meta.iconUrl ?? "",
|
|
134
|
+
treasuryCapRecipient: signerAddress,
|
|
135
|
+
});
|
|
136
|
+
})).pipe(Effect.map((res) => ({ batchCurrencies: currenciesFromResult(res, batchPkgs), gasUsed: res.gasUsed })),
|
|
137
|
+
// A rejecting callback is this batch's failure, not a defect: a defect
|
|
138
|
+
// would fail the whole forEach and interrupt sibling batches whose
|
|
139
|
+
// transactions are already submitted.
|
|
140
|
+
Effect.tap(({ batchCurrencies, gasUsed }) => onBatch
|
|
141
|
+
? Effect.tryPromise({
|
|
142
|
+
try: () => Promise.resolve(onBatch(batchCurrencies, gasUsed)),
|
|
143
|
+
catch: (cause) => new SuiRpcError({ operation: "onBatch", cause }),
|
|
144
|
+
})
|
|
145
|
+
: Effect.void), Effect.result), { concurrency: "unbounded" });
|
|
139
146
|
const currencies = [];
|
|
140
147
|
const errors = [];
|
|
141
148
|
let gasUsed = 0;
|
|
142
|
-
for (const
|
|
143
|
-
if (
|
|
144
|
-
currencies.push(...
|
|
145
|
-
gasUsed +=
|
|
149
|
+
for (const outcome of outcomes) {
|
|
150
|
+
if (outcome._tag === "Success") {
|
|
151
|
+
currencies.push(...outcome.success.batchCurrencies);
|
|
152
|
+
gasUsed += outcome.success.gasUsed;
|
|
146
153
|
}
|
|
147
154
|
else {
|
|
148
|
-
errors.push(
|
|
155
|
+
errors.push(outcome.failure);
|
|
149
156
|
}
|
|
150
157
|
}
|
|
151
158
|
if (errors.length > 0) {
|
|
@@ -153,5 +160,5 @@ export async function initializeShareCurrencies(executor, signerAddress, package
|
|
|
153
160
|
throw new Error(`${errors.length}/${batches.length} initialize batch(es) failed: ${msg}`);
|
|
154
161
|
}
|
|
155
162
|
return { currencies, gasUsed };
|
|
156
|
-
}
|
|
163
|
+
});
|
|
157
164
|
//# sourceMappingURL=share.js.map
|
package/dist/share.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"share.js","sourceRoot":"","sources":["../src/share.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;
|
|
1
|
+
{"version":3,"file":"share.js","sourceRoot":"","sources":["../src/share.ts"],"names":[],"mappings":"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"}
|
package/dist/vault.d.ts
CHANGED
|
@@ -9,8 +9,9 @@
|
|
|
9
9
|
* results must stay under the caller's control.
|
|
10
10
|
*/
|
|
11
11
|
import type { BcsType } from "@mysten/sui/bcs";
|
|
12
|
-
import type { ClientWithCoreApi } from "@mysten/sui/client";
|
|
13
12
|
import type { Transaction, TransactionArgument, TransactionObjectArgument } from "@mysten/sui/transactions";
|
|
13
|
+
import { Effect, Schema } from "effect";
|
|
14
|
+
import { SuiClient, SuiRpcError, type BcsDecodeError, type ObjectTypeMismatchError } from "@misofm/effect";
|
|
14
15
|
/** A legacy work whose raw protocol admin cap is still address-owned. */
|
|
15
16
|
/** An object id resolved lazily when a transaction thunk is applied. */
|
|
16
17
|
export type ObjectInput = string | TransactionObjectArgument;
|
|
@@ -338,14 +339,24 @@ export declare function parseReleaseTrackRevenueDistributedEvent(content: Uint8A
|
|
|
338
339
|
recordingId: string;
|
|
339
340
|
amount: string;
|
|
340
341
|
};
|
|
341
|
-
|
|
342
|
-
|
|
342
|
+
declare const VaultAdminCap_base: Schema.Class<VaultAdminCap, Schema.Struct<{
|
|
343
|
+
readonly id: Schema.String;
|
|
344
|
+
readonly vaultId: Schema.String;
|
|
345
|
+
}>, {}>;
|
|
346
|
+
/**
|
|
347
|
+
* A caller-held handle to a shared `Vault<Cap>`: the vault's id and this cap's
|
|
348
|
+
* own id. There is no separate `Vault` BCS struct to decode — the vault
|
|
349
|
+
* itself is a UID-only shared object whose state lives entirely in dynamic
|
|
350
|
+
* fields, so `VaultAdminCap` is the addressable domain value for vault
|
|
351
|
+
* custody.
|
|
352
|
+
*/
|
|
353
|
+
export declare class VaultAdminCap extends VaultAdminCap_base {
|
|
354
|
+
}
|
|
355
|
+
/** Read and BCS-parse an owner-held VaultAdminCap, or `null` when no such object exists. */
|
|
356
|
+
export declare const getVaultAdminCap: (vaultAdminCapId: string, expected: {
|
|
343
357
|
readonly vaultPackageId: string;
|
|
344
358
|
readonly capType: string;
|
|
345
|
-
})
|
|
346
|
-
id: string;
|
|
347
|
-
vault_id: string;
|
|
348
|
-
} | null>;
|
|
359
|
+
}) => Effect.Effect<VaultAdminCap | null, BcsDecodeError | ObjectTypeMismatchError | SuiRpcError, SuiClient>;
|
|
349
360
|
/**
|
|
350
361
|
* Build a `vector<Receiving<Coin<Currency>>>` for receive-and-* plugin calls.
|
|
351
362
|
* The caller supplies only object ids; recipient/ownership checks still happen
|
|
@@ -357,8 +368,9 @@ export interface ReceivingObjectRef {
|
|
|
357
368
|
readonly digest: string;
|
|
358
369
|
}
|
|
359
370
|
/** Resolve owned coins to the exact references required by a Receiving input. */
|
|
360
|
-
export declare
|
|
371
|
+
export declare const resolveReceivingCoins: (coinIds: readonly string[]) => Effect.Effect<ReceivingObjectRef[], SuiRpcError, SuiClient>;
|
|
361
372
|
export declare function receivingCoins(tx: Transaction, currencyType: string, coins: readonly ReceivingObjectRef[]): TransactionArgument;
|
|
362
373
|
/** Type-only helper for consumers that supply a generated admin-cap BCS type. */
|
|
363
374
|
export type VaultCapBcs<Cap extends BcsType<unknown>> = Cap;
|
|
375
|
+
export {};
|
|
364
376
|
//# sourceMappingURL=vault.d.ts.map
|