@misonetwork/sdk 0.3.1 → 0.4.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/dist/client.d.ts +3 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +6 -0
- package/dist/client.js.map +1 -1
- package/dist/queries.d.ts +29 -0
- package/dist/queries.d.ts.map +1 -1
- package/dist/queries.js +181 -21
- package/dist/queries.js.map +1 -1
- package/package.json +1 -1
- package/src/client.ts +86 -18
- package/src/queries.ts +371 -49
package/dist/client.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { ClientWithCoreApi, SuiClientRegistration } from "@mysten/sui/clien
|
|
|
2
2
|
import type { SuiGraphQLClient } from "@mysten/sui/graphql";
|
|
3
3
|
import type { TxThunk } from "./transactions.ts";
|
|
4
4
|
import * as parsers from "./parsers.ts";
|
|
5
|
+
import * as queries from "./queries.ts";
|
|
5
6
|
import * as transactions from "./transactions.ts";
|
|
6
7
|
import * as view from "./view.ts";
|
|
7
8
|
import type { Composition, CompositionAdminCap, Deal, Recording, RecordingAdminCap, Release, ReleaseAdminCap } from "./types.ts";
|
|
@@ -50,6 +51,8 @@ export declare class MisoClient {
|
|
|
50
51
|
constructor(client: ClientWithCoreApi, options: Omit<MisoOptions, "name">);
|
|
51
52
|
getCompositionById(compositionId: string): Promise<Composition>;
|
|
52
53
|
getCompositionsByIds(ids: string[]): Promise<Record<string, Composition>>;
|
|
54
|
+
getWorksByIds(ids: queries.WorkIds): Promise<queries.WorksById>;
|
|
55
|
+
getWorkAddressesByShareTypes(shareTypes: queries.WorkShareTypes): Promise<queries.WorkAddressesByShareType>;
|
|
53
56
|
getCompositionShareType(compositionId: string): Promise<string>;
|
|
54
57
|
getCompositionByShareType(shareType: string): Promise<Composition>;
|
|
55
58
|
getCompositionAdminCapById(adminCapId: string): Promise<CompositionAdminCap>;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -64,6 +64,12 @@ export class MisoClient {
|
|
|
64
64
|
async getCompositionsByIds(ids) {
|
|
65
65
|
return queries.getCompositionsByIds(this.#client, ids);
|
|
66
66
|
}
|
|
67
|
+
async getWorksByIds(ids) {
|
|
68
|
+
return queries.getWorksByIds(this.#client, ids);
|
|
69
|
+
}
|
|
70
|
+
async getWorkAddressesByShareTypes(shareTypes) {
|
|
71
|
+
return queries.getWorkAddressesByShareTypes(this.#requireGraphQL(), shareTypes, this.#misoPackageId);
|
|
72
|
+
}
|
|
67
73
|
async getCompositionShareType(compositionId) {
|
|
68
74
|
return queries.getCompositionShareType(this.#client, compositionId);
|
|
69
75
|
}
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/queries.d.ts
CHANGED
|
@@ -30,6 +30,35 @@ export declare function extractTypeParams2(objectType: string): [string, string]
|
|
|
30
30
|
* object and propagates to the caller.
|
|
31
31
|
*/
|
|
32
32
|
export declare function isNotFound(e: unknown): boolean;
|
|
33
|
+
export interface WorkShareTypes {
|
|
34
|
+
compositions: readonly string[];
|
|
35
|
+
recordings: readonly string[];
|
|
36
|
+
}
|
|
37
|
+
export interface WorkAddressesByShareType {
|
|
38
|
+
compositions: Partial<Record<string, string>>;
|
|
39
|
+
recordings: Partial<Record<string, string>>;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Resolve many work share types in one GraphQL request.
|
|
43
|
+
*
|
|
44
|
+
* Compositions can be queried by their exact one-parameter type. Recordings
|
|
45
|
+
* carry both RecordingShare and CompositionShare, while an admin cap only
|
|
46
|
+
* exposes the first, so one bare Recording scan is shared by every requested
|
|
47
|
+
* recording type and filtered client-side.
|
|
48
|
+
*/
|
|
49
|
+
export declare function getWorkAddressesByShareTypes(client: SuiGraphQLClient, shareTypes: WorkShareTypes, misoPackageId: string): Promise<WorkAddressesByShareType>;
|
|
50
|
+
export interface WorkIds {
|
|
51
|
+
compositions: readonly string[];
|
|
52
|
+
recordings: readonly string[];
|
|
53
|
+
releases: readonly string[];
|
|
54
|
+
}
|
|
55
|
+
export interface WorksById {
|
|
56
|
+
compositions: Partial<Record<string, Composition>>;
|
|
57
|
+
recordings: Partial<Record<string, Recording>>;
|
|
58
|
+
releases: Partial<Record<string, Release>>;
|
|
59
|
+
}
|
|
60
|
+
/** Fetch and parse heterogeneous work objects through one Core bulk request. */
|
|
61
|
+
export declare function getWorksByIds(client: ClientWithCoreApi, ids: WorkIds): Promise<WorksById>;
|
|
33
62
|
/** Fetches multiple compositions by ID in one Core request. */
|
|
34
63
|
export declare function getCompositionsByIds(client: ClientWithCoreApi, compositionIds: string[]): Promise<Record<string, Composition>>;
|
|
35
64
|
/** Fetches a composition by its object ID. */
|
package/dist/queries.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAe5D,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,IAAI,EACJ,SAAS,EACT,iBAAiB,EACjB,OAAO,EACP,eAAe,EAChB,MAAM,YAAY,CAAC;AAMpB;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAK3D;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAWvE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAoB9C;AA0DD,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9C,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC7C;AAYD;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,wBAAwB,CAAC,CAoGnC;AAED,MAAM,WAAW,OAAO;IACtB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACnD,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/C,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC5C;AAED,gFAAgF;AAChF,wBAAsB,aAAa,CACjC,MAAM,EAAE,iBAAiB,EACzB,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,SAAS,CAAC,CA6CpB;AAMD,+DAA+D;AAC/D,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,iBAAiB,EACzB,cAAc,EAAE,MAAM,EAAE,GACvB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAetC;AAED,8CAA8C;AAC9C,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,iBAAiB,EACzB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,CAAC,CAItB;AAED,kEAAkE;AAClE,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,iBAAiB,EACzB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED,+EAA+E;AAC/E,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,iBAAiB,EACzB,aAAa,EAAE,gBAAgB,EAC/B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,CAAC,CAStB;AAED;;;;;;GAMG;AACH,wBAAsB,gCAAgC,CACpD,aAAa,EAAE,gBAAgB,EAC/B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGxB;AAED,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,CAAC,CAG9B;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAYhC;AAED,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,GACpB,MAAM,CAMR;AAMD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAepC;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,SAAS,CAAC,CAIpB;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAG3B;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,iBAAiB,EACzB,aAAa,EAAE,gBAAgB,EAC/B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,SAAS,CAAC,CASpB;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC,CAG5B;AAED;;;;;;;GAOG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAY9B;AAED,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,MAAM,CAMR;AAMD,mFAAmF;AACnF,wBAAsB,WAAW,CAC/B,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAiBf;AAMD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAelC;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CAUlB;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,gBAAgB,EACxB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,eAAe,CAAC,CAS1B;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,eAAe,EAAE,CAAC,CAc5B;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACpB,MAAM,CAMR;AAMD,+DAA+D;AAC/D,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,iBAAiB,EACzB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CASjB"}
|
package/dist/queries.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// Copyright (c) Miso Labs, Inc.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
import { graphql } from "@mysten/sui/graphql/schema";
|
|
4
|
-
import { deriveObjectID } from "@mysten/sui/utils";
|
|
4
|
+
import { deriveObjectID, normalizeSuiAddress } from "@mysten/sui/utils";
|
|
5
5
|
import { Composition as CompositionBcs } from "./contracts/miso/composition.js";
|
|
6
6
|
import { Deal as DealBcs } from "./contracts/miso/deal.js";
|
|
7
7
|
import { Recording as RecordingBcs } from "./contracts/miso/recording.js";
|
|
8
8
|
import { Release as ReleaseBcs } from "./contracts/miso/release.js";
|
|
9
|
-
import { mapBps, mapComposition, mapDiscReleaseJson, mapRecording, mapRelease } from "./internal.js";
|
|
9
|
+
import { mapBps, mapComposition, mapDiscReleaseJson, mapRecording, mapRelease, } from "./internal.js";
|
|
10
10
|
// ============================================================================
|
|
11
11
|
// Helpers
|
|
12
12
|
// ============================================================================
|
|
@@ -59,7 +59,10 @@ export function extractTypeParams2(objectType) {
|
|
|
59
59
|
export function isNotFound(e) {
|
|
60
60
|
if (typeof e === "object" && e !== null && "code" in e) {
|
|
61
61
|
const code = e.code;
|
|
62
|
-
if (code === "notExists" ||
|
|
62
|
+
if (code === "notExists" ||
|
|
63
|
+
code === "deleted" ||
|
|
64
|
+
code === "dynamicFieldNotFound" ||
|
|
65
|
+
code === "notFound") {
|
|
63
66
|
return true;
|
|
64
67
|
}
|
|
65
68
|
}
|
|
@@ -72,7 +75,10 @@ export function isNotFound(e) {
|
|
|
72
75
|
const UNIT_STRUCT_KEY_BYTES = new Uint8Array([0x00]);
|
|
73
76
|
/** Fetches one object's BCS content bytes (or null if absent). */
|
|
74
77
|
async function getContent(client, objectId) {
|
|
75
|
-
const { object } = await client.core.getObject({
|
|
78
|
+
const { object } = await client.core.getObject({
|
|
79
|
+
objectId,
|
|
80
|
+
include: { content: true },
|
|
81
|
+
});
|
|
76
82
|
return object.content ?? null;
|
|
77
83
|
}
|
|
78
84
|
// ============================================================================
|
|
@@ -82,7 +88,9 @@ async function getContent(client, objectId) {
|
|
|
82
88
|
const AddressesByTypeQuery = graphql(`
|
|
83
89
|
query AddressesByType($type: String!) {
|
|
84
90
|
objects(filter: { type: $type }) {
|
|
85
|
-
nodes {
|
|
91
|
+
nodes {
|
|
92
|
+
address
|
|
93
|
+
}
|
|
86
94
|
}
|
|
87
95
|
}
|
|
88
96
|
`);
|
|
@@ -98,10 +106,145 @@ const AddressesByTypeQuery = graphql(`
|
|
|
98
106
|
const AddressesAndTypesByTypeQuery = graphql(`
|
|
99
107
|
query AddressesAndTypesByType($type: String!) {
|
|
100
108
|
objects(filter: { type: $type }) {
|
|
101
|
-
nodes {
|
|
109
|
+
nodes {
|
|
110
|
+
address
|
|
111
|
+
asMoveObject {
|
|
112
|
+
contents {
|
|
113
|
+
type {
|
|
114
|
+
repr
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
102
119
|
}
|
|
103
120
|
}
|
|
104
121
|
`);
|
|
122
|
+
/**
|
|
123
|
+
* Resolve many work share types in one GraphQL request.
|
|
124
|
+
*
|
|
125
|
+
* Compositions can be queried by their exact one-parameter type. Recordings
|
|
126
|
+
* carry both RecordingShare and CompositionShare, while an admin cap only
|
|
127
|
+
* exposes the first, so one bare Recording scan is shared by every requested
|
|
128
|
+
* recording type and filtered client-side.
|
|
129
|
+
*/
|
|
130
|
+
export async function getWorkAddressesByShareTypes(client, shareTypes, misoPackageId) {
|
|
131
|
+
const compositions = [...new Set(shareTypes.compositions)];
|
|
132
|
+
const recordings = new Set(shareTypes.recordings);
|
|
133
|
+
const out = { compositions: {}, recordings: {} };
|
|
134
|
+
if (compositions.length === 0 && recordings.size === 0)
|
|
135
|
+
return out;
|
|
136
|
+
const declarations = [];
|
|
137
|
+
const selections = [];
|
|
138
|
+
const variables = {};
|
|
139
|
+
compositions.forEach((shareType, index) => {
|
|
140
|
+
const variable = `compositionType${index}`;
|
|
141
|
+
declarations.push(`$${variable}: String!`);
|
|
142
|
+
selections.push(`composition${index}: objects(first: 1, filter: { type: $${variable} }) { nodes { address } }`);
|
|
143
|
+
variables[variable] =
|
|
144
|
+
`${misoPackageId}::composition::Composition<${shareType}>`;
|
|
145
|
+
});
|
|
146
|
+
if (recordings.size > 0) {
|
|
147
|
+
declarations.push("$recordingType: String!");
|
|
148
|
+
selections.push(`recordings: objects(first: 50, filter: { type: $recordingType }) {
|
|
149
|
+
pageInfo { hasNextPage endCursor }
|
|
150
|
+
nodes { address asMoveObject { contents { type { repr } } } }
|
|
151
|
+
}`);
|
|
152
|
+
variables.recordingType = `${misoPackageId}::recording::Recording`;
|
|
153
|
+
}
|
|
154
|
+
const result = await client.query({
|
|
155
|
+
query: `query WorkAddressesByShareTypes(${declarations.join(", ")}) {
|
|
156
|
+
${selections.join("\n")}
|
|
157
|
+
}`,
|
|
158
|
+
variables,
|
|
159
|
+
});
|
|
160
|
+
if (result.errors?.length) {
|
|
161
|
+
throw new AggregateError(result.errors.map((error) => new Error(error.message)), "Work type discovery failed");
|
|
162
|
+
}
|
|
163
|
+
compositions.forEach((shareType, index) => {
|
|
164
|
+
const address = result.data?.[`composition${index}`]?.nodes[0]?.address;
|
|
165
|
+
if (address)
|
|
166
|
+
out.compositions[shareType] = address;
|
|
167
|
+
});
|
|
168
|
+
const readRecordingPage = (page) => {
|
|
169
|
+
for (const node of page?.nodes ?? []) {
|
|
170
|
+
const repr = node.asMoveObject?.contents?.type?.repr;
|
|
171
|
+
if (!repr)
|
|
172
|
+
continue;
|
|
173
|
+
try {
|
|
174
|
+
const [recordingShareType] = extractTypeParams2(repr);
|
|
175
|
+
if (recordings.has(recordingShareType)) {
|
|
176
|
+
out.recordings[recordingShareType] = node.address;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
catch {
|
|
180
|
+
// Ignore a live object whose type does not match the deployed Recording ABI.
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
let recordingPage = result.data?.recordings;
|
|
185
|
+
readRecordingPage(recordingPage);
|
|
186
|
+
while (recordingPage?.pageInfo?.hasNextPage &&
|
|
187
|
+
recordingPage.pageInfo.endCursor &&
|
|
188
|
+
Object.keys(out.recordings).length < recordings.size) {
|
|
189
|
+
const next = await client.query({
|
|
190
|
+
query: `query RecordingWorkAddresses($recordingType: String!, $cursor: String!) {
|
|
191
|
+
recordings: objects(first: 50, after: $cursor, filter: { type: $recordingType }) {
|
|
192
|
+
pageInfo { hasNextPage endCursor }
|
|
193
|
+
nodes { address asMoveObject { contents { type { repr } } } }
|
|
194
|
+
}
|
|
195
|
+
}`,
|
|
196
|
+
variables: {
|
|
197
|
+
recordingType: variables.recordingType,
|
|
198
|
+
cursor: recordingPage.pageInfo.endCursor,
|
|
199
|
+
},
|
|
200
|
+
});
|
|
201
|
+
if (next.errors?.length) {
|
|
202
|
+
throw new AggregateError(next.errors.map((error) => new Error(error.message)), "Recording type discovery failed");
|
|
203
|
+
}
|
|
204
|
+
recordingPage = next.data?.recordings;
|
|
205
|
+
readRecordingPage(recordingPage);
|
|
206
|
+
}
|
|
207
|
+
return out;
|
|
208
|
+
}
|
|
209
|
+
/** Fetch and parse heterogeneous work objects through one Core bulk request. */
|
|
210
|
+
export async function getWorksByIds(client, ids) {
|
|
211
|
+
const kinds = new Map();
|
|
212
|
+
for (const [kind, objectIds] of Object.entries(ids)) {
|
|
213
|
+
for (const objectId of objectIds) {
|
|
214
|
+
const normalized = normalizeSuiAddress(objectId);
|
|
215
|
+
const previous = kinds.get(normalized);
|
|
216
|
+
if (previous && previous !== kind) {
|
|
217
|
+
throw new Error(`Work ${normalized} was requested as both ${previous} and ${kind}`);
|
|
218
|
+
}
|
|
219
|
+
kinds.set(normalized, kind);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
const out = { compositions: {}, recordings: {}, releases: {} };
|
|
223
|
+
if (kinds.size === 0)
|
|
224
|
+
return out;
|
|
225
|
+
const { objects } = await client.core.getObjects({
|
|
226
|
+
objectIds: [...kinds.keys()],
|
|
227
|
+
include: { content: true, json: true },
|
|
228
|
+
});
|
|
229
|
+
for (const obj of objects) {
|
|
230
|
+
if (obj instanceof Error || !obj.content)
|
|
231
|
+
continue;
|
|
232
|
+
const kind = kinds.get(normalizeSuiAddress(obj.objectId));
|
|
233
|
+
if (kind === "compositions") {
|
|
234
|
+
out.compositions[obj.objectId] = mapComposition(obj.objectId, CompositionBcs.parse(obj.content));
|
|
235
|
+
}
|
|
236
|
+
else if (kind === "recordings") {
|
|
237
|
+
out.recordings[obj.objectId] = mapRecording(obj.objectId, RecordingBcs.parse(obj.content));
|
|
238
|
+
}
|
|
239
|
+
else if (kind === "releases") {
|
|
240
|
+
const json = obj.json;
|
|
241
|
+
out.releases[obj.objectId] = json?.discs
|
|
242
|
+
? mapDiscReleaseJson(obj.objectId, json)
|
|
243
|
+
: mapRelease(obj.objectId, ReleaseBcs.parse(obj.content));
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
return out;
|
|
247
|
+
}
|
|
105
248
|
// ============================================================================
|
|
106
249
|
// Composition
|
|
107
250
|
// ============================================================================
|
|
@@ -109,7 +252,10 @@ const AddressesAndTypesByTypeQuery = graphql(`
|
|
|
109
252
|
export async function getCompositionsByIds(client, compositionIds) {
|
|
110
253
|
if (compositionIds.length === 0)
|
|
111
254
|
return {};
|
|
112
|
-
const { objects } = await client.core.getObjects({
|
|
255
|
+
const { objects } = await client.core.getObjects({
|
|
256
|
+
objectIds: compositionIds,
|
|
257
|
+
include: { content: true },
|
|
258
|
+
});
|
|
113
259
|
const out = {};
|
|
114
260
|
for (const obj of objects) {
|
|
115
261
|
if (obj instanceof Error || !obj.content)
|
|
@@ -161,7 +307,10 @@ export async function getCompositionAdminCapById(client, adminCapId) {
|
|
|
161
307
|
*/
|
|
162
308
|
export async function getOwnedCompositionAdminCaps(client, owner, misoPackageId) {
|
|
163
309
|
const capType = `${misoPackageId}::composition::CompositionAdminCap`;
|
|
164
|
-
const { objects } = await client.core.listOwnedObjects({
|
|
310
|
+
const { objects } = await client.core.listOwnedObjects({
|
|
311
|
+
owner,
|
|
312
|
+
type: capType,
|
|
313
|
+
});
|
|
165
314
|
const caps = [];
|
|
166
315
|
for (const obj of objects) {
|
|
167
316
|
const match = obj.type?.match(/<(.+)>$/);
|
|
@@ -179,7 +328,10 @@ export function deriveCompositionAdminCapId(compositionId, misoPackageId) {
|
|
|
179
328
|
export async function getRecordingsByIds(client, recordingIds) {
|
|
180
329
|
if (recordingIds.length === 0)
|
|
181
330
|
return {};
|
|
182
|
-
const { objects } = await client.core.getObjects({
|
|
331
|
+
const { objects } = await client.core.getObjects({
|
|
332
|
+
objectIds: recordingIds,
|
|
333
|
+
include: { content: true },
|
|
334
|
+
});
|
|
183
335
|
const out = {};
|
|
184
336
|
for (const obj of objects) {
|
|
185
337
|
if (obj instanceof Error || !obj.content)
|
|
@@ -234,7 +386,10 @@ export async function getRecordingAdminCapById(client, adminCapId) {
|
|
|
234
386
|
*/
|
|
235
387
|
export async function getOwnedRecordingAdminCaps(client, owner, misoPackageId) {
|
|
236
388
|
const capType = `${misoPackageId}::recording::RecordingAdminCap`;
|
|
237
|
-
const { objects } = await client.core.listOwnedObjects({
|
|
389
|
+
const { objects } = await client.core.listOwnedObjects({
|
|
390
|
+
owner,
|
|
391
|
+
type: capType,
|
|
392
|
+
});
|
|
238
393
|
const caps = [];
|
|
239
394
|
for (const obj of objects) {
|
|
240
395
|
const match = obj.type?.match(/<(.+)>$/);
|
|
@@ -251,7 +406,10 @@ export function deriveRecordingAdminCapId(recordingId, misoPackageId) {
|
|
|
251
406
|
// ============================================================================
|
|
252
407
|
/** Fetches a deal by its object ID (share types read from the type parameters). */
|
|
253
408
|
export async function getDealById(client, dealId) {
|
|
254
|
-
const { object } = await client.core.getObject({
|
|
409
|
+
const { object } = await client.core.getObject({
|
|
410
|
+
objectId: dealId,
|
|
411
|
+
include: { content: true },
|
|
412
|
+
});
|
|
255
413
|
if (!object.content)
|
|
256
414
|
throw new Error(`Deal not found: ${dealId}`);
|
|
257
415
|
const d = DealBcs.parse(object.content);
|
|
@@ -304,7 +462,10 @@ export async function getReleaseRegistry(client, misoPackageId) {
|
|
|
304
462
|
return address;
|
|
305
463
|
}
|
|
306
464
|
export async function getReleaseAdminCapById(client, adminCapId) {
|
|
307
|
-
const { object } = await client.core.getObject({
|
|
465
|
+
const { object } = await client.core.getObject({
|
|
466
|
+
objectId: adminCapId,
|
|
467
|
+
include: { json: true },
|
|
468
|
+
});
|
|
308
469
|
const json = object.json;
|
|
309
470
|
if (!json?.release_id)
|
|
310
471
|
throw new Error(`ReleaseAdminCap not found: ${adminCapId}`);
|
|
@@ -312,17 +473,13 @@ export async function getReleaseAdminCapById(client, adminCapId) {
|
|
|
312
473
|
}
|
|
313
474
|
export async function getOwnedReleaseAdminCaps(client, owner, misoPackageId) {
|
|
314
475
|
const capType = `${misoPackageId}::release::ReleaseAdminCap`;
|
|
315
|
-
const { objects } = await client.core.listOwnedObjects({
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
const { objects: details } = await client.core.getObjects({
|
|
319
|
-
objectIds: objects.map((o) => o.objectId),
|
|
476
|
+
const { objects } = await client.core.listOwnedObjects({
|
|
477
|
+
owner,
|
|
478
|
+
type: capType,
|
|
320
479
|
include: { json: true },
|
|
321
480
|
});
|
|
322
481
|
const caps = [];
|
|
323
|
-
for (const obj of
|
|
324
|
-
if (obj instanceof Error)
|
|
325
|
-
continue;
|
|
482
|
+
for (const obj of objects) {
|
|
326
483
|
const json = obj.json;
|
|
327
484
|
if (json?.release_id)
|
|
328
485
|
caps.push({ id: obj.objectId, releaseId: json.release_id });
|
|
@@ -370,7 +527,10 @@ export async function getShareCurrencyTreasuryCap(client, shareType, owner) {
|
|
|
370
527
|
// ============================================================================
|
|
371
528
|
/** Returns the first object address of a fully-qualified type, or null. */
|
|
372
529
|
async function firstAddressOfType(client, type) {
|
|
373
|
-
const result = await client.query({
|
|
530
|
+
const result = await client.query({
|
|
531
|
+
query: AddressesByTypeQuery,
|
|
532
|
+
variables: { type },
|
|
533
|
+
});
|
|
374
534
|
return result.data?.objects?.nodes?.[0]?.address ?? null;
|
|
375
535
|
}
|
|
376
536
|
/**
|
package/dist/queries.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/client.ts
CHANGED
|
@@ -1,14 +1,25 @@
|
|
|
1
1
|
// Copyright (c) Miso Labs, Inc.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
import type {
|
|
4
|
+
import type {
|
|
5
|
+
ClientWithCoreApi,
|
|
6
|
+
SuiClientRegistration,
|
|
7
|
+
} from "@mysten/sui/client";
|
|
5
8
|
import type { SuiGraphQLClient } from "@mysten/sui/graphql";
|
|
6
9
|
import type { TxThunk } from "./transactions.ts";
|
|
7
10
|
import * as parsers from "./parsers.ts";
|
|
8
11
|
import * as queries from "./queries.ts";
|
|
9
12
|
import * as transactions from "./transactions.ts";
|
|
10
13
|
import * as view from "./view.ts";
|
|
11
|
-
import type {
|
|
14
|
+
import type {
|
|
15
|
+
Composition,
|
|
16
|
+
CompositionAdminCap,
|
|
17
|
+
Deal,
|
|
18
|
+
Recording,
|
|
19
|
+
RecordingAdminCap,
|
|
20
|
+
Release,
|
|
21
|
+
ReleaseAdminCap,
|
|
22
|
+
} from "./types.ts";
|
|
12
23
|
|
|
13
24
|
// Generated call modules (type-safe Move calls) and BCS structs.
|
|
14
25
|
import * as composition from "./contracts/miso/composition.ts";
|
|
@@ -60,7 +71,8 @@ function bindModulePackage<M extends object>(mod: M, pkg: string): M {
|
|
|
60
71
|
for (const [key, value] of Object.entries({ ...mod })) {
|
|
61
72
|
out[key] =
|
|
62
73
|
typeof value === "function"
|
|
63
|
-
? (options: { package?: string }) =>
|
|
74
|
+
? (options: { package?: string }) =>
|
|
75
|
+
(value as (o: unknown) => unknown)({ package: pkg, ...options })
|
|
64
76
|
: value;
|
|
65
77
|
}
|
|
66
78
|
return out as M;
|
|
@@ -104,23 +116,53 @@ export class MisoClient {
|
|
|
104
116
|
async getCompositionById(compositionId: string): Promise<Composition> {
|
|
105
117
|
return queries.getCompositionById(this.#client, compositionId);
|
|
106
118
|
}
|
|
107
|
-
async getCompositionsByIds(
|
|
119
|
+
async getCompositionsByIds(
|
|
120
|
+
ids: string[],
|
|
121
|
+
): Promise<Record<string, Composition>> {
|
|
108
122
|
return queries.getCompositionsByIds(this.#client, ids);
|
|
109
123
|
}
|
|
124
|
+
async getWorksByIds(ids: queries.WorkIds): Promise<queries.WorksById> {
|
|
125
|
+
return queries.getWorksByIds(this.#client, ids);
|
|
126
|
+
}
|
|
127
|
+
async getWorkAddressesByShareTypes(
|
|
128
|
+
shareTypes: queries.WorkShareTypes,
|
|
129
|
+
): Promise<queries.WorkAddressesByShareType> {
|
|
130
|
+
return queries.getWorkAddressesByShareTypes(
|
|
131
|
+
this.#requireGraphQL(),
|
|
132
|
+
shareTypes,
|
|
133
|
+
this.#misoPackageId,
|
|
134
|
+
);
|
|
135
|
+
}
|
|
110
136
|
async getCompositionShareType(compositionId: string): Promise<string> {
|
|
111
137
|
return queries.getCompositionShareType(this.#client, compositionId);
|
|
112
138
|
}
|
|
113
139
|
async getCompositionByShareType(shareType: string): Promise<Composition> {
|
|
114
|
-
return queries.getCompositionByShareType(
|
|
140
|
+
return queries.getCompositionByShareType(
|
|
141
|
+
this.#client,
|
|
142
|
+
this.#requireGraphQL(),
|
|
143
|
+
shareType,
|
|
144
|
+
this.#misoPackageId,
|
|
145
|
+
);
|
|
115
146
|
}
|
|
116
|
-
async getCompositionAdminCapById(
|
|
147
|
+
async getCompositionAdminCapById(
|
|
148
|
+
adminCapId: string,
|
|
149
|
+
): Promise<CompositionAdminCap> {
|
|
117
150
|
return queries.getCompositionAdminCapById(this.#client, adminCapId);
|
|
118
151
|
}
|
|
119
|
-
async getOwnedCompositionAdminCaps(
|
|
120
|
-
|
|
152
|
+
async getOwnedCompositionAdminCaps(
|
|
153
|
+
owner: string,
|
|
154
|
+
): Promise<CompositionAdminCap[]> {
|
|
155
|
+
return queries.getOwnedCompositionAdminCaps(
|
|
156
|
+
this.#client,
|
|
157
|
+
owner,
|
|
158
|
+
this.#misoPackageId,
|
|
159
|
+
);
|
|
121
160
|
}
|
|
122
161
|
deriveCompositionAdminCapId(compositionId: string): string {
|
|
123
|
-
return queries.deriveCompositionAdminCapId(
|
|
162
|
+
return queries.deriveCompositionAdminCapId(
|
|
163
|
+
compositionId,
|
|
164
|
+
this.#misoPackageId,
|
|
165
|
+
);
|
|
124
166
|
}
|
|
125
167
|
|
|
126
168
|
// === Recording ===
|
|
@@ -135,13 +177,26 @@ export class MisoClient {
|
|
|
135
177
|
return queries.getRecordingShareType(this.#client, recordingId);
|
|
136
178
|
}
|
|
137
179
|
async getRecordingByShareType(shareType: string): Promise<Recording> {
|
|
138
|
-
return queries.getRecordingByShareType(
|
|
180
|
+
return queries.getRecordingByShareType(
|
|
181
|
+
this.#client,
|
|
182
|
+
this.#requireGraphQL(),
|
|
183
|
+
shareType,
|
|
184
|
+
this.#misoPackageId,
|
|
185
|
+
);
|
|
139
186
|
}
|
|
140
|
-
async getRecordingAdminCapById(
|
|
187
|
+
async getRecordingAdminCapById(
|
|
188
|
+
adminCapId: string,
|
|
189
|
+
): Promise<RecordingAdminCap> {
|
|
141
190
|
return queries.getRecordingAdminCapById(this.#client, adminCapId);
|
|
142
191
|
}
|
|
143
|
-
async getOwnedRecordingAdminCaps(
|
|
144
|
-
|
|
192
|
+
async getOwnedRecordingAdminCaps(
|
|
193
|
+
owner: string,
|
|
194
|
+
): Promise<RecordingAdminCap[]> {
|
|
195
|
+
return queries.getOwnedRecordingAdminCaps(
|
|
196
|
+
this.#client,
|
|
197
|
+
owner,
|
|
198
|
+
this.#misoPackageId,
|
|
199
|
+
);
|
|
145
200
|
}
|
|
146
201
|
deriveRecordingAdminCapId(recordingId: string): string {
|
|
147
202
|
return queries.deriveRecordingAdminCapId(recordingId, this.#misoPackageId);
|
|
@@ -168,7 +223,11 @@ export class MisoClient {
|
|
|
168
223
|
return queries.deriveReleaseAdminCapId(releaseId, this.#misoPackageId);
|
|
169
224
|
}
|
|
170
225
|
async getOwnedReleaseAdminCaps(owner: string): Promise<ReleaseAdminCap[]> {
|
|
171
|
-
return queries.getOwnedReleaseAdminCaps(
|
|
226
|
+
return queries.getOwnedReleaseAdminCaps(
|
|
227
|
+
this.#client,
|
|
228
|
+
owner,
|
|
229
|
+
this.#misoPackageId,
|
|
230
|
+
);
|
|
172
231
|
}
|
|
173
232
|
/**
|
|
174
233
|
* The deployment's `ReleaseRegistry` object ID.
|
|
@@ -181,7 +240,10 @@ export class MisoClient {
|
|
|
181
240
|
*/
|
|
182
241
|
async getReleaseRegistry(): Promise<string> {
|
|
183
242
|
if (this.#releaseRegistryId) return this.#releaseRegistryId;
|
|
184
|
-
return queries.getReleaseRegistry(
|
|
243
|
+
return queries.getReleaseRegistry(
|
|
244
|
+
this.#requireGraphQL(),
|
|
245
|
+
this.#misoPackageId,
|
|
246
|
+
);
|
|
185
247
|
}
|
|
186
248
|
|
|
187
249
|
// === Share Currency ===
|
|
@@ -194,7 +256,10 @@ export class MisoClient {
|
|
|
194
256
|
* hold only the `Currency` object id, resolve it first with
|
|
195
257
|
* {@link getShareCurrencyType}.
|
|
196
258
|
*/
|
|
197
|
-
async getShareCurrencyTreasuryCap(
|
|
259
|
+
async getShareCurrencyTreasuryCap(
|
|
260
|
+
shareType: string,
|
|
261
|
+
owner: string,
|
|
262
|
+
): Promise<string> {
|
|
198
263
|
return queries.getShareCurrencyTreasuryCap(this.#client, shareType, owner);
|
|
199
264
|
}
|
|
200
265
|
|
|
@@ -219,7 +284,8 @@ export class MisoClient {
|
|
|
219
284
|
const client = this.#client;
|
|
220
285
|
const misoPackageId = this.#misoPackageId;
|
|
221
286
|
return {
|
|
222
|
-
deriveReleaseId: (params: view.DeriveReleaseIdParams) =>
|
|
287
|
+
deriveReleaseId: (params: view.DeriveReleaseIdParams) =>
|
|
288
|
+
view.deriveReleaseId(client, misoPackageId, params),
|
|
223
289
|
};
|
|
224
290
|
}
|
|
225
291
|
|
|
@@ -271,7 +337,9 @@ export class MisoClient {
|
|
|
271
337
|
|
|
272
338
|
#requireGraphQL(): SuiGraphQLClient {
|
|
273
339
|
if (!this.#graphqlClient) {
|
|
274
|
-
throw new Error(
|
|
340
|
+
throw new Error(
|
|
341
|
+
"GraphQL client required. Pass graphqlClient to miso() options.",
|
|
342
|
+
);
|
|
275
343
|
}
|
|
276
344
|
return this.#graphqlClient;
|
|
277
345
|
}
|
package/src/queries.ts
CHANGED
|
@@ -22,13 +22,19 @@
|
|
|
22
22
|
import type { ClientWithCoreApi } from "@mysten/sui/client";
|
|
23
23
|
import type { SuiGraphQLClient } from "@mysten/sui/graphql";
|
|
24
24
|
import { graphql } from "@mysten/sui/graphql/schema";
|
|
25
|
-
import { deriveObjectID } from "@mysten/sui/utils";
|
|
25
|
+
import { deriveObjectID, normalizeSuiAddress } from "@mysten/sui/utils";
|
|
26
26
|
|
|
27
27
|
import { Composition as CompositionBcs } from "./contracts/miso/composition.ts";
|
|
28
28
|
import { Deal as DealBcs } from "./contracts/miso/deal.ts";
|
|
29
29
|
import { Recording as RecordingBcs } from "./contracts/miso/recording.ts";
|
|
30
30
|
import { Release as ReleaseBcs } from "./contracts/miso/release.ts";
|
|
31
|
-
import {
|
|
31
|
+
import {
|
|
32
|
+
mapBps,
|
|
33
|
+
mapComposition,
|
|
34
|
+
mapDiscReleaseJson,
|
|
35
|
+
mapRecording,
|
|
36
|
+
mapRelease,
|
|
37
|
+
} from "./internal.ts";
|
|
32
38
|
import type {
|
|
33
39
|
Composition,
|
|
34
40
|
CompositionAdminCap,
|
|
@@ -50,7 +56,8 @@ import type {
|
|
|
50
56
|
*/
|
|
51
57
|
export function extractTypeParam(objectType: string): string {
|
|
52
58
|
const match = objectType.match(/<(.+)>$/);
|
|
53
|
-
if (!match?.[1])
|
|
59
|
+
if (!match?.[1])
|
|
60
|
+
throw new Error(`Could not extract type parameter from: ${objectType}`);
|
|
54
61
|
return match[1];
|
|
55
62
|
}
|
|
56
63
|
|
|
@@ -62,7 +69,8 @@ export function extractTypeParams2(objectType: string): [string, string] {
|
|
|
62
69
|
const ch = inner[i];
|
|
63
70
|
if (ch === "<") depth++;
|
|
64
71
|
else if (ch === ">") depth--;
|
|
65
|
-
else if (ch === "," && depth === 0)
|
|
72
|
+
else if (ch === "," && depth === 0)
|
|
73
|
+
return [inner.slice(0, i).trim(), inner.slice(i + 1).trim()];
|
|
66
74
|
}
|
|
67
75
|
throw new Error(`Expected two type parameters in: ${objectType}`);
|
|
68
76
|
}
|
|
@@ -90,13 +98,20 @@ export function extractTypeParams2(objectType: string): [string, string] {
|
|
|
90
98
|
export function isNotFound(e: unknown): boolean {
|
|
91
99
|
if (typeof e === "object" && e !== null && "code" in e) {
|
|
92
100
|
const code = (e as { code: unknown }).code;
|
|
93
|
-
if (
|
|
101
|
+
if (
|
|
102
|
+
code === "notExists" ||
|
|
103
|
+
code === "deleted" ||
|
|
104
|
+
code === "dynamicFieldNotFound" ||
|
|
105
|
+
code === "notFound"
|
|
106
|
+
) {
|
|
94
107
|
return true;
|
|
95
108
|
}
|
|
96
109
|
}
|
|
97
110
|
const msg = e instanceof Error ? e.message : String(e);
|
|
98
111
|
return (
|
|
99
|
-
/\bobject\b[\s\S]*\b(?:not\s?found|does not exist|has been deleted)\b/i.test(
|
|
112
|
+
/\bobject\b[\s\S]*\b(?:not\s?found|does not exist|has been deleted)\b/i.test(
|
|
113
|
+
msg,
|
|
114
|
+
) ||
|
|
100
115
|
/\bdynamic field\b[\s\S]*\bnot\s?found\b/i.test(msg) ||
|
|
101
116
|
/\bno object\b/i.test(msg)
|
|
102
117
|
);
|
|
@@ -106,8 +121,14 @@ export function isNotFound(e: unknown): boolean {
|
|
|
106
121
|
const UNIT_STRUCT_KEY_BYTES = new Uint8Array([0x00]);
|
|
107
122
|
|
|
108
123
|
/** Fetches one object's BCS content bytes (or null if absent). */
|
|
109
|
-
async function getContent(
|
|
110
|
-
|
|
124
|
+
async function getContent(
|
|
125
|
+
client: ClientWithCoreApi,
|
|
126
|
+
objectId: string,
|
|
127
|
+
): Promise<Uint8Array | null> {
|
|
128
|
+
const { object } = await client.core.getObject({
|
|
129
|
+
objectId,
|
|
130
|
+
include: { content: true },
|
|
131
|
+
});
|
|
111
132
|
return object.content ?? null;
|
|
112
133
|
}
|
|
113
134
|
|
|
@@ -119,7 +140,9 @@ async function getContent(client: ClientWithCoreApi, objectId: string): Promise<
|
|
|
119
140
|
const AddressesByTypeQuery = graphql(`
|
|
120
141
|
query AddressesByType($type: String!) {
|
|
121
142
|
objects(filter: { type: $type }) {
|
|
122
|
-
nodes {
|
|
143
|
+
nodes {
|
|
144
|
+
address
|
|
145
|
+
}
|
|
123
146
|
}
|
|
124
147
|
}
|
|
125
148
|
`);
|
|
@@ -136,11 +159,217 @@ const AddressesByTypeQuery = graphql(`
|
|
|
136
159
|
const AddressesAndTypesByTypeQuery = graphql(`
|
|
137
160
|
query AddressesAndTypesByType($type: String!) {
|
|
138
161
|
objects(filter: { type: $type }) {
|
|
139
|
-
nodes {
|
|
162
|
+
nodes {
|
|
163
|
+
address
|
|
164
|
+
asMoveObject {
|
|
165
|
+
contents {
|
|
166
|
+
type {
|
|
167
|
+
repr
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
140
172
|
}
|
|
141
173
|
}
|
|
142
174
|
`);
|
|
143
175
|
|
|
176
|
+
export interface WorkShareTypes {
|
|
177
|
+
compositions: readonly string[];
|
|
178
|
+
recordings: readonly string[];
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
export interface WorkAddressesByShareType {
|
|
182
|
+
compositions: Partial<Record<string, string>>;
|
|
183
|
+
recordings: Partial<Record<string, string>>;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
interface WorkAddressConnection {
|
|
187
|
+
nodes: Array<{
|
|
188
|
+
address: string;
|
|
189
|
+
asMoveObject?: {
|
|
190
|
+
contents?: { type?: { repr?: string } | null } | null;
|
|
191
|
+
} | null;
|
|
192
|
+
}>;
|
|
193
|
+
pageInfo?: { hasNextPage: boolean; endCursor: string | null };
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Resolve many work share types in one GraphQL request.
|
|
198
|
+
*
|
|
199
|
+
* Compositions can be queried by their exact one-parameter type. Recordings
|
|
200
|
+
* carry both RecordingShare and CompositionShare, while an admin cap only
|
|
201
|
+
* exposes the first, so one bare Recording scan is shared by every requested
|
|
202
|
+
* recording type and filtered client-side.
|
|
203
|
+
*/
|
|
204
|
+
export async function getWorkAddressesByShareTypes(
|
|
205
|
+
client: SuiGraphQLClient,
|
|
206
|
+
shareTypes: WorkShareTypes,
|
|
207
|
+
misoPackageId: string,
|
|
208
|
+
): Promise<WorkAddressesByShareType> {
|
|
209
|
+
const compositions = [...new Set(shareTypes.compositions)];
|
|
210
|
+
const recordings = new Set(shareTypes.recordings);
|
|
211
|
+
const out: WorkAddressesByShareType = { compositions: {}, recordings: {} };
|
|
212
|
+
if (compositions.length === 0 && recordings.size === 0) return out;
|
|
213
|
+
|
|
214
|
+
const declarations: string[] = [];
|
|
215
|
+
const selections: string[] = [];
|
|
216
|
+
const variables: Record<string, string> = {};
|
|
217
|
+
|
|
218
|
+
compositions.forEach((shareType, index) => {
|
|
219
|
+
const variable = `compositionType${index}`;
|
|
220
|
+
declarations.push(`$${variable}: String!`);
|
|
221
|
+
selections.push(
|
|
222
|
+
`composition${index}: objects(first: 1, filter: { type: $${variable} }) { nodes { address } }`,
|
|
223
|
+
);
|
|
224
|
+
variables[variable] =
|
|
225
|
+
`${misoPackageId}::composition::Composition<${shareType}>`;
|
|
226
|
+
});
|
|
227
|
+
|
|
228
|
+
if (recordings.size > 0) {
|
|
229
|
+
declarations.push("$recordingType: String!");
|
|
230
|
+
selections.push(`recordings: objects(first: 50, filter: { type: $recordingType }) {
|
|
231
|
+
pageInfo { hasNextPage endCursor }
|
|
232
|
+
nodes { address asMoveObject { contents { type { repr } } } }
|
|
233
|
+
}`);
|
|
234
|
+
variables.recordingType = `${misoPackageId}::recording::Recording`;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
const result = await client.query<
|
|
238
|
+
Record<string, WorkAddressConnection | null>,
|
|
239
|
+
Record<string, string>
|
|
240
|
+
>({
|
|
241
|
+
query: `query WorkAddressesByShareTypes(${declarations.join(", ")}) {
|
|
242
|
+
${selections.join("\n")}
|
|
243
|
+
}`,
|
|
244
|
+
variables,
|
|
245
|
+
});
|
|
246
|
+
if (result.errors?.length) {
|
|
247
|
+
throw new AggregateError(
|
|
248
|
+
result.errors.map((error) => new Error(error.message)),
|
|
249
|
+
"Work type discovery failed",
|
|
250
|
+
);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
compositions.forEach((shareType, index) => {
|
|
254
|
+
const address = result.data?.[`composition${index}`]?.nodes[0]?.address;
|
|
255
|
+
if (address) out.compositions[shareType] = address;
|
|
256
|
+
});
|
|
257
|
+
|
|
258
|
+
const readRecordingPage = (
|
|
259
|
+
page: WorkAddressConnection | null | undefined,
|
|
260
|
+
) => {
|
|
261
|
+
for (const node of page?.nodes ?? []) {
|
|
262
|
+
const repr = node.asMoveObject?.contents?.type?.repr;
|
|
263
|
+
if (!repr) continue;
|
|
264
|
+
try {
|
|
265
|
+
const [recordingShareType] = extractTypeParams2(repr);
|
|
266
|
+
if (recordings.has(recordingShareType)) {
|
|
267
|
+
out.recordings[recordingShareType] = node.address;
|
|
268
|
+
}
|
|
269
|
+
} catch {
|
|
270
|
+
// Ignore a live object whose type does not match the deployed Recording ABI.
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
};
|
|
274
|
+
|
|
275
|
+
let recordingPage = result.data?.recordings;
|
|
276
|
+
readRecordingPage(recordingPage);
|
|
277
|
+
while (
|
|
278
|
+
recordingPage?.pageInfo?.hasNextPage &&
|
|
279
|
+
recordingPage.pageInfo.endCursor &&
|
|
280
|
+
Object.keys(out.recordings).length < recordings.size
|
|
281
|
+
) {
|
|
282
|
+
const next = await client.query<
|
|
283
|
+
{ recordings: WorkAddressConnection | null },
|
|
284
|
+
{ recordingType: string; cursor: string }
|
|
285
|
+
>({
|
|
286
|
+
query: `query RecordingWorkAddresses($recordingType: String!, $cursor: String!) {
|
|
287
|
+
recordings: objects(first: 50, after: $cursor, filter: { type: $recordingType }) {
|
|
288
|
+
pageInfo { hasNextPage endCursor }
|
|
289
|
+
nodes { address asMoveObject { contents { type { repr } } } }
|
|
290
|
+
}
|
|
291
|
+
}`,
|
|
292
|
+
variables: {
|
|
293
|
+
recordingType: variables.recordingType!,
|
|
294
|
+
cursor: recordingPage.pageInfo.endCursor,
|
|
295
|
+
},
|
|
296
|
+
});
|
|
297
|
+
if (next.errors?.length) {
|
|
298
|
+
throw new AggregateError(
|
|
299
|
+
next.errors.map((error) => new Error(error.message)),
|
|
300
|
+
"Recording type discovery failed",
|
|
301
|
+
);
|
|
302
|
+
}
|
|
303
|
+
recordingPage = next.data?.recordings;
|
|
304
|
+
readRecordingPage(recordingPage);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
return out;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
export interface WorkIds {
|
|
311
|
+
compositions: readonly string[];
|
|
312
|
+
recordings: readonly string[];
|
|
313
|
+
releases: readonly string[];
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
export interface WorksById {
|
|
317
|
+
compositions: Partial<Record<string, Composition>>;
|
|
318
|
+
recordings: Partial<Record<string, Recording>>;
|
|
319
|
+
releases: Partial<Record<string, Release>>;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
/** Fetch and parse heterogeneous work objects through one Core bulk request. */
|
|
323
|
+
export async function getWorksByIds(
|
|
324
|
+
client: ClientWithCoreApi,
|
|
325
|
+
ids: WorkIds,
|
|
326
|
+
): Promise<WorksById> {
|
|
327
|
+
const kinds = new Map<string, keyof WorksById>();
|
|
328
|
+
for (const [kind, objectIds] of Object.entries(ids) as Array<
|
|
329
|
+
[keyof WorksById, readonly string[]]
|
|
330
|
+
>) {
|
|
331
|
+
for (const objectId of objectIds) {
|
|
332
|
+
const normalized = normalizeSuiAddress(objectId);
|
|
333
|
+
const previous = kinds.get(normalized);
|
|
334
|
+
if (previous && previous !== kind) {
|
|
335
|
+
throw new Error(
|
|
336
|
+
`Work ${normalized} was requested as both ${previous} and ${kind}`,
|
|
337
|
+
);
|
|
338
|
+
}
|
|
339
|
+
kinds.set(normalized, kind);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
const out: WorksById = { compositions: {}, recordings: {}, releases: {} };
|
|
344
|
+
if (kinds.size === 0) return out;
|
|
345
|
+
|
|
346
|
+
const { objects } = await client.core.getObjects({
|
|
347
|
+
objectIds: [...kinds.keys()],
|
|
348
|
+
include: { content: true, json: true },
|
|
349
|
+
});
|
|
350
|
+
for (const obj of objects) {
|
|
351
|
+
if (obj instanceof Error || !obj.content) continue;
|
|
352
|
+
const kind = kinds.get(normalizeSuiAddress(obj.objectId));
|
|
353
|
+
if (kind === "compositions") {
|
|
354
|
+
out.compositions[obj.objectId] = mapComposition(
|
|
355
|
+
obj.objectId,
|
|
356
|
+
CompositionBcs.parse(obj.content),
|
|
357
|
+
);
|
|
358
|
+
} else if (kind === "recordings") {
|
|
359
|
+
out.recordings[obj.objectId] = mapRecording(
|
|
360
|
+
obj.objectId,
|
|
361
|
+
RecordingBcs.parse(obj.content),
|
|
362
|
+
);
|
|
363
|
+
} else if (kind === "releases") {
|
|
364
|
+
const json = obj.json as { discs?: unknown[] } | null;
|
|
365
|
+
out.releases[obj.objectId] = json?.discs
|
|
366
|
+
? mapDiscReleaseJson(obj.objectId, json)
|
|
367
|
+
: mapRelease(obj.objectId, ReleaseBcs.parse(obj.content));
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
return out;
|
|
371
|
+
}
|
|
372
|
+
|
|
144
373
|
// ============================================================================
|
|
145
374
|
// Composition
|
|
146
375
|
// ============================================================================
|
|
@@ -151,24 +380,36 @@ export async function getCompositionsByIds(
|
|
|
151
380
|
compositionIds: string[],
|
|
152
381
|
): Promise<Record<string, Composition>> {
|
|
153
382
|
if (compositionIds.length === 0) return {};
|
|
154
|
-
const { objects } = await client.core.getObjects({
|
|
383
|
+
const { objects } = await client.core.getObjects({
|
|
384
|
+
objectIds: compositionIds,
|
|
385
|
+
include: { content: true },
|
|
386
|
+
});
|
|
155
387
|
const out: Record<string, Composition> = {};
|
|
156
388
|
for (const obj of objects) {
|
|
157
389
|
if (obj instanceof Error || !obj.content) continue;
|
|
158
|
-
out[obj.objectId] = mapComposition(
|
|
390
|
+
out[obj.objectId] = mapComposition(
|
|
391
|
+
obj.objectId,
|
|
392
|
+
CompositionBcs.parse(obj.content),
|
|
393
|
+
);
|
|
159
394
|
}
|
|
160
395
|
return out;
|
|
161
396
|
}
|
|
162
397
|
|
|
163
398
|
/** Fetches a composition by its object ID. */
|
|
164
|
-
export async function getCompositionById(
|
|
399
|
+
export async function getCompositionById(
|
|
400
|
+
client: ClientWithCoreApi,
|
|
401
|
+
compositionId: string,
|
|
402
|
+
): Promise<Composition> {
|
|
165
403
|
const content = await getContent(client, compositionId);
|
|
166
404
|
if (!content) throw new Error(`Composition not found: ${compositionId}`);
|
|
167
405
|
return mapComposition(compositionId, CompositionBcs.parse(content));
|
|
168
406
|
}
|
|
169
407
|
|
|
170
408
|
/** Extracts the share type `T` from a `Composition<T>` object. */
|
|
171
|
-
export async function getCompositionShareType(
|
|
409
|
+
export async function getCompositionShareType(
|
|
410
|
+
client: ClientWithCoreApi,
|
|
411
|
+
compositionId: string,
|
|
412
|
+
): Promise<string> {
|
|
172
413
|
const { object } = await client.core.getObject({ objectId: compositionId });
|
|
173
414
|
return extractTypeParam(object.type);
|
|
174
415
|
}
|
|
@@ -180,8 +421,13 @@ export async function getCompositionByShareType(
|
|
|
180
421
|
shareType: string,
|
|
181
422
|
misoPackageId: string,
|
|
182
423
|
): Promise<Composition> {
|
|
183
|
-
const address = await getCompositionAddressByShareType(
|
|
184
|
-
|
|
424
|
+
const address = await getCompositionAddressByShareType(
|
|
425
|
+
graphqlClient,
|
|
426
|
+
shareType,
|
|
427
|
+
misoPackageId,
|
|
428
|
+
);
|
|
429
|
+
if (!address)
|
|
430
|
+
throw new Error(`Composition not found for share type: ${shareType}`);
|
|
185
431
|
return getCompositionById(client, address);
|
|
186
432
|
}
|
|
187
433
|
|
|
@@ -222,7 +468,10 @@ export async function getOwnedCompositionAdminCaps(
|
|
|
222
468
|
misoPackageId: string,
|
|
223
469
|
): Promise<CompositionAdminCap[]> {
|
|
224
470
|
const capType = `${misoPackageId}::composition::CompositionAdminCap`;
|
|
225
|
-
const { objects } = await client.core.listOwnedObjects({
|
|
471
|
+
const { objects } = await client.core.listOwnedObjects({
|
|
472
|
+
owner,
|
|
473
|
+
type: capType,
|
|
474
|
+
});
|
|
226
475
|
const caps: CompositionAdminCap[] = [];
|
|
227
476
|
for (const obj of objects) {
|
|
228
477
|
const match = obj.type?.match(/<(.+)>$/);
|
|
@@ -231,8 +480,15 @@ export async function getOwnedCompositionAdminCaps(
|
|
|
231
480
|
return caps;
|
|
232
481
|
}
|
|
233
482
|
|
|
234
|
-
export function deriveCompositionAdminCapId(
|
|
235
|
-
|
|
483
|
+
export function deriveCompositionAdminCapId(
|
|
484
|
+
compositionId: string,
|
|
485
|
+
misoPackageId: string,
|
|
486
|
+
): string {
|
|
487
|
+
return deriveObjectID(
|
|
488
|
+
compositionId,
|
|
489
|
+
`${misoPackageId}::composition::CompositionAdminCapKey`,
|
|
490
|
+
UNIT_STRUCT_KEY_BYTES,
|
|
491
|
+
);
|
|
236
492
|
}
|
|
237
493
|
|
|
238
494
|
// ============================================================================
|
|
@@ -244,16 +500,25 @@ export async function getRecordingsByIds(
|
|
|
244
500
|
recordingIds: string[],
|
|
245
501
|
): Promise<Record<string, Recording>> {
|
|
246
502
|
if (recordingIds.length === 0) return {};
|
|
247
|
-
const { objects } = await client.core.getObjects({
|
|
503
|
+
const { objects } = await client.core.getObjects({
|
|
504
|
+
objectIds: recordingIds,
|
|
505
|
+
include: { content: true },
|
|
506
|
+
});
|
|
248
507
|
const out: Record<string, Recording> = {};
|
|
249
508
|
for (const obj of objects) {
|
|
250
509
|
if (obj instanceof Error || !obj.content) continue;
|
|
251
|
-
out[obj.objectId] = mapRecording(
|
|
510
|
+
out[obj.objectId] = mapRecording(
|
|
511
|
+
obj.objectId,
|
|
512
|
+
RecordingBcs.parse(obj.content),
|
|
513
|
+
);
|
|
252
514
|
}
|
|
253
515
|
return out;
|
|
254
516
|
}
|
|
255
517
|
|
|
256
|
-
export async function getRecordingById(
|
|
518
|
+
export async function getRecordingById(
|
|
519
|
+
client: ClientWithCoreApi,
|
|
520
|
+
recordingId: string,
|
|
521
|
+
): Promise<Recording> {
|
|
257
522
|
const content = await getContent(client, recordingId);
|
|
258
523
|
if (!content) throw new Error(`Recording not found: ${recordingId}`);
|
|
259
524
|
return mapRecording(recordingId, RecordingBcs.parse(content));
|
|
@@ -265,8 +530,14 @@ export async function getRecordingById(client: ClientWithCoreApi, recordingId: s
|
|
|
265
530
|
* them and returns the first; use {@link getRecordingShareTypes} when the
|
|
266
531
|
* parent composition's share type is needed too.
|
|
267
532
|
*/
|
|
268
|
-
export async function getRecordingShareType(
|
|
269
|
-
|
|
533
|
+
export async function getRecordingShareType(
|
|
534
|
+
client: ClientWithCoreApi,
|
|
535
|
+
recordingId: string,
|
|
536
|
+
): Promise<string> {
|
|
537
|
+
const [recordingShareType] = await getRecordingShareTypes(
|
|
538
|
+
client,
|
|
539
|
+
recordingId,
|
|
540
|
+
);
|
|
270
541
|
return recordingShareType;
|
|
271
542
|
}
|
|
272
543
|
|
|
@@ -290,8 +561,13 @@ export async function getRecordingByShareType(
|
|
|
290
561
|
shareType: string,
|
|
291
562
|
misoPackageId: string,
|
|
292
563
|
): Promise<Recording> {
|
|
293
|
-
const address = await addressOfRecordingWithShareType(
|
|
294
|
-
|
|
564
|
+
const address = await addressOfRecordingWithShareType(
|
|
565
|
+
graphqlClient,
|
|
566
|
+
misoPackageId,
|
|
567
|
+
shareType,
|
|
568
|
+
);
|
|
569
|
+
if (!address)
|
|
570
|
+
throw new Error(`Recording not found for share type: ${shareType}`);
|
|
295
571
|
return getRecordingById(client, address);
|
|
296
572
|
}
|
|
297
573
|
|
|
@@ -317,7 +593,10 @@ export async function getOwnedRecordingAdminCaps(
|
|
|
317
593
|
misoPackageId: string,
|
|
318
594
|
): Promise<RecordingAdminCap[]> {
|
|
319
595
|
const capType = `${misoPackageId}::recording::RecordingAdminCap`;
|
|
320
|
-
const { objects } = await client.core.listOwnedObjects({
|
|
596
|
+
const { objects } = await client.core.listOwnedObjects({
|
|
597
|
+
owner,
|
|
598
|
+
type: capType,
|
|
599
|
+
});
|
|
321
600
|
const caps: RecordingAdminCap[] = [];
|
|
322
601
|
for (const obj of objects) {
|
|
323
602
|
const match = obj.type?.match(/<(.+)>$/);
|
|
@@ -326,8 +605,15 @@ export async function getOwnedRecordingAdminCaps(
|
|
|
326
605
|
return caps;
|
|
327
606
|
}
|
|
328
607
|
|
|
329
|
-
export function deriveRecordingAdminCapId(
|
|
330
|
-
|
|
608
|
+
export function deriveRecordingAdminCapId(
|
|
609
|
+
recordingId: string,
|
|
610
|
+
misoPackageId: string,
|
|
611
|
+
): string {
|
|
612
|
+
return deriveObjectID(
|
|
613
|
+
recordingId,
|
|
614
|
+
`${misoPackageId}::recording::RecordingAdminCapKey`,
|
|
615
|
+
UNIT_STRUCT_KEY_BYTES,
|
|
616
|
+
);
|
|
331
617
|
}
|
|
332
618
|
|
|
333
619
|
// ============================================================================
|
|
@@ -335,11 +621,19 @@ export function deriveRecordingAdminCapId(recordingId: string, misoPackageId: st
|
|
|
335
621
|
// ============================================================================
|
|
336
622
|
|
|
337
623
|
/** Fetches a deal by its object ID (share types read from the type parameters). */
|
|
338
|
-
export async function getDealById(
|
|
339
|
-
|
|
624
|
+
export async function getDealById(
|
|
625
|
+
client: ClientWithCoreApi,
|
|
626
|
+
dealId: string,
|
|
627
|
+
): Promise<Deal> {
|
|
628
|
+
const { object } = await client.core.getObject({
|
|
629
|
+
objectId: dealId,
|
|
630
|
+
include: { content: true },
|
|
631
|
+
});
|
|
340
632
|
if (!object.content) throw new Error(`Deal not found: ${dealId}`);
|
|
341
633
|
const d = DealBcs.parse(object.content);
|
|
342
|
-
const [recordingShareType, compositionShareType] = extractTypeParams2(
|
|
634
|
+
const [recordingShareType, compositionShareType] = extractTypeParams2(
|
|
635
|
+
object.type,
|
|
636
|
+
);
|
|
343
637
|
return {
|
|
344
638
|
id: dealId,
|
|
345
639
|
releaseId: d.release_id,
|
|
@@ -373,7 +667,10 @@ export async function getReleasesByIds(
|
|
|
373
667
|
return out;
|
|
374
668
|
}
|
|
375
669
|
|
|
376
|
-
export async function getReleaseById(
|
|
670
|
+
export async function getReleaseById(
|
|
671
|
+
client: ClientWithCoreApi,
|
|
672
|
+
releaseId: string,
|
|
673
|
+
): Promise<Release> {
|
|
377
674
|
const { object } = await client.core.getObject({
|
|
378
675
|
objectId: releaseId,
|
|
379
676
|
include: { content: true, json: true },
|
|
@@ -385,8 +682,14 @@ export async function getReleaseById(client: ClientWithCoreApi, releaseId: strin
|
|
|
385
682
|
: mapRelease(releaseId, ReleaseBcs.parse(object.content));
|
|
386
683
|
}
|
|
387
684
|
|
|
388
|
-
export async function getReleaseRegistry(
|
|
389
|
-
|
|
685
|
+
export async function getReleaseRegistry(
|
|
686
|
+
client: SuiGraphQLClient,
|
|
687
|
+
misoPackageId: string,
|
|
688
|
+
): Promise<string> {
|
|
689
|
+
const address = await firstAddressOfType(
|
|
690
|
+
client,
|
|
691
|
+
`${misoPackageId}::release::ReleaseRegistry`,
|
|
692
|
+
);
|
|
390
693
|
if (!address) throw new Error("ReleaseRegistry not found");
|
|
391
694
|
return address;
|
|
392
695
|
}
|
|
@@ -395,9 +698,13 @@ export async function getReleaseAdminCapById(
|
|
|
395
698
|
client: ClientWithCoreApi,
|
|
396
699
|
adminCapId: string,
|
|
397
700
|
): Promise<ReleaseAdminCap> {
|
|
398
|
-
const { object } = await client.core.getObject({
|
|
701
|
+
const { object } = await client.core.getObject({
|
|
702
|
+
objectId: adminCapId,
|
|
703
|
+
include: { json: true },
|
|
704
|
+
});
|
|
399
705
|
const json = object.json as { release_id: string } | null;
|
|
400
|
-
if (!json?.release_id)
|
|
706
|
+
if (!json?.release_id)
|
|
707
|
+
throw new Error(`ReleaseAdminCap not found: ${adminCapId}`);
|
|
401
708
|
return { id: adminCapId, releaseId: json.release_id };
|
|
402
709
|
}
|
|
403
710
|
|
|
@@ -407,23 +714,29 @@ export async function getOwnedReleaseAdminCaps(
|
|
|
407
714
|
misoPackageId: string,
|
|
408
715
|
): Promise<ReleaseAdminCap[]> {
|
|
409
716
|
const capType = `${misoPackageId}::release::ReleaseAdminCap`;
|
|
410
|
-
const { objects } = await client.core.listOwnedObjects({
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
objectIds: objects.map((o) => o.objectId),
|
|
717
|
+
const { objects } = await client.core.listOwnedObjects({
|
|
718
|
+
owner,
|
|
719
|
+
type: capType,
|
|
414
720
|
include: { json: true },
|
|
415
721
|
});
|
|
416
722
|
const caps: ReleaseAdminCap[] = [];
|
|
417
|
-
for (const obj of
|
|
418
|
-
if (obj instanceof Error) continue;
|
|
723
|
+
for (const obj of objects) {
|
|
419
724
|
const json = obj.json as { release_id: string } | null;
|
|
420
|
-
if (json?.release_id)
|
|
725
|
+
if (json?.release_id)
|
|
726
|
+
caps.push({ id: obj.objectId, releaseId: json.release_id });
|
|
421
727
|
}
|
|
422
728
|
return caps;
|
|
423
729
|
}
|
|
424
730
|
|
|
425
|
-
export function deriveReleaseAdminCapId(
|
|
426
|
-
|
|
731
|
+
export function deriveReleaseAdminCapId(
|
|
732
|
+
releaseId: string,
|
|
733
|
+
misoPackageId: string,
|
|
734
|
+
): string {
|
|
735
|
+
return deriveObjectID(
|
|
736
|
+
releaseId,
|
|
737
|
+
`${misoPackageId}::release::ReleaseAdminCapKey`,
|
|
738
|
+
UNIT_STRUCT_KEY_BYTES,
|
|
739
|
+
);
|
|
427
740
|
}
|
|
428
741
|
|
|
429
742
|
// ============================================================================
|
|
@@ -431,7 +744,10 @@ export function deriveReleaseAdminCapId(releaseId: string, misoPackageId: string
|
|
|
431
744
|
// ============================================================================
|
|
432
745
|
|
|
433
746
|
/** Extracts the share type `T` from a `Currency<T>` object. */
|
|
434
|
-
export async function getShareCurrencyType(
|
|
747
|
+
export async function getShareCurrencyType(
|
|
748
|
+
client: ClientWithCoreApi,
|
|
749
|
+
shareCurrencyId: string,
|
|
750
|
+
): Promise<string> {
|
|
435
751
|
const { object } = await client.core.getObject({ objectId: shareCurrencyId });
|
|
436
752
|
return extractTypeParam(object.type);
|
|
437
753
|
}
|
|
@@ -471,8 +787,14 @@ export async function getShareCurrencyTreasuryCap(
|
|
|
471
787
|
// ============================================================================
|
|
472
788
|
|
|
473
789
|
/** Returns the first object address of a fully-qualified type, or null. */
|
|
474
|
-
async function firstAddressOfType(
|
|
475
|
-
|
|
790
|
+
async function firstAddressOfType(
|
|
791
|
+
client: SuiGraphQLClient,
|
|
792
|
+
type: string,
|
|
793
|
+
): Promise<string | null> {
|
|
794
|
+
const result = await client.query({
|
|
795
|
+
query: AddressesByTypeQuery,
|
|
796
|
+
variables: { type },
|
|
797
|
+
});
|
|
476
798
|
return result.data?.objects?.nodes?.[0]?.address ?? null;
|
|
477
799
|
}
|
|
478
800
|
|