@misonetwork/sdk 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/dist/client.d.ts +20 -6
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +25 -6
- package/dist/client.js.map +1 -1
- package/dist/deployments.d.ts +21 -0
- package/dist/deployments.d.ts.map +1 -0
- package/dist/deployments.js +17 -0
- package/dist/deployments.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +5 -1
- package/src/client.ts +46 -10
- package/src/deployments.ts +42 -0
- package/src/index.ts +1 -0
package/README.md
CHANGED
|
@@ -25,7 +25,7 @@ const client = new SuiGrpcClient({
|
|
|
25
25
|
network: "testnet",
|
|
26
26
|
baseUrl: "https://fullnode.testnet.sui.io:443",
|
|
27
27
|
})
|
|
28
|
-
.$extend(miso(
|
|
28
|
+
.$extend(miso());
|
|
29
29
|
|
|
30
30
|
const recording = await client.miso.getRecordingById("0x...");
|
|
31
31
|
const adminCapId = client.miso.deriveRecordingAdminCapId("0x...");
|
|
@@ -35,6 +35,10 @@ Pass a `SuiGraphQLClient` as `graphqlClient` only for generic type discovery,
|
|
|
35
35
|
such as `getCompositionByShareType` and `getRecordingByShareType`. ID reads and
|
|
36
36
|
owned-cap queries use the Core API.
|
|
37
37
|
|
|
38
|
+
The current Testnet package is bundled with the SDK and selected from the Sui
|
|
39
|
+
client's network. Mainnet fails closed until this protocol ABI is deployed there;
|
|
40
|
+
custom deployments can be supplied explicitly with `miso({ deployment })`.
|
|
41
|
+
|
|
38
42
|
## Data model
|
|
39
43
|
|
|
40
44
|
- `Composition`: the written work, with a share currency and royalty rate.
|
package/dist/client.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ClientWithCoreApi, SuiClientRegistration } from "@mysten/sui/client";
|
|
2
2
|
import type { SuiGraphQLClient } from "@mysten/sui/graphql";
|
|
3
|
+
import { type MisoProtocolDeployment } from "./deployments.ts";
|
|
3
4
|
import * as parsers from "./parsers.ts";
|
|
4
5
|
import * as queries from "./queries.ts";
|
|
5
6
|
import * as view from "./view.ts";
|
|
@@ -11,8 +12,13 @@ import * as track from "./contracts/miso/track.ts";
|
|
|
11
12
|
export interface MisoOptions<Name extends string = "miso"> {
|
|
12
13
|
/** Name for the client extension. Defaults to "miso". */
|
|
13
14
|
name?: Name;
|
|
14
|
-
/**
|
|
15
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Complete custom deployment. Omit for bundled Mainnet/Testnet addresses,
|
|
17
|
+
* selected from the Sui client's `network`.
|
|
18
|
+
*/
|
|
19
|
+
deployment?: MisoProtocolDeployment;
|
|
20
|
+
/** @deprecated Use `deployment`. Retained for compatibility with pre-0.4 callers. */
|
|
21
|
+
misoPackageId?: string;
|
|
16
22
|
/**
|
|
17
23
|
* Optional GraphQL client, required ONLY for the global type-discovery reads
|
|
18
24
|
* the Core API cannot express: `getCompositionByShareType`,
|
|
@@ -27,14 +33,20 @@ export interface MisoOptions<Name extends string = "miso"> {
|
|
|
27
33
|
* @example
|
|
28
34
|
* ```ts
|
|
29
35
|
* const client = new SuiGrpcClient({ network: 'testnet' })
|
|
30
|
-
* .$extend(miso(
|
|
36
|
+
* .$extend(miso());
|
|
31
37
|
* const composition = await client.miso.getCompositionById('0x...');
|
|
32
38
|
* ```
|
|
33
39
|
*/
|
|
34
|
-
export declare function miso<const Name extends string = "miso">(options
|
|
35
|
-
export
|
|
40
|
+
export declare function miso<const Name extends string = "miso">(options?: MisoOptions<Name>): SuiClientRegistration<ClientWithCoreApi, Name, MisoProtocolClient>;
|
|
41
|
+
export interface MisoProtocolClientOptions {
|
|
42
|
+
deployment: MisoProtocolDeployment;
|
|
43
|
+
graphqlClient?: SuiGraphQLClient;
|
|
44
|
+
}
|
|
45
|
+
export declare class MisoProtocolClient {
|
|
36
46
|
#private;
|
|
37
|
-
constructor(client: ClientWithCoreApi, options:
|
|
47
|
+
constructor(client: ClientWithCoreApi, options: MisoProtocolClientOptions);
|
|
48
|
+
/** The exact deployment selected for this client. */
|
|
49
|
+
get deployment(): MisoProtocolDeployment;
|
|
38
50
|
getCompositionById(compositionId: string): Promise<Composition>;
|
|
39
51
|
getCompositionsByIds(ids: string[]): Promise<Record<string, Composition>>;
|
|
40
52
|
getWorksByIds(ids: queries.WorkIds): Promise<queries.WorksById>;
|
|
@@ -145,4 +157,6 @@ export declare class MisoClient {
|
|
|
145
157
|
releasePublishedEvent: typeof parsers.parseReleasePublishedEvent;
|
|
146
158
|
};
|
|
147
159
|
}
|
|
160
|
+
/** @deprecated Prefer the layer-specific `MisoProtocolClient` name. */
|
|
161
|
+
export { MisoProtocolClient as MisoClient };
|
|
148
162
|
//# sourceMappingURL=client.d.ts.map
|
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,EACV,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,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,KAAK,MAAM,2BAA2B,CAAC;AAEnD,MAAM,WAAW,WAAW,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM;IACvD,yDAAyD;IACzD,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// Copyright (c) Miso Labs, Inc.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import { getMisoProtocolDeployment, } from "./deployments.js";
|
|
3
4
|
import * as parsers from "./parsers.js";
|
|
4
5
|
import * as queries from "./queries.js";
|
|
5
6
|
import * as view from "./view.js";
|
|
@@ -25,25 +26,41 @@ function bindModulePackage(mod, pkg) {
|
|
|
25
26
|
* @example
|
|
26
27
|
* ```ts
|
|
27
28
|
* const client = new SuiGrpcClient({ network: 'testnet' })
|
|
28
|
-
* .$extend(miso(
|
|
29
|
+
* .$extend(miso());
|
|
29
30
|
* const composition = await client.miso.getCompositionById('0x...');
|
|
30
31
|
* ```
|
|
31
32
|
*/
|
|
32
|
-
export function miso(options) {
|
|
33
|
+
export function miso(options = {}) {
|
|
33
34
|
const name = (options.name ?? "miso");
|
|
34
35
|
return {
|
|
35
36
|
name,
|
|
36
|
-
register: (client) =>
|
|
37
|
+
register: (client) => {
|
|
38
|
+
const deployment = options.deployment ??
|
|
39
|
+
(options.misoPackageId
|
|
40
|
+
? { packageId: options.misoPackageId }
|
|
41
|
+
: getMisoProtocolDeployment(client.network));
|
|
42
|
+
return new MisoProtocolClient(client, {
|
|
43
|
+
deployment,
|
|
44
|
+
graphqlClient: options.graphqlClient,
|
|
45
|
+
});
|
|
46
|
+
},
|
|
37
47
|
};
|
|
38
48
|
}
|
|
39
|
-
export class
|
|
49
|
+
export class MisoProtocolClient {
|
|
40
50
|
#client;
|
|
41
51
|
#graphqlClient;
|
|
42
|
-
#
|
|
52
|
+
#deployment;
|
|
43
53
|
constructor(client, options) {
|
|
44
54
|
this.#client = client;
|
|
45
55
|
this.#graphqlClient = options.graphqlClient;
|
|
46
|
-
this.#
|
|
56
|
+
this.#deployment = options.deployment;
|
|
57
|
+
}
|
|
58
|
+
/** The exact deployment selected for this client. */
|
|
59
|
+
get deployment() {
|
|
60
|
+
return this.#deployment;
|
|
61
|
+
}
|
|
62
|
+
get #misoPackageId() {
|
|
63
|
+
return this.#deployment.packageId;
|
|
47
64
|
}
|
|
48
65
|
// === Composition ===
|
|
49
66
|
async getCompositionById(compositionId) {
|
|
@@ -170,4 +187,6 @@ export class MisoClient {
|
|
|
170
187
|
return this.#graphqlClient;
|
|
171
188
|
}
|
|
172
189
|
}
|
|
190
|
+
/** @deprecated Prefer the layer-specific `MisoProtocolClient` name. */
|
|
191
|
+
export { MisoProtocolClient as MisoClient };
|
|
173
192
|
//# sourceMappingURL=client.js.map
|
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;AAOtC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAUlC,iEAAiE;AACjE,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,KAAK,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** Sui networks with a protocol deployment bundled into this SDK release. */
|
|
2
|
+
export type MisoNetwork = "mainnet" | "testnet";
|
|
3
|
+
/**
|
|
4
|
+
* On-chain identity for one Miso protocol deployment.
|
|
5
|
+
*
|
|
6
|
+
* Package deployments are immutable. A new publish is represented by a new SDK
|
|
7
|
+
* release with updated values here, keeping the ABI bindings and addresses in
|
|
8
|
+
* the same versioned artifact.
|
|
9
|
+
*/
|
|
10
|
+
export interface MisoProtocolDeployment {
|
|
11
|
+
/** The published `miso` package used for calls, types, and derivation. */
|
|
12
|
+
readonly packageId: string;
|
|
13
|
+
}
|
|
14
|
+
export declare const MISO_PROTOCOL_DEPLOYMENTS: {
|
|
15
|
+
readonly testnet: {
|
|
16
|
+
readonly packageId: "0x974d453e82b09ac90d29cf65d981d3cf3cabe1e5ca9c6348f42860226ef9b5c4";
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
/** Resolve a bundled deployment, failing closed for devnet/localnet/custom names. */
|
|
20
|
+
export declare function getMisoProtocolDeployment(network: string): MisoProtocolDeployment;
|
|
21
|
+
//# sourceMappingURL=deployments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployments.d.ts","sourceRoot":"","sources":["../src/deployments.ts"],"names":[],"mappings":"AAGA,6EAA6E;AAC7E,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,yBAAyB;;;;CAKmC,CAAC;AAE1E,qFAAqF;AACrF,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,GACd,sBAAsB,CAaxB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Copyright (c) Miso Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
export const MISO_PROTOCOL_DEPLOYMENTS = {
|
|
4
|
+
testnet: {
|
|
5
|
+
packageId: "0x974d453e82b09ac90d29cf65d981d3cf3cabe1e5ca9c6348f42860226ef9b5c4",
|
|
6
|
+
},
|
|
7
|
+
};
|
|
8
|
+
/** Resolve a bundled deployment, failing closed for devnet/localnet/custom names. */
|
|
9
|
+
export function getMisoProtocolDeployment(network) {
|
|
10
|
+
const deployment = MISO_PROTOCOL_DEPLOYMENTS[network];
|
|
11
|
+
if (!deployment) {
|
|
12
|
+
throw new Error(`@misonetwork/sdk: no bundled Miso protocol deployment for network "${network}". ` +
|
|
13
|
+
"Pass an explicit deployment to miso() for custom networks.");
|
|
14
|
+
}
|
|
15
|
+
return deployment;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=deployments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployments.js","sourceRoot":"","sources":["../src/deployments.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAiBtC,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,OAAO,EAAE;QACP,SAAS,EACP,oEAAoE;KACvE;CACsE,CAAC;AAE1E,qFAAqF;AACrF,MAAM,UAAU,yBAAyB,CACvC,OAAe;IAEf,MAAM,UAAU,GACd,yBAGD,CAAC,OAAO,CAAC,CAAC;IACX,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,sEAAsE,OAAO,KAAK;YAChF,4DAA4D,CAC/D,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AAGjC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -10,6 +10,7 @@ export * from "./queries.js";
|
|
|
10
10
|
export * from "./parsers.js";
|
|
11
11
|
export * from "./view.js";
|
|
12
12
|
export * from "./client.js";
|
|
13
|
+
export * from "./deployments.js";
|
|
13
14
|
// Generated, ABI-bound bindings (BCS structs + type-safe Move calls).
|
|
14
15
|
export * as contracts from "./contracts.js";
|
|
15
16
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAEtC,6EAA6E;AAC7E,4EAA4E;AAC5E,kEAAkE;AAClE,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAEtC,6EAA6E;AAC7E,4EAA4E;AAC5E,kEAAkE;AAClE,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AAEjC,sEAAsE;AACtE,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@misonetwork/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Typed query helpers and transaction builders for the Miso protocol core on Sui.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -44,6 +44,10 @@
|
|
|
44
44
|
"types": "./dist/client.d.ts",
|
|
45
45
|
"default": "./dist/client.js"
|
|
46
46
|
},
|
|
47
|
+
"./deployments": {
|
|
48
|
+
"types": "./dist/deployments.d.ts",
|
|
49
|
+
"default": "./dist/deployments.js"
|
|
50
|
+
},
|
|
47
51
|
"./queries": {
|
|
48
52
|
"types": "./dist/queries.d.ts",
|
|
49
53
|
"default": "./dist/queries.js"
|
package/src/client.ts
CHANGED
|
@@ -6,6 +6,10 @@ import type {
|
|
|
6
6
|
SuiClientRegistration,
|
|
7
7
|
} from "@mysten/sui/client";
|
|
8
8
|
import type { SuiGraphQLClient } from "@mysten/sui/graphql";
|
|
9
|
+
import {
|
|
10
|
+
getMisoProtocolDeployment,
|
|
11
|
+
type MisoProtocolDeployment,
|
|
12
|
+
} from "./deployments.ts";
|
|
9
13
|
import * as parsers from "./parsers.ts";
|
|
10
14
|
import * as queries from "./queries.ts";
|
|
11
15
|
import * as view from "./view.ts";
|
|
@@ -27,8 +31,13 @@ import * as track from "./contracts/miso/track.ts";
|
|
|
27
31
|
export interface MisoOptions<Name extends string = "miso"> {
|
|
28
32
|
/** Name for the client extension. Defaults to "miso". */
|
|
29
33
|
name?: Name;
|
|
30
|
-
/**
|
|
31
|
-
|
|
34
|
+
/**
|
|
35
|
+
* Complete custom deployment. Omit for bundled Mainnet/Testnet addresses,
|
|
36
|
+
* selected from the Sui client's `network`.
|
|
37
|
+
*/
|
|
38
|
+
deployment?: MisoProtocolDeployment;
|
|
39
|
+
/** @deprecated Use `deployment`. Retained for compatibility with pre-0.4 callers. */
|
|
40
|
+
misoPackageId?: string;
|
|
32
41
|
/**
|
|
33
42
|
* Optional GraphQL client, required ONLY for the global type-discovery reads
|
|
34
43
|
* the Core API cannot express: `getCompositionByShareType`,
|
|
@@ -57,29 +66,53 @@ function bindModulePackage<M extends object>(mod: M, pkg: string): M {
|
|
|
57
66
|
* @example
|
|
58
67
|
* ```ts
|
|
59
68
|
* const client = new SuiGrpcClient({ network: 'testnet' })
|
|
60
|
-
* .$extend(miso(
|
|
69
|
+
* .$extend(miso());
|
|
61
70
|
* const composition = await client.miso.getCompositionById('0x...');
|
|
62
71
|
* ```
|
|
63
72
|
*/
|
|
64
73
|
export function miso<const Name extends string = "miso">(
|
|
65
|
-
options: MisoOptions<Name
|
|
66
|
-
): SuiClientRegistration<ClientWithCoreApi, Name,
|
|
74
|
+
options: MisoOptions<Name> = {},
|
|
75
|
+
): SuiClientRegistration<ClientWithCoreApi, Name, MisoProtocolClient> {
|
|
67
76
|
const name = (options.name ?? "miso") as Name;
|
|
68
77
|
return {
|
|
69
78
|
name,
|
|
70
|
-
register: (client) =>
|
|
79
|
+
register: (client) => {
|
|
80
|
+
const deployment =
|
|
81
|
+
options.deployment ??
|
|
82
|
+
(options.misoPackageId
|
|
83
|
+
? { packageId: options.misoPackageId }
|
|
84
|
+
: getMisoProtocolDeployment(client.network));
|
|
85
|
+
return new MisoProtocolClient(client, {
|
|
86
|
+
deployment,
|
|
87
|
+
graphqlClient: options.graphqlClient,
|
|
88
|
+
});
|
|
89
|
+
},
|
|
71
90
|
};
|
|
72
91
|
}
|
|
73
92
|
|
|
74
|
-
export
|
|
93
|
+
export interface MisoProtocolClientOptions {
|
|
94
|
+
deployment: MisoProtocolDeployment;
|
|
95
|
+
graphqlClient?: SuiGraphQLClient;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export class MisoProtocolClient {
|
|
75
99
|
#client: ClientWithCoreApi;
|
|
76
100
|
#graphqlClient?: SuiGraphQLClient;
|
|
77
|
-
#
|
|
101
|
+
#deployment: MisoProtocolDeployment;
|
|
78
102
|
|
|
79
|
-
constructor(client: ClientWithCoreApi, options:
|
|
103
|
+
constructor(client: ClientWithCoreApi, options: MisoProtocolClientOptions) {
|
|
80
104
|
this.#client = client;
|
|
81
105
|
this.#graphqlClient = options.graphqlClient;
|
|
82
|
-
this.#
|
|
106
|
+
this.#deployment = options.deployment;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/** The exact deployment selected for this client. */
|
|
110
|
+
get deployment(): MisoProtocolDeployment {
|
|
111
|
+
return this.#deployment;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
get #misoPackageId(): string {
|
|
115
|
+
return this.#deployment.packageId;
|
|
83
116
|
}
|
|
84
117
|
|
|
85
118
|
// === Composition ===
|
|
@@ -269,3 +302,6 @@ export class MisoClient {
|
|
|
269
302
|
return this.#graphqlClient;
|
|
270
303
|
}
|
|
271
304
|
}
|
|
305
|
+
|
|
306
|
+
/** @deprecated Prefer the layer-specific `MisoProtocolClient` name. */
|
|
307
|
+
export { MisoProtocolClient as MisoClient };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// Copyright (c) Miso Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
/** Sui networks with a protocol deployment bundled into this SDK release. */
|
|
5
|
+
export type MisoNetwork = "mainnet" | "testnet";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* On-chain identity for one Miso protocol deployment.
|
|
9
|
+
*
|
|
10
|
+
* Package deployments are immutable. A new publish is represented by a new SDK
|
|
11
|
+
* release with updated values here, keeping the ABI bindings and addresses in
|
|
12
|
+
* the same versioned artifact.
|
|
13
|
+
*/
|
|
14
|
+
export interface MisoProtocolDeployment {
|
|
15
|
+
/** The published `miso` package used for calls, types, and derivation. */
|
|
16
|
+
readonly packageId: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const MISO_PROTOCOL_DEPLOYMENTS = {
|
|
20
|
+
testnet: {
|
|
21
|
+
packageId:
|
|
22
|
+
"0x974d453e82b09ac90d29cf65d981d3cf3cabe1e5ca9c6348f42860226ef9b5c4",
|
|
23
|
+
},
|
|
24
|
+
} as const satisfies Partial<Record<MisoNetwork, MisoProtocolDeployment>>;
|
|
25
|
+
|
|
26
|
+
/** Resolve a bundled deployment, failing closed for devnet/localnet/custom names. */
|
|
27
|
+
export function getMisoProtocolDeployment(
|
|
28
|
+
network: string,
|
|
29
|
+
): MisoProtocolDeployment {
|
|
30
|
+
const deployment = (
|
|
31
|
+
MISO_PROTOCOL_DEPLOYMENTS as Partial<
|
|
32
|
+
Record<string, MisoProtocolDeployment>
|
|
33
|
+
>
|
|
34
|
+
)[network];
|
|
35
|
+
if (!deployment) {
|
|
36
|
+
throw new Error(
|
|
37
|
+
`@misonetwork/sdk: no bundled Miso protocol deployment for network "${network}". ` +
|
|
38
|
+
"Pass an explicit deployment to miso() for custom networks.",
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
return deployment;
|
|
42
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -11,6 +11,7 @@ export * from "./queries.ts";
|
|
|
11
11
|
export * from "./parsers.ts";
|
|
12
12
|
export * from "./view.ts";
|
|
13
13
|
export * from "./client.ts";
|
|
14
|
+
export * from "./deployments.ts";
|
|
14
15
|
|
|
15
16
|
// Generated, ABI-bound bindings (BCS structs + type-safe Move calls).
|
|
16
17
|
export * as contracts from "./contracts.ts";
|