@misonetwork/sdk 0.3.0 → 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/internal.d.ts +7 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +22 -0
- package/dist/internal.js.map +1 -1
- package/dist/queries.d.ts +37 -0
- package/dist/queries.d.ts.map +1 -1
- package/dist/queries.js +210 -28
- package/dist/queries.js.map +1 -1
- package/package.json +1 -1
- package/src/client.ts +86 -18
- package/src/internal.ts +24 -0
- package/src/queries.ts +404 -55
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":"AAGA,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,IAAI,EACJ,SAAS,EACT,iBAAiB,EACjB,OAAO,EACP,eAAe,EAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,KAAK,WAAW,MAAM,iCAAiC,CAAC;AAC/D,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,OAAO,MAAM,6BAA6B,CAAC;AACvD,OAAO,KAAK,IAAI,MAAM,0BAA0B,CAAC;AACjD,OAAO,KAAK,KAAK,MAAM,2BAA2B,CAAC;AAEnD,MAAM,WAAW,WAAW,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM;IACvD,yDAAyD;IACzD,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,2EAA2E;IAC3E,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,gBAAgB,CAAC;CAClC;AA2BD;;;;;;;;;GASG;AACH,wBAAgB,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,EACrD,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,GACzB,qBAAqB,CAAC,iBAAiB,EAAE,IAAI,EAAE,UAAU,CAAC,CAM5D;AAED,qBAAa,UAAU;;gBAMT,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC;IASnE,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAG/D,oBAAoB,CACxB,GAAG,EAAE,MAAM,EAAE,GACZ,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAGjC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;IAG/D,4BAA4B,CAChC,UAAU,EAAE,OAAO,CAAC,cAAc,GACjC,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC;IAOtC,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAG/D,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAQlE,0BAA0B,CAC9B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,CAAC;IAGzB,4BAA4B,CAChC,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAOjC,2BAA2B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IASpD,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAGzD,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAGrE,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAG3D,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAQ9D,wBAAwB,CAC5B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC;IAGvB,0BAA0B,CAC9B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAO/B,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAMhD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM1C,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAGnD,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGjE,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAG1E,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAG5C,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAOzE;;;;;;;;OAQG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAUrC,oBAAoB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAGpE;;;;OAIG;IACG,2BAA2B,CAC/B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC;IAYlB,IAAI,EAAE;sFAlNiC,OAAO;MAuN7C;IAID,IAAI,IAAI;kCAIsB,IAAI,CAAC,qBAAqB;MAGvD;IAID,IAAI,IAAI;;;;;;MASP;IAID,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAeN;IAID,IAAI,KAAK;;;;;;;;MAUR;CAUF"}
|
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/internal.d.ts
CHANGED
|
@@ -13,5 +13,12 @@ export declare function mapComposition(id: string, d: Parsed): Composition;
|
|
|
13
13
|
export declare function mapRecording(id: string, d: Parsed): Recording;
|
|
14
14
|
export declare function mapTrack(d: Parsed): Track;
|
|
15
15
|
export declare function mapRelease(id: string, d: Parsed): ReleaseType;
|
|
16
|
+
/**
|
|
17
|
+
* Maps the deployed disc-based Release JSON shape to the SDK's flat Release
|
|
18
|
+
* view. The current protocol source stores `tracks` directly, while the
|
|
19
|
+
* existing testnet package stores `discs`; both represent one ordered
|
|
20
|
+
* tracklist to SDK consumers.
|
|
21
|
+
*/
|
|
22
|
+
export declare function mapDiscReleaseJson(id: string, d: Parsed): ReleaseType;
|
|
16
23
|
export {};
|
|
17
24
|
//# sourceMappingURL=internal.d.ts.map
|
package/dist/internal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,GAAG,EACH,WAAW,EACX,SAAS,EACT,OAAO,IAAI,WAAW,EACtB,KAAK,EAEN,MAAM,YAAY,CAAC;AAKpB,KAAK,MAAM,GAAG,GAAG,CAAC;AAIlB,kEAAkE;AAClE,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAErC;AAED,6DAA6D;AAC7D,wBAAgB,QAAQ,CACtB,CAAC,EAAE,MAAM,GACR;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAGtE;AAID,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW,CAOjE;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAK7D;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAMzC;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW,CAO7D"}
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,GAAG,EACH,WAAW,EACX,SAAS,EACT,OAAO,IAAI,WAAW,EACtB,KAAK,EAEN,MAAM,YAAY,CAAC;AAKpB,KAAK,MAAM,GAAG,GAAG,CAAC;AAIlB,kEAAkE;AAClE,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAErC;AAED,6DAA6D;AAC7D,wBAAgB,QAAQ,CACtB,CAAC,EAAE,MAAM,GACR;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAGtE;AAID,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW,CAOjE;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAK7D;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAMzC;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW,CAO7D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW,CAgBrE"}
|
package/dist/internal.js
CHANGED
|
@@ -41,4 +41,26 @@ export function mapRelease(id, d) {
|
|
|
41
41
|
tracks: (d.tracks ?? []).map(mapTrack),
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Maps the deployed disc-based Release JSON shape to the SDK's flat Release
|
|
46
|
+
* view. The current protocol source stores `tracks` directly, while the
|
|
47
|
+
* existing testnet package stores `discs`; both represent one ordered
|
|
48
|
+
* tracklist to SDK consumers.
|
|
49
|
+
*/
|
|
50
|
+
export function mapDiscReleaseJson(id, d) {
|
|
51
|
+
const tracks = (d.discs ?? []).flatMap((disc) => disc.tracks ?? []);
|
|
52
|
+
const publishedAt = d.state?.["@variant"] === "Published" ? d.state.pos0 : null;
|
|
53
|
+
return {
|
|
54
|
+
id,
|
|
55
|
+
state: publishedAt == null
|
|
56
|
+
? { type: "Initialized" }
|
|
57
|
+
: { type: "Published", timestampMs: Number(publishedAt) },
|
|
58
|
+
title: d.title,
|
|
59
|
+
tracks: tracks.map((track) => ({
|
|
60
|
+
state: (track.state?.["@variant"] ?? "Unassigned"),
|
|
61
|
+
recordingId: track.recording_id,
|
|
62
|
+
splitBps: { value: Number(track.split_bps?.pos0 ?? track.split_bps) },
|
|
63
|
+
})),
|
|
64
|
+
};
|
|
65
|
+
}
|
|
44
66
|
//# sourceMappingURL=internal.js.map
|
package/dist/internal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AA8BtC,qBAAqB;AAErB,kEAAkE;AAClE,MAAM,UAAU,MAAM,CAAC,CAAS;IAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxD,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,QAAQ,CACtB,CAAS;IAET,IAAI,CAAC,EAAE,KAAK,KAAK,WAAW;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;IAC7F,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;AACjC,CAAC;AAED,kBAAkB;AAElB,MAAM,UAAU,cAAc,CAAC,EAAU,EAAE,CAAS;IAClD,OAAO;QACL,EAAE;QACF,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;QACxB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAU,EAAE,CAAS;IAChD,OAAO;QACL,EAAE;QACF,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,CAAS;IAChC,OAAO;QACL,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,IAAI,YAAY,CAAe;QACrD,WAAW,EAAE,CAAC,CAAC,YAAY;QAC3B,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAU,EAAE,CAAS;IAC9C,OAAO;QACL,EAAE;QACF,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;QACxB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;KACvC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AA8BtC,qBAAqB;AAErB,kEAAkE;AAClE,MAAM,UAAU,MAAM,CAAC,CAAS;IAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxD,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,QAAQ,CACtB,CAAS;IAET,IAAI,CAAC,EAAE,KAAK,KAAK,WAAW;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;IAC7F,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;AACjC,CAAC;AAED,kBAAkB;AAElB,MAAM,UAAU,cAAc,CAAC,EAAU,EAAE,CAAS;IAClD,OAAO;QACL,EAAE;QACF,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;QACxB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAU,EAAE,CAAS;IAChD,OAAO;QACL,EAAE;QACF,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,CAAS;IAChC,OAAO;QACL,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,IAAI,YAAY,CAAe;QACrD,WAAW,EAAE,CAAC,CAAC,YAAY;QAC3B,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAU,EAAE,CAAS;IAC9C,OAAO;QACL,EAAE;QACF,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;QACxB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;KACvC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAU,EAAE,CAAS;IACtD,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAChF,OAAO;QACL,EAAE;QACF,KAAK,EACH,WAAW,IAAI,IAAI;YACjB,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE;YACzB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE;QAC7D,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC;YACrC,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,IAAI,YAAY,CAAe;YAChE,WAAW,EAAE,KAAK,CAAC,YAAY;YAC/B,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE;SACtE,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
|
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. */
|
|
@@ -38,6 +67,14 @@ export declare function getCompositionById(client: ClientWithCoreApi, compositio
|
|
|
38
67
|
export declare function getCompositionShareType(client: ClientWithCoreApi, compositionId: string): Promise<string>;
|
|
39
68
|
/** Fetches a composition by its share type (GraphQL discovery + Core read). */
|
|
40
69
|
export declare function getCompositionByShareType(client: ClientWithCoreApi, graphqlClient: SuiGraphQLClient, shareType: string, misoPackageId: string): Promise<Composition>;
|
|
70
|
+
/**
|
|
71
|
+
* Resolves a composition share type to its object address.
|
|
72
|
+
*
|
|
73
|
+
* This is the lightweight discovery primitive for callers that need the
|
|
74
|
+
* composition's identity but will read extension fields rather than the core
|
|
75
|
+
* Composition contents.
|
|
76
|
+
*/
|
|
77
|
+
export declare function getCompositionAddressByShareType(graphqlClient: SuiGraphQLClient, shareType: string, misoPackageId: string): Promise<string | null>;
|
|
41
78
|
export declare function getCompositionAdminCapById(client: ClientWithCoreApi, adminCapId: string): Promise<CompositionAdminCap>;
|
|
42
79
|
/**
|
|
43
80
|
* Composition admin caps owned by `owner`.
|
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":"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"}
|
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, 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)
|
|
@@ -132,12 +278,22 @@ export async function getCompositionShareType(client, compositionId) {
|
|
|
132
278
|
}
|
|
133
279
|
/** Fetches a composition by its share type (GraphQL discovery + Core read). */
|
|
134
280
|
export async function getCompositionByShareType(client, graphqlClient, shareType, misoPackageId) {
|
|
135
|
-
const
|
|
136
|
-
const address = await firstAddressOfType(graphqlClient, type);
|
|
281
|
+
const address = await getCompositionAddressByShareType(graphqlClient, shareType, misoPackageId);
|
|
137
282
|
if (!address)
|
|
138
283
|
throw new Error(`Composition not found for share type: ${shareType}`);
|
|
139
284
|
return getCompositionById(client, address);
|
|
140
285
|
}
|
|
286
|
+
/**
|
|
287
|
+
* Resolves a composition share type to its object address.
|
|
288
|
+
*
|
|
289
|
+
* This is the lightweight discovery primitive for callers that need the
|
|
290
|
+
* composition's identity but will read extension fields rather than the core
|
|
291
|
+
* Composition contents.
|
|
292
|
+
*/
|
|
293
|
+
export async function getCompositionAddressByShareType(graphqlClient, shareType, misoPackageId) {
|
|
294
|
+
const type = `${misoPackageId}::composition::Composition<${shareType}>`;
|
|
295
|
+
return firstAddressOfType(graphqlClient, type);
|
|
296
|
+
}
|
|
141
297
|
export async function getCompositionAdminCapById(client, adminCapId) {
|
|
142
298
|
const { object } = await client.core.getObject({ objectId: adminCapId });
|
|
143
299
|
return { id: adminCapId, shareType: extractTypeParam(object.type) };
|
|
@@ -151,7 +307,10 @@ export async function getCompositionAdminCapById(client, adminCapId) {
|
|
|
151
307
|
*/
|
|
152
308
|
export async function getOwnedCompositionAdminCaps(client, owner, misoPackageId) {
|
|
153
309
|
const capType = `${misoPackageId}::composition::CompositionAdminCap`;
|
|
154
|
-
const { objects } = await client.core.listOwnedObjects({
|
|
310
|
+
const { objects } = await client.core.listOwnedObjects({
|
|
311
|
+
owner,
|
|
312
|
+
type: capType,
|
|
313
|
+
});
|
|
155
314
|
const caps = [];
|
|
156
315
|
for (const obj of objects) {
|
|
157
316
|
const match = obj.type?.match(/<(.+)>$/);
|
|
@@ -169,7 +328,10 @@ export function deriveCompositionAdminCapId(compositionId, misoPackageId) {
|
|
|
169
328
|
export async function getRecordingsByIds(client, recordingIds) {
|
|
170
329
|
if (recordingIds.length === 0)
|
|
171
330
|
return {};
|
|
172
|
-
const { objects } = await client.core.getObjects({
|
|
331
|
+
const { objects } = await client.core.getObjects({
|
|
332
|
+
objectIds: recordingIds,
|
|
333
|
+
include: { content: true },
|
|
334
|
+
});
|
|
173
335
|
const out = {};
|
|
174
336
|
for (const obj of objects) {
|
|
175
337
|
if (obj instanceof Error || !obj.content)
|
|
@@ -224,7 +386,10 @@ export async function getRecordingAdminCapById(client, adminCapId) {
|
|
|
224
386
|
*/
|
|
225
387
|
export async function getOwnedRecordingAdminCaps(client, owner, misoPackageId) {
|
|
226
388
|
const capType = `${misoPackageId}::recording::RecordingAdminCap`;
|
|
227
|
-
const { objects } = await client.core.listOwnedObjects({
|
|
389
|
+
const { objects } = await client.core.listOwnedObjects({
|
|
390
|
+
owner,
|
|
391
|
+
type: capType,
|
|
392
|
+
});
|
|
228
393
|
const caps = [];
|
|
229
394
|
for (const obj of objects) {
|
|
230
395
|
const match = obj.type?.match(/<(.+)>$/);
|
|
@@ -241,7 +406,10 @@ export function deriveRecordingAdminCapId(recordingId, misoPackageId) {
|
|
|
241
406
|
// ============================================================================
|
|
242
407
|
/** Fetches a deal by its object ID (share types read from the type parameters). */
|
|
243
408
|
export async function getDealById(client, dealId) {
|
|
244
|
-
const { object } = await client.core.getObject({
|
|
409
|
+
const { object } = await client.core.getObject({
|
|
410
|
+
objectId: dealId,
|
|
411
|
+
include: { content: true },
|
|
412
|
+
});
|
|
245
413
|
if (!object.content)
|
|
246
414
|
throw new Error(`Deal not found: ${dealId}`);
|
|
247
415
|
const d = DealBcs.parse(object.content);
|
|
@@ -260,20 +428,32 @@ export async function getDealById(client, dealId) {
|
|
|
260
428
|
export async function getReleasesByIds(client, releaseIds) {
|
|
261
429
|
if (releaseIds.length === 0)
|
|
262
430
|
return {};
|
|
263
|
-
const { objects } = await client.core.getObjects({
|
|
431
|
+
const { objects } = await client.core.getObjects({
|
|
432
|
+
objectIds: releaseIds,
|
|
433
|
+
include: { content: true, json: true },
|
|
434
|
+
});
|
|
264
435
|
const out = {};
|
|
265
436
|
for (const obj of objects) {
|
|
266
437
|
if (obj instanceof Error || !obj.content)
|
|
267
438
|
continue;
|
|
268
|
-
|
|
439
|
+
const json = obj.json;
|
|
440
|
+
out[obj.objectId] = json?.discs
|
|
441
|
+
? mapDiscReleaseJson(obj.objectId, json)
|
|
442
|
+
: mapRelease(obj.objectId, ReleaseBcs.parse(obj.content));
|
|
269
443
|
}
|
|
270
444
|
return out;
|
|
271
445
|
}
|
|
272
446
|
export async function getReleaseById(client, releaseId) {
|
|
273
|
-
const
|
|
274
|
-
|
|
447
|
+
const { object } = await client.core.getObject({
|
|
448
|
+
objectId: releaseId,
|
|
449
|
+
include: { content: true, json: true },
|
|
450
|
+
});
|
|
451
|
+
if (!object.content)
|
|
275
452
|
throw new Error(`Release not found: ${releaseId}`);
|
|
276
|
-
|
|
453
|
+
const json = object.json;
|
|
454
|
+
return json?.discs
|
|
455
|
+
? mapDiscReleaseJson(releaseId, json)
|
|
456
|
+
: mapRelease(releaseId, ReleaseBcs.parse(object.content));
|
|
277
457
|
}
|
|
278
458
|
export async function getReleaseRegistry(client, misoPackageId) {
|
|
279
459
|
const address = await firstAddressOfType(client, `${misoPackageId}::release::ReleaseRegistry`);
|
|
@@ -282,7 +462,10 @@ export async function getReleaseRegistry(client, misoPackageId) {
|
|
|
282
462
|
return address;
|
|
283
463
|
}
|
|
284
464
|
export async function getReleaseAdminCapById(client, adminCapId) {
|
|
285
|
-
const { object } = await client.core.getObject({
|
|
465
|
+
const { object } = await client.core.getObject({
|
|
466
|
+
objectId: adminCapId,
|
|
467
|
+
include: { json: true },
|
|
468
|
+
});
|
|
286
469
|
const json = object.json;
|
|
287
470
|
if (!json?.release_id)
|
|
288
471
|
throw new Error(`ReleaseAdminCap not found: ${adminCapId}`);
|
|
@@ -290,17 +473,13 @@ export async function getReleaseAdminCapById(client, adminCapId) {
|
|
|
290
473
|
}
|
|
291
474
|
export async function getOwnedReleaseAdminCaps(client, owner, misoPackageId) {
|
|
292
475
|
const capType = `${misoPackageId}::release::ReleaseAdminCap`;
|
|
293
|
-
const { objects } = await client.core.listOwnedObjects({
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
const { objects: details } = await client.core.getObjects({
|
|
297
|
-
objectIds: objects.map((o) => o.objectId),
|
|
476
|
+
const { objects } = await client.core.listOwnedObjects({
|
|
477
|
+
owner,
|
|
478
|
+
type: capType,
|
|
298
479
|
include: { json: true },
|
|
299
480
|
});
|
|
300
481
|
const caps = [];
|
|
301
|
-
for (const obj of
|
|
302
|
-
if (obj instanceof Error)
|
|
303
|
-
continue;
|
|
482
|
+
for (const obj of objects) {
|
|
304
483
|
const json = obj.json;
|
|
305
484
|
if (json?.release_id)
|
|
306
485
|
caps.push({ id: obj.objectId, releaseId: json.release_id });
|
|
@@ -348,7 +527,10 @@ export async function getShareCurrencyTreasuryCap(client, shareType, owner) {
|
|
|
348
527
|
// ============================================================================
|
|
349
528
|
/** Returns the first object address of a fully-qualified type, or null. */
|
|
350
529
|
async function firstAddressOfType(client, type) {
|
|
351
|
-
const result = await client.query({
|
|
530
|
+
const result = await client.query({
|
|
531
|
+
query: AddressesByTypeQuery,
|
|
532
|
+
variables: { type },
|
|
533
|
+
});
|
|
352
534
|
return result.data?.objects?.nodes?.[0]?.address ?? null;
|
|
353
535
|
}
|
|
354
536
|
/**
|