@misofm/partyos 0.1.0 → 0.3.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 CHANGED
@@ -14,37 +14,90 @@ this package. Which Move package generates into which SDK is decided by
14
14
  ## Install
15
15
 
16
16
  ```sh
17
- bun add @misofm/partyos @mysten/sui
17
+ bun add @misofm/partyos @misofm/effect effect @mysten/sui
18
18
  ```
19
19
 
20
- `@mysten/sui` is a peer dependency pinned to one exact version.
20
+ `@mysten/sui` and `effect` (exactly `4.0.0-rc.112`) are peer dependencies.
21
21
 
22
22
  ## Use
23
23
 
24
+ Every read returns an `Effect` that requires the `SuiClient` service instead of
25
+ taking a client parameter — see [`@misofm/effect`](https://www.npmjs.com/package/@misofm/effect)
26
+ for the shared `SuiClient` service and error vocabulary every `@misofm/*` package
27
+ builds on.
28
+
29
+ ### Through the client extension
30
+
31
+ `client.partyos.*` provides `SuiClient` internally (bound to the client it was
32
+ built from), so each method already returns `Effect<A, E>` with `R = never` —
33
+ just `Effect.runPromise` it:
34
+
24
35
  ```ts
36
+ import { Effect } from "effect";
25
37
  import { SuiGrpcClient } from "@mysten/sui/grpc";
38
+ import { Transaction } from "@mysten/sui/transactions";
26
39
  import { partyos } from "@misofm/partyos";
27
40
 
28
41
  const client = new SuiGrpcClient({ network: "testnet" }).$extend(partyos());
29
42
 
30
- const party = await client.partyos.getPartyById("0x...");
31
- const groups = await client.partyos.getMemberships(party.id);
43
+ const program = Effect.gen(function* () {
44
+ const party = yield* client.partyos.getPartyById("0x...");
45
+ const groups = yield* client.partyos.getMemberships(party.id);
46
+ return { party, groups };
47
+ }).pipe(
48
+ Effect.catchTag("ObjectNotFoundError", (error) => Effect.succeed({ party: null, groups: [], missing: error })),
49
+ );
50
+
51
+ const { party, groups } = await Effect.runPromise(program);
32
52
 
33
53
  const tx = new Transaction();
34
54
  await client.partyos.tx.createIndividualParty({ name: "Ada", recipient: "0x..." })(tx);
35
55
  ```
36
56
 
37
57
  Every builder under `tx` appends commands to a caller-owned `Transaction` and never
38
- executes. `call` exposes the generated, package-bound Move calls (minus the
39
- reference-returning views a PTB cannot use), and `bcs` the generated codecs.
58
+ executes (`tx`/`call`/`bcs` stay synchronous). `call` exposes the generated,
59
+ package-bound Move calls (minus the reference-returning views a PTB cannot use),
60
+ and `bcs` the generated codecs.
61
+
62
+ ### Free functions
63
+
64
+ The functions in `./queries` take no client parameter — they declare `SuiClient`
65
+ in their Effect's requirements, so provide it once at your program's boundary:
66
+
67
+ ```ts
68
+ import { Effect } from "effect";
69
+ import { SuiGrpcClient } from "@mysten/sui/grpc";
70
+ import { SuiClient } from "@misofm/effect";
71
+ import { getPartyById } from "@misofm/partyos/queries";
72
+
73
+ const client = new SuiGrpcClient({ network: "testnet" });
74
+
75
+ const program = getPartyById("0x...", "0xPARTYOS_PACKAGE");
76
+
77
+ const party = await Effect.runPromise(program.pipe(Effect.provide(SuiClient.layer(client))));
78
+ ```
79
+
80
+ ## Errors
81
+
82
+ Reads fail with the shared `@misofm/effect` vocabulary: `ObjectNotFoundError { objectId }`,
83
+ `ObjectTypeMismatchError { objectId, expected, actual }` (e.g. a `Party` object from a
84
+ different partyos deployment, or an id that is not a `Party` at all), `BcsDecodeError`,
85
+ and `SuiRpcError`. Recover from one with `Effect.catchTag("ObjectNotFoundError", ...)`
86
+ rather than an `isNotFound(error)` predicate. `./errors` re-exports the full
87
+ `@misofm/effect/errors` vocabulary plus `PartyNotFoundError { partyId }`, offered for
88
+ callers that want a party-scoped tag instead of pattern-matching the generic one.
89
+ `validatePartyDeployment` (in `./deployments`) fails with `DeploymentError { message }`.
40
90
 
41
91
  ## Deployment manifest
42
92
 
43
93
  `PARTYOS_DEPLOYMENTS` bundles the verified testnet deployment: a single key, `partyos`.
44
94
  Pass `partyos({ deployment })` for another network; a manifest with any other shape is
45
- rejected before a Move target is constructed.
95
+ rejected before a Move target is constructed (`assertPartyDeployment`/`normalizePartyDeployment`
96
+ throw synchronously; `validatePartyDeployment` is the Effect-returning counterpart for
97
+ callers composing a config-loading pipeline out of Effects).
46
98
 
47
99
  ## Subpaths
48
100
 
49
- `@misofm/partyos` (everything), `/client`, `/deployments`, `/queries`, `/transactions`,
50
- `/types`, `/contracts` (curated bindings), `/contracts/*` (raw generated modules).
101
+ `@misofm/partyos` (everything), `/client`, `/deployments`, `/errors`, `/queries`,
102
+ `/transactions`, `/types`, `/contracts` (curated bindings), `/contracts/*` (raw
103
+ generated modules).
package/dist/client.d.ts CHANGED
@@ -1,4 +1,6 @@
1
+ import { Effect } from "effect";
1
2
  import type { ClientWithCoreApi, SuiClientRegistration } from "@mysten/sui/client";
3
+ import type { BcsDecodeError, ObjectNotFoundError, ObjectTypeMismatchError, SuiRpcError } from "@misofm/effect";
2
4
  import { type PartyDeployment } from "./deployments.ts";
3
5
  import * as transactions from "./transactions.ts";
4
6
  import type { TxThunk } from "./transactions.ts";
@@ -34,17 +36,17 @@ export declare class PartyosClient {
34
36
  constructor(client: ClientWithCoreApi, deployment: PartyDeployment);
35
37
  /** The exact deployment selected for this client. */
36
38
  get deployment(): PartyDeployment;
37
- getPartyById(partyId: string): Promise<Party>;
38
- getPartiesByIds(partyIds: readonly string[]): Promise<Partial<Record<string, Party>>>;
39
+ getPartyById(partyId: string): Effect.Effect<Party, ObjectNotFoundError | ObjectTypeMismatchError | BcsDecodeError | SuiRpcError>;
40
+ getPartiesByIds(partyIds: readonly string[]): Effect.Effect<Partial<Record<string, Party>>, ObjectTypeMismatchError | BcsDecodeError | SuiRpcError>;
39
41
  derivePartyAdminCapId(partyId: string): string;
40
42
  /** Group ids a party belongs to (member-side membership records). */
41
- getMemberships(partyId: string): Promise<string[]>;
43
+ getMemberships(partyId: string): Effect.Effect<string[], SuiRpcError>;
42
44
  /** Member ids invited to a group but not yet accepted. */
43
- getPendingInvites(groupId: string): Promise<string[]>;
45
+ getPendingInvites(groupId: string): Effect.Effect<string[], SuiRpcError>;
44
46
  /** Group ids that have invited this party but are awaiting its response. */
45
- getPendingMemberships(partyId: string): Promise<string[]>;
47
+ getPendingMemberships(partyId: string): Effect.Effect<string[], SuiRpcError>;
46
48
  /** Whether a party is a member of a group. */
47
- isMember(memberId: string, groupId: string): Promise<boolean>;
49
+ isMember(memberId: string, groupId: string): Effect.Effect<boolean, SuiRpcError>;
48
50
  get tx(): {
49
51
  createIndividualParty: (p: Omit<transactions.CreatePartyParams, "partyPackageId">) => TxThunk;
50
52
  createGroupParty: (p: Omit<transactions.CreatePartyParams, "partyPackageId">) => TxThunk;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEnF,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAChH,OAAO,EAAgD,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGtG,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AAEzD,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,OAAO,KAAK,MAAM,MAAM,GAC1E,OAAO,SAAS;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GACnC,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,MAAM,GAC7C,CAAC,GACH,CAAC,CAAC;AACN,KAAK,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,SAAS,WAAW,IAAI;KAC/D,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;CAC9D,CAAC;AAEF,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAChF,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,MAAM,EACX,WAAW,GAAE,CAAsB,GAClC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAU3B;AAED,MAAM,WAAW,cAAc,CAAC,IAAI,SAAS,MAAM,GAAG,SAAS;IAC7D,4DAA4D;IAC5D,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,yGAAyG;IACzG,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,GAAG,SAAS,EAC3D,OAAO,GAAE,cAAc,CAAC,IAAI,CAAM,GACjC,qBAAqB,CAAC,iBAAiB,EAAE,IAAI,EAAE,aAAa,CAAC,CAU/D;AAED,oCAAoC;AACpC,qBAAa,aAAa;;IAKxB,YAAY,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,eAAe,EAIjE;IAED,qDAAqD;IACrD,IAAI,UAAU,IAAI,eAAe,CAEhC;IAeD,YAAY,CACV,OAAO,EAAE,MAAM,GACd,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,uBAAuB,GAAG,cAAc,GAAG,WAAW,CAAC,CAEpG;IACD,eAAe,CACb,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,uBAAuB,GAAG,cAAc,GAAG,WAAW,CAAC,CAEvG;IACD,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE7C;IACD,qEAAqE;IACrE,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAEpE;IACD,0DAA0D;IAC1D,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAEvE;IACD,4EAA4E;IAC5E,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAE3E;IACD,8CAA8C;IAC9C,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAE/E;IAID,IAAI,EAAE;QAGF,qBAAqB,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,KAAG,OAAO;QAE3F,gBAAgB,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,KAAG,OAAO;QAEtF,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,gBAAgB,CAAC,KAAG,OAAO;QAEzE,WAAW,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,KAAG,OAAO;QAEjF,YAAY,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,KAAG,OAAO;QAEnF,aAAa,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,KAAG,OAAO;QAErF,YAAY,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,KAAG,OAAO;QAEnF,UAAU,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,KAAG,OAAO;QAE/E,YAAY,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,KAAG,OAAO;MAGtF;IAID,IAAI,IAAI;QAEJ,KAAK;MAER;IAID,IAAI,GAAG;QAEH,KAAK;;;;;;;;;;;;;QACL,aAAa;;;;MAEhB;CACF;AAED,qGAAqG;AACrG,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,CAAC"}
package/dist/client.js CHANGED
@@ -1,5 +1,10 @@
1
1
  // Copyright (c) Miso Labs, Inc.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
+ // Party queries and transaction builders bound to one verified partyos
4
+ // deployment. Consumers reach this through `client.partyos` after
5
+ // `$extend(partyos())`, or construct `PartyosClient` directly.
6
+ import { Effect } from "effect";
7
+ import { SuiClient } from "@misofm/effect";
3
8
  import { getPartyDeployment, normalizePartyDeployment } from "./deployments.js";
4
9
  import { PARTY_REF_RETURNING_CALLS } from "./contracts.js";
5
10
  import * as queries from "./queries.js";
@@ -38,9 +43,11 @@ export function partyos(options = {}) {
38
43
  export class PartyosClient {
39
44
  #client;
40
45
  #deployment;
46
+ #layer;
41
47
  constructor(client, deployment) {
42
48
  this.#client = client;
43
49
  this.#deployment = normalizePartyDeployment(deployment);
50
+ this.#layer = SuiClient.layer(client);
44
51
  }
45
52
  /** The exact deployment selected for this client. */
46
53
  get deployment() {
@@ -49,31 +56,37 @@ export class PartyosClient {
49
56
  get #pkg() {
50
57
  return this.#deployment.partyos;
51
58
  }
59
+ /** Provides the `SuiClient` service bound to this client, discharging `R`. */
60
+ #provide(effect) {
61
+ return effect.pipe(Effect.provide(this.#layer));
62
+ }
52
63
  // === Queries ===
53
- async getPartyById(partyId) {
54
- return queries.getPartyById(this.#client, partyId, this.#pkg);
64
+ // Each method provides `SuiClient` internally, so callers get `Effect<A, E>`
65
+ // (R = never) and only need `Effect.runPromise` (or their own composition).
66
+ getPartyById(partyId) {
67
+ return this.#provide(queries.getPartyById(partyId, this.#pkg));
55
68
  }
56
- async getPartiesByIds(partyIds) {
57
- return queries.getPartiesByIds(this.#client, partyIds, this.#pkg);
69
+ getPartiesByIds(partyIds) {
70
+ return this.#provide(queries.getPartiesByIds(partyIds, this.#pkg));
58
71
  }
59
72
  derivePartyAdminCapId(partyId) {
60
73
  return queries.derivePartyAdminCapId(partyId, this.#pkg);
61
74
  }
62
75
  /** Group ids a party belongs to (member-side membership records). */
63
- async getMemberships(partyId) {
64
- return queries.getMemberships(this.#client, partyId);
76
+ getMemberships(partyId) {
77
+ return this.#provide(queries.getMemberships(partyId));
65
78
  }
66
79
  /** Member ids invited to a group but not yet accepted. */
67
- async getPendingInvites(groupId) {
68
- return queries.getPendingInvites(this.#client, groupId);
80
+ getPendingInvites(groupId) {
81
+ return this.#provide(queries.getPendingInvites(groupId));
69
82
  }
70
83
  /** Group ids that have invited this party but are awaiting its response. */
71
- async getPendingMemberships(partyId) {
72
- return queries.getPendingMemberships(this.#client, partyId);
84
+ getPendingMemberships(partyId) {
85
+ return this.#provide(queries.getPendingMemberships(partyId));
73
86
  }
74
87
  /** Whether a party is a member of a group. */
75
- async isMember(memberId, groupId) {
76
- return queries.isMember(this.#client, memberId, groupId, this.#pkg);
88
+ isMember(memberId, groupId) {
89
+ return this.#provide(queries.isMember(memberId, groupId, this.#pkg));
77
90
  }
78
91
  // === Transaction builders (thunks; the package id is bound from the client) ===
79
92
  get tx() {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAEtC,uEAAuE;AACvE,kEAAkE;AAClE,+DAA+D;AAE/D,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAwB,MAAM,kBAAkB,CAAC;AACtG,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAGlD,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AAWzD,qFAAqF;AACrF,MAAM,UAAU,iBAAiB,CAC/B,GAAM,EACN,GAAW,EACX,WAAW,GAAM,EAAkB;IAEnC,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC;QACtD,IAAK,WAAiC,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QAC/D,GAAG,CAAC,GAAG,CAAC;YACN,OAAO,KAAK,KAAK,UAAU;gBACzB,CAAC,CAAC,CAAC,OAA6B,EAAE,EAAE,CAAE,KAAiC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;gBACrG,CAAC,CAAC,KAAK,CAAC;IACd,CAAC;IACD,OAAO,GAAgC,CAAC;AAC1C,CAAC;AASD;;;;;;;;GAQG;AACH,MAAM,UAAU,OAAO,CACrB,OAAO,GAAyB,EAAE;IAElC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,SAAS,CAAS,CAAC;IACjD,OAAO;QACL,IAAI;QACJ,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CACnB,IAAI,aAAa,CACf,MAAM,EACN,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,wBAAwB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CACvG;KACJ,CAAC;AACJ,CAAC;AAED,oCAAoC;AACpC,MAAM,OAAO,aAAa;IACxB,OAAO,CAAoB;IAC3B,WAAW,CAAkB;IAC7B,MAAM,CAAqC;IAE3C,YAAY,MAAyB,EAAE,UAA2B;QAChE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,qDAAqD;IACrD,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,8EAA8E;IAC9E,QAAQ,CAAO,MAAsC;QACnD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,kBAAkB;IAClB,6EAA6E;IAC7E,4EAA4E;IAE5E,YAAY,CACV,OAAe;QAEf,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,eAAe,CACb,QAA2B;QAE3B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,qBAAqB,CAAC,OAAe;QACnC,OAAO,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IACD,qEAAqE;IACrE,cAAc,CAAC,OAAe;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,0DAA0D;IAC1D,iBAAiB,CAAC,OAAe;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,4EAA4E;IAC5E,qBAAqB,CAAC,OAAe;QACnC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,8CAA8C;IAC9C,QAAQ,CAAC,QAAgB,EAAE,OAAe;QACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,iFAAiF;IAEjF,IAAI,EAAE;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,OAAO;YACL,qBAAqB,EAAE,CAAC,CAAyD,EAAW,EAAE,CAC5F,YAAY,CAAC,qBAAqB,CAAC,EAAE,GAAG,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC;YACnE,gBAAgB,EAAE,CAAC,CAAyD,EAAW,EAAE,CACvF,YAAY,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC;YAC9D,OAAO,EAAE,CAAC,CAAqD,EAAW,EAAE,CAC1E,YAAY,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC;YACrD,WAAW,EAAE,CAAC,CAAyD,EAAW,EAAE,CAClF,YAAY,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC;YACzD,YAAY,EAAE,CAAC,CAA0D,EAAW,EAAE,CACpF,YAAY,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC;YAC1D,aAAa,EAAE,CAAC,CAA2D,EAAW,EAAE,CACtF,YAAY,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC;YAC3D,YAAY,EAAE,CAAC,CAA0D,EAAW,EAAE,CACpF,YAAY,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC;YAC1D,UAAU,EAAE,CAAC,CAAwD,EAAW,EAAE,CAChF,YAAY,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC;YACxD,YAAY,EAAE,CAAC,CAA0D,EAAW,EAAE,CACpF,YAAY,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC;SAC3D,CAAC;IACJ,CAAC;IAED,sDAAsD;IAEtD,IAAI,IAAI;QACN,OAAO;YACL,KAAK,EAAE,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,yBAAyB,CAAC;SACzE,CAAC;IACJ,CAAC;IAED,mEAAmE;IAEnE,IAAI,GAAG;QACL,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,aAAa,EAAE,QAAQ,CAAC,aAAa;SACtC,CAAC;IACJ,CAAC;CACF;AAED,qGAAqG;AACrG,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { Effect } from "effect";
2
+ import { DeploymentError } from "@misofm/effect";
1
3
  /** Sui networks for which this SDK may bundle a verified deployment. */
2
4
  export type PartyosNetwork = "mainnet" | "testnet";
3
5
  /**
@@ -17,7 +19,7 @@ export type PartyDeployment = Readonly<Record<PartyosPackageName, string>>;
17
19
  /** Verified immutable deployments bundled with this SDK release. */
18
20
  export declare const PARTYOS_DEPLOYMENTS: Readonly<{
19
21
  readonly testnet: Readonly<{
20
- readonly partyos: "0xc9fc5d918da992b7c6499880fc509635def384d8529948b28f58494daedf8ec8";
22
+ readonly partyos: "0x342425da86c4389c1f5558013251f18017ead98414db5644569890ba3a4a434c";
21
23
  }>;
22
24
  }>;
23
25
  /** Resolve a verified manifest, failing closed for unbundled networks. */
@@ -29,5 +31,11 @@ export declare function getPartyDeployment(network: string): PartyDeployment;
29
31
  export declare function assertPartyDeployment(deployment: unknown): asserts deployment is PartyDeployment;
30
32
  /** Validate and snapshot an untrusted manifest so later caller mutation is inert. */
31
33
  export declare function normalizePartyDeployment(deployment: unknown): PartyDeployment;
34
+ /**
35
+ * Effect counterpart to {@link normalizePartyDeployment}: validation is pure and
36
+ * synchronous, so this exists only for callers composing a config-loading
37
+ * pipeline out of Effects rather than throwing at a configuration boundary.
38
+ */
39
+ export declare const validatePartyDeployment: (input: unknown) => Effect.Effect<Readonly<Record<"partyos", string>>, DeploymentError, never>;
32
40
  export {};
33
41
  //# sourceMappingURL=deployments.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deployments.d.ts","sourceRoot":"","sources":["../src/deployments.ts"],"names":[],"mappings":"AAKA,wEAAwE;AACxE,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,CAAC;AAEnD;;;;;;GAMG;AACH,QAAA,MAAM,+BAA+B,YAAI,SAAS,CAAU,CAAC;AAE7D,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,+BAA+B,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC;AAE3E,oEAAoE;AACpE,eAAO,MAAM,mBAAmB;;0BAEnB,oEAAoE;;EAEX,CAAC;AAEvE,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CASnE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,IAAI,eAAe,CAiChG;AAED,qFAAqF;AACrF,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,OAAO,GAAG,eAAe,CAK7E"}
1
+ {"version":3,"file":"deployments.d.ts","sourceRoot":"","sources":["../src/deployments.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,wEAAwE;AACxE,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,CAAC;AAEnD;;;;;;GAMG;AACH,QAAA,MAAM,+BAA+B,YAAI,SAAS,CAAU,CAAC;AAE7D,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,+BAA+B,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC;AAE3E,oEAAoE;AACpE,eAAO,MAAM,mBAAmB;;0BAEnB,oEAAoE;;EAEX,CAAC;AAEvE,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CASnE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,IAAI,eAAe,CAiChG;AAED,qFAAqF;AACrF,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,OAAO,GAAG,eAAe,CAK7E;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,gGAOlC,CAAC"}
@@ -1,6 +1,8 @@
1
1
  // Copyright (c) Miso Labs, Inc.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
+ import { Effect } from "effect";
3
4
  import { normalizeSuiAddress } from "@mysten/sui/utils";
5
+ import { DeploymentError } from "@misofm/effect";
4
6
  /**
5
7
  * The single independently published package required by this SDK surface:
6
8
  * the `partyos` object-model package (module `party`).
@@ -12,7 +14,7 @@ const CANONICAL_PARTYOS_PACKAGE_NAMES = ["partyos"];
12
14
  /** Verified immutable deployments bundled with this SDK release. */
13
15
  export const PARTYOS_DEPLOYMENTS = Object.freeze({
14
16
  testnet: Object.freeze({
15
- partyos: "0xc9fc5d918da992b7c6499880fc509635def384d8529948b28f58494daedf8ec8",
17
+ partyos: "0x342425da86c4389c1f5558013251f18017ead98414db5644569890ba3a4a434c",
16
18
  }),
17
19
  });
18
20
  /** Resolve a verified manifest, failing closed for unbundled networks. */
@@ -60,4 +62,15 @@ export function normalizePartyDeployment(deployment) {
60
62
  assertPartyDeployment(deployment);
61
63
  return Object.freeze(Object.fromEntries(CANONICAL_PARTYOS_PACKAGE_NAMES.map((name) => [name, deployment[name]])));
62
64
  }
65
+ /**
66
+ * Effect counterpart to {@link normalizePartyDeployment}: validation is pure and
67
+ * synchronous, so this exists only for callers composing a config-loading
68
+ * pipeline out of Effects rather than throwing at a configuration boundary.
69
+ */
70
+ export const validatePartyDeployment = Effect.fn("validatePartyDeployment")(function* (input) {
71
+ return yield* Effect.try({
72
+ try: () => normalizePartyDeployment(input),
73
+ catch: (cause) => new DeploymentError({ message: cause instanceof Error ? cause.message : String(cause) }),
74
+ });
75
+ });
63
76
  //# sourceMappingURL=deployments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deployments.js","sourceRoot":"","sources":["../src/deployments.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAEtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAKxD;;;;;;GAMG;AACH,MAAM,+BAA+B,GAAG,CAAC,SAAS,CAAU,CAAC;AAU7D,oEAAoE;AACpE,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,OAAO,EAAE,oEAAoE;KACrE,CAAC;CACH,CAA4D,CAAC;AAEvE,0EAA0E;AAC1E,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,MAAM,UAAU,GAAI,mBAAgE,CAAC,OAAO,CAAC,CAAC;IAC9F,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,2EAA2E,OAAO,KAAK;YACrF,2GAA2G,CAC9G,CAAC;IACJ,CAAC;IACD,OAAO,wBAAwB,CAAC,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAmB;IACvD,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,KAAK,CACb,iFAAiF,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC/H,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,UAAqC,CAAC;IACtD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAC5B,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,+BAA+B,CAAC,QAAQ,CAAC,GAAyB,CAAC,CAC9E,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,+BAA+B,CAAC,MAAM,EAAE,CAAC;QACpF,MAAM,IAAI,KAAK,CACb,uEAAuE,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACrH,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,+BAA+B,EAAE,CAAC;QACnD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,0DAA0D,IAAI,IAAI,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,UAAkB,CAAC;QACvB,IAAI,CAAC;YACH,UAAU,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,+CAA+C,IAAI,+BAA+B,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,+CAA+C,IAAI,yBAAyB,UAAU,IAAI,CAC3F,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,wBAAwB,CAAC,UAAmB;IAC1D,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC,MAAM,CAClB,MAAM,CAAC,WAAW,CAAC,+BAA+B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACzE,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"deployments.js","sourceRoot":"","sources":["../src/deployments.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Schema } from "effect";
2
+ export * from "@misofm/effect/errors";
3
+ declare const PartyNotFoundError_base: Schema.Class<PartyNotFoundError, Schema.TaggedStruct<"PartyNotFoundError", {
4
+ readonly partyId: Schema.String;
5
+ }>, import("effect/Cause").YieldableError>;
6
+ /** A party object does not exist (never existed, was deleted, or the id is not a party). */
7
+ export declare class PartyNotFoundError extends PartyNotFoundError_base {
8
+ }
9
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,cAAc,uBAAuB,CAAC;;;;AAEtC,4FAA4F;AAC5F,qBAAa,kBAAmB,SAAQ,uBAEtC;CAAG"}
package/dist/errors.js ADDED
@@ -0,0 +1,16 @@
1
+ // Copyright (c) Miso Labs, Inc.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ // Party-specific tagged errors, plus the shared vocabulary re-exported so
4
+ // callers never need to reach into `@misofm/effect` directly. `getPartyById`
5
+ // and `getPartiesByIds` fail with the foundation's `ObjectNotFoundError` /
6
+ // `ObjectTypeMismatchError` — `PartyNotFoundError` below is offered for
7
+ // callers that want a party-scoped tag instead of pattern-matching the
8
+ // generic object vocabulary.
9
+ import { Schema } from "effect";
10
+ export * from "@misofm/effect/errors";
11
+ /** A party object does not exist (never existed, was deleted, or the id is not a party). */
12
+ export class PartyNotFoundError extends Schema.TaggedError()("PartyNotFoundError", {
13
+ partyId: Schema.String,
14
+ }) {
15
+ }
16
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAEtC,0EAA0E;AAC1E,6EAA6E;AAC7E,2EAA2E;AAC3E,wEAAwE;AACxE,uEAAuE;AACvE,6BAA6B;AAE7B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,cAAc,uBAAuB,CAAC;AAEtC,4FAA4F;AAC5F,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,WAAW,EAAsB,CAAC,oBAAoB,EAAE;IACrG,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CAAC;CAAG"}
package/dist/index.d.ts CHANGED
@@ -3,5 +3,6 @@ export * from "./transactions.ts";
3
3
  export * from "./queries.ts";
4
4
  export * from "./client.ts";
5
5
  export * from "./deployments.ts";
6
+ export * from "./errors.ts";
6
7
  export * as contracts from "./contracts.ts";
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AAGjC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAG5B,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ export * from "./transactions.js";
9
9
  export * from "./queries.js";
10
10
  export * from "./client.js";
11
11
  export * from "./deployments.js";
12
+ export * from "./errors.js";
12
13
  // Generated, ABI-bound bindings (BCS structs + type-safe Move calls).
13
14
  export * as contracts from "./contracts.js";
14
15
  //# 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,+EAA+E;AAC/E,+EAA+E;AAC/E,yEAAyE;AACzE,6DAA6D;AAC7D,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AAEjC,sEAAsE;AACtE,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAEtC,+EAA+E;AAC/E,+EAA+E;AAC/E,yEAAyE;AACzE,6DAA6D;AAC7D,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAE5B,sEAAsE;AACtE,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Party } from "./types.ts";
2
- export declare function mapParty(id: string, d: any): Party;
2
+ export declare function mapParty(id: string, d: any): typeof Party.Encoded;
3
3
  /** Normalizes a dynamic-field key's BCS bytes (Uint8Array or base64 string). */
4
4
  export declare function keyBytes(bcs: unknown): Uint8Array;
5
5
  //# sourceMappingURL=internal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGxC,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,KAAK,CAclD;AAED,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAEjD"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGxC,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,OAAO,KAAK,CAAC,OAAO,CAcjE;AAED,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAEjD"}
package/dist/internal.js CHANGED
@@ -1,7 +1,9 @@
1
1
  // Copyright (c) Miso Labs, Inc.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  // The single boundary between generated BCS-parse output (snake_case, Move-shaped)
4
- // and the public camelCase types.
4
+ // and the public camelCase types. `mapParty` returns a plain object shaped like
5
+ // `Party`'s encoded form; `Schema.decodeUnknownEffect(Party)` (via `decodeBcs`)
6
+ // validates and constructs the class from it.
5
7
  import { fromBase64 } from "@mysten/sui/utils";
6
8
  // deno-lint-ignore no-explicit-any -- generated parse output is loosely typed
7
9
  export function mapParty(id, d) {
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAEtC,mFAAmF;AACnF,kCAAkC;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,8EAA8E;AAC9E,MAAM,UAAU,QAAQ,CAAC,EAAU,EAAE,CAAM;IACzC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;IACpB,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IAC5C,oEAAoE;IACpE,iFAAiF;IACjF,MAAM,YAAY,GAAG,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,YAAY,EAAE,QAAQ,IAAI,YAAY,IAAI,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE,CAC3E,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAqB,EAAE,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CACpE,CAAC;QACF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IACnE,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;AAC/D,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,QAAQ,CAAC,GAAY;IACnC,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAAkB,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAEtC,mFAAmF;AACnF,gFAAgF;AAChF,gFAAgF;AAChF,8CAA8C;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,8EAA8E;AAC9E,MAAM,UAAU,QAAQ,CAAC,EAAU,EAAE,CAAM;IACzC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;IACpB,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IAC5C,oEAAoE;IACpE,iFAAiF;IACjF,MAAM,YAAY,GAAG,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,YAAY,EAAE,QAAQ,IAAI,YAAY,IAAI,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE,CAC3E,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAqB,EAAE,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,CACpE,CAAC;QACF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IACnE,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;AAC/D,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,QAAQ,CAAC,GAAY;IACnC,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAAkB,CAAC;AACzE,CAAC"}
package/dist/queries.d.ts CHANGED
@@ -1,37 +1,31 @@
1
- import type { ClientWithCoreApi } from "@mysten/sui/client";
2
- import type { Party } from "./types.ts";
3
- /** True for the Core API's "object does not exist" error (a missing dynamic field). */
4
- export declare function isNotFound(e: unknown): boolean;
5
- /**
6
- * Reads an object's BCS content, or null when it does not exist. A missing
7
- * object (e.g. an unset dynamic field) surfaces as a thrown "not found" from the
8
- * Core API, not an empty result, so optional reads can treat it as absence.
9
- */
10
- export declare function getObjectContent(client: ClientWithCoreApi, objectId: string): Promise<Uint8Array | null>;
1
+ import { Effect } from "effect";
2
+ import { type SuiClient } from "@misofm/effect";
3
+ import type { BcsDecodeError, ObjectNotFoundError, ObjectTypeMismatchError, SuiRpcError } from "@misofm/effect";
4
+ import { Party } from "./types.ts";
11
5
  /** The `Party` struct tag of one partyos deployment. */
12
6
  export declare function partyType(partyPackageId: string): string;
13
7
  /** Fetches and parses a shared `Party` object of this deployment's partyos package. */
14
- export declare function getPartyById(client: ClientWithCoreApi, partyId: string, partyPackageId: string): Promise<Party>;
8
+ export declare const getPartyById: (partyId: string, partyPackageId: string) => Effect.Effect<Party, BcsDecodeError | ObjectNotFoundError | ObjectTypeMismatchError | SuiRpcError, SuiClient>;
15
9
  /**
16
10
  * Fetches and parses multiple shared `Party` objects in one Core request.
17
11
  * Missing objects are skipped; an object of another type is an error.
18
12
  */
19
- export declare function getPartiesByIds(client: ClientWithCoreApi, partyIds: readonly string[], partyPackageId: string): Promise<Partial<Record<string, Party>>>;
13
+ export declare const getPartiesByIds: (partyIds: readonly string[], partyPackageId: string) => Effect.Effect<Partial<Record<string, Party>>, BcsDecodeError | ObjectTypeMismatchError | SuiRpcError, SuiClient>;
20
14
  /** Derives a party's `PartyAdminCap` id (it is a `derived_object` off the party UID). */
21
15
  export declare function derivePartyAdminCapId(partyId: string, partyPackageId: string): string;
22
16
  /**
23
17
  * The group ids a party currently belongs to, read from its `MembershipKey`
24
18
  * dynamic fields (the member-side record). No indexer required.
25
19
  */
26
- export declare function getMemberships(client: ClientWithCoreApi, partyId: string): Promise<string[]>;
20
+ export declare function getMemberships(partyId: string): Effect.Effect<string[], SuiRpcError, SuiClient>;
27
21
  /** The member ids invited to a group but not yet accepted (its `PendingInviteKey` fields). */
28
- export declare function getPendingInvites(client: ClientWithCoreApi, groupId: string): Promise<string[]>;
22
+ export declare function getPendingInvites(groupId: string): Effect.Effect<string[], SuiRpcError, SuiClient>;
29
23
  /**
30
24
  * The group ids that have invited a party but are still awaiting its response.
31
25
  * This reads the member-side `PendingMembershipKey` inbox index, so it only
32
26
  * enumerates the target party's dynamic fields.
33
27
  */
34
- export declare function getPendingMemberships(client: ClientWithCoreApi, partyId: string): Promise<string[]>;
28
+ export declare function getPendingMemberships(partyId: string): Effect.Effect<string[], SuiRpcError, SuiClient>;
35
29
  /** Whether `memberId` currently holds a membership record for `groupId`. */
36
- export declare function isMember(client: ClientWithCoreApi, memberId: string, groupId: string, partyPackageId: string): Promise<boolean>;
30
+ export declare const isMember: (memberId: string, groupId: string, partyPackageId: string) => Effect.Effect<boolean, SuiRpcError, SuiClient>;
37
31
  //# sourceMappingURL=queries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAU5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,uFAAuF;AACvF,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAG9C;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAQ9G;AAED,wDAAwD;AACxD,wBAAgB,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAExD;AAeD,uFAAuF;AACvF,wBAAsB,YAAY,CAChC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,KAAK,CAAC,CAWhB;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAazC;AAED,yFAAyF;AACzF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAMrF;AA0BD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAElG;AAED,8FAA8F;AAC9F,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAErG;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAEzG;AAED,4EAA4E;AAC5E,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC,CAOlB"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAkB,MAAM,QAAQ,CAAC;AAGhD,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAQhH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,wDAAwD;AACxD,wBAAgB,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAExD;AAYD,uFAAuF;AACvF,eAAO,MAAM,YAAY,4JAevB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,eAAe,2KAiB1B,CAAC;AAEH,yFAAyF;AACzF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAMrF;AAqBD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,CAE/F;AAED,8FAA8F;AAC9F,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,CAElG;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,CAEtG;AAED,4EAA4E;AAC5E,eAAO,MAAM,QAAQ,+GAYnB,CAAC"}