@unconfirmed/sui-effect 0.1.1 → 0.1.2

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.
Files changed (58) hide show
  1. package/AGENTS.md +34 -11
  2. package/CHANGELOG.md +46 -0
  3. package/LLMS.md +953 -301
  4. package/README.md +171 -9
  5. package/dist/domain/bcs.d.ts.map +1 -1
  6. package/dist/domain/bcs.js +7 -0
  7. package/dist/domain/bcs.js.map +1 -1
  8. package/dist/domain/errors.d.ts +101 -5
  9. package/dist/domain/errors.d.ts.map +1 -1
  10. package/dist/domain/errors.js +158 -8
  11. package/dist/domain/errors.js.map +1 -1
  12. package/dist/domain/executed.d.ts +69 -0
  13. package/dist/domain/executed.d.ts.map +1 -1
  14. package/dist/domain/executed.js +196 -5
  15. package/dist/domain/executed.js.map +1 -1
  16. package/dist/domain/schemas.d.ts +27 -1
  17. package/dist/domain/schemas.d.ts.map +1 -1
  18. package/dist/domain/schemas.js +20 -2
  19. package/dist/domain/schemas.js.map +1 -1
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +1 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/script.d.ts +1 -1
  25. package/dist/script.d.ts.map +1 -1
  26. package/dist/script.js +1 -1
  27. package/dist/script.js.map +1 -1
  28. package/dist/services/Script.d.ts +42 -0
  29. package/dist/services/Script.d.ts.map +1 -1
  30. package/dist/services/Script.js +69 -2
  31. package/dist/services/Script.js.map +1 -1
  32. package/dist/services/Signer.d.ts +32 -7
  33. package/dist/services/Signer.d.ts.map +1 -1
  34. package/dist/services/Signer.js +69 -10
  35. package/dist/services/Signer.js.map +1 -1
  36. package/dist/services/Sui.d.ts +42 -1
  37. package/dist/services/Sui.d.ts.map +1 -1
  38. package/dist/services/Sui.js +18 -4
  39. package/dist/services/Sui.js.map +1 -1
  40. package/dist/services/SuiCoreFake.d.ts +47 -4
  41. package/dist/services/SuiCoreFake.d.ts.map +1 -1
  42. package/dist/services/SuiCoreFake.js +193 -22
  43. package/dist/services/SuiCoreFake.js.map +1 -1
  44. package/dist/services/Tx.d.ts +627 -11
  45. package/dist/services/Tx.d.ts.map +1 -1
  46. package/dist/services/Tx.js +187 -8
  47. package/dist/services/Tx.js.map +1 -1
  48. package/dist/testing.d.ts +1 -0
  49. package/dist/testing.d.ts.map +1 -1
  50. package/dist/testing.js +9 -0
  51. package/dist/testing.js.map +1 -1
  52. package/dist/tx.d.ts +1 -1
  53. package/dist/tx.d.ts.map +1 -1
  54. package/dist/tx.js +1 -1
  55. package/dist/tx.js.map +1 -1
  56. package/docs/extensions.md +533 -8
  57. package/examples/extension-template/src/Escrow.ts +1 -1
  58. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Sui.js","sourceRoot":"","sources":["../../src/services/Sui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sui.js","sourceRoot":"","sources":["../../src/services/Sui.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { ClientWithCoreApi, SuiClientTypes } from "@mysten/sui/client";
2
2
  import { Context, Effect, Layer, Option } from "effect";
3
+ import { ExecutionReason } from "../domain/schemas.ts";
3
4
  import { DefectMarker, SuiCore } from "./SuiCore.ts";
4
5
  /** The BCS layout of `0x2::clock::Clock`. */
5
6
  export declare const ClockBcs: import("@mysten/bcs").BcsStruct<{
@@ -104,8 +105,17 @@ export type FakeOutcome = {
104
105
  export declare const FakeOutcome: {
105
106
  /** The call succeeds with these effects. */
106
107
  succeed: (value?: FakeExecution) => FakeOutcome;
107
- /** The call resolves with an on-chain failure (`FailedTransaction`). */
108
- failWith: (reason: SuiClientTypes.ExecutionError, value?: FakeExecution) => FakeOutcome;
108
+ /**
109
+ * The call resolves with an on-chain failure (`FailedTransaction`).
110
+ *
111
+ * `reason` may be the SDK's `SuiClientTypes.ExecutionError` — the wire shape,
112
+ * with a top-level `message` and an `abortCode` **string** — or sui-effect's
113
+ * decoded `ExecutionReason`, whose `abortCode` is a `bigint` and which
114
+ * carries no `message`. The second is encoded into the first here; a value
115
+ * that is neither throws immediately, naming the two shapes, rather than
116
+ * failing a decode several calls later.
117
+ */
118
+ failWith: (reason: SuiClientTypes.ExecutionError | ExecutionReason, value?: FakeExecution) => FakeOutcome;
109
119
  /** The call rejects with a gRPC status, as `RpcError` would. */
110
120
  transportError: (status: string) => FakeOutcome;
111
121
  /** The call rejects the way a missing transaction does. */
@@ -117,6 +127,17 @@ export declare const FakeOutcome: {
117
127
  */
118
128
  timeoutThen: (found: boolean) => FakeOutcome;
119
129
  };
130
+ /**
131
+ * A balance the fake serves, optionally for one owner.
132
+ *
133
+ * `owner` is the address this balance belongs to. Left out, the entry answers
134
+ * for **any** owner, which is what every script written before 0.1.2 assumed.
135
+ *
136
+ * @since 0.1.2
137
+ */
138
+ export interface FakeBalance extends SuiClientTypes.Balance {
139
+ readonly owner?: string;
140
+ }
120
141
  /** Everything the fake serves. Every field is optional. */
121
142
  export interface FakeScript {
122
143
  readonly chainId?: string;
@@ -133,7 +154,29 @@ export interface FakeScript {
133
154
  readonly coins?: ReadonlyArray<SuiClientTypes.Coin>;
134
155
  /** The gas budget the resolve plugin sets when a transaction has none. */
135
156
  readonly gasBudget?: bigint;
136
- readonly balances?: ReadonlyArray<SuiClientTypes.Balance>;
157
+ /**
158
+ * The balances `getBalance` and `listBalances` serve.
159
+ *
160
+ * Keyed by **owner and coin type**: an entry with an `owner` answers only for
161
+ * that address, and one without answers for any, which is what a script
162
+ * written before 0.1.2 meant. A `getBalance` for an owner and coin type no
163
+ * entry names answers zero, the way a node does for an address that holds
164
+ * none of that coin.
165
+ */
166
+ readonly balances?: ReadonlyArray<FakeBalance>;
167
+ /**
168
+ * Scripted outcomes for `getObject`, oldest first; the last repeats forever.
169
+ *
170
+ * This is transport-error injection on a **read**: `FakeOutcome.transportError`
171
+ * and `FakeOutcome.timeoutThen` are what it is for, and they are how a test
172
+ * drives `SuiCore`'s read retry policy or an extension's own fallback.
173
+ * `FakeOutcome.notFound` answers the way a missing object does
174
+ * (`ObjectNotFound`). A `succeed` entry — and an empty or exhausted script —
175
+ * means "serve the object map", which is the normal behaviour.
176
+ *
177
+ * @since 0.1.2
178
+ */
179
+ readonly getObject?: ReadonlyArray<FakeOutcome>;
137
180
  /**
138
181
  * What `getCoinMetadata` answers, keyed by coin type.
139
182
  *
@@ -228,7 +271,7 @@ export interface SuiCoreFakeState {
228
271
  */
229
272
  readonly recordTransaction: (digest: string, outcome: FakeOutcome) => Effect.Effect<void>;
230
273
  /** Replaces the remaining scripted outcomes of a method. */
231
- readonly setOutcomes: (method: "simulate" | "execute" | "getTransaction" | "buildSimulate", outcomes: ReadonlyArray<FakeOutcome>) => Effect.Effect<void>;
274
+ readonly setOutcomes: (method: "simulate" | "execute" | "getTransaction" | "buildSimulate" | "getObject", outcomes: ReadonlyArray<FakeOutcome>) => Effect.Effect<void>;
232
275
  }
233
276
  /** A gRPC-shaped rejection, so `mapSdkError` reads `code` off it. */
234
277
  /** The epoch the fake reports when a script does not set one. */
@@ -1 +1 @@
1
- {"version":3,"file":"SuiCoreFake.d.ts","sourceRoot":"","sources":["../../src/services/SuiCoreFake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SuiCoreFake.d.ts","sourceRoot":"","sources":["../../src/services/SuiCoreFake.ts"],"names":[],"mappings":"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"}
@@ -14,9 +14,12 @@
14
14
  import { bcs } from "@mysten/sui/bcs";
15
15
  import { ObjectError, SimulationError, TransactionError } from "@mysten/sui/client";
16
16
  import { Inputs, TransactionDataBuilder } from "@mysten/sui/transactions";
17
+ import { parseSerializedSignature } from "@mysten/sui/cryptography";
18
+ import { publicKeyFromRawBytes } from "@mysten/sui/verify";
17
19
  import { normalizeStructTag, normalizeSuiAddress, SUI_CLOCK_OBJECT_ID, SUI_TYPE_ARG, toBase58 } from "@mysten/sui/utils";
18
- import { Context, Effect, Layer, Option } from "effect";
20
+ import { Context, Effect, Layer, Option, Result, Schema } from "effect";
19
21
  import { typeMatches } from "../domain/bcs.js";
22
+ import { ExecutionReason } from "../domain/schemas.js";
20
23
  import { DefectMarker, makeFromClient, SuiCore } from "./SuiCore.js";
21
24
  /** The BCS layout of `0x2::clock::Clock`. */
22
25
  export const ClockBcs = bcs.struct("Clock", {
@@ -32,12 +35,57 @@ export const fakeDigest = (seed) => {
32
35
  bytes[31] = 7;
33
36
  return toBase58(bytes);
34
37
  };
38
+ /**
39
+ * The wire `ExecutionError` a scripted failure needs, from either shape a test
40
+ * is likely to hold.
41
+ *
42
+ * The SDK's own shape — a required top-level `message` and an `abortCode`
43
+ * **string** — is what the node sends and what the fake must hand back. A test
44
+ * that has sui-effect's decoded {@link ExecutionReason} instead (`abortCode` a
45
+ * `bigint`, no `message`) used to be accepted silently, then fail the
46
+ * `Simulation`/`Executed` decode much later as a `DecodeError` or a
47
+ * `TransportError`, and — because the outcome cursor had already moved — often
48
+ * surface as an unrelated `FakeUnimplemented` on some other method. So it is
49
+ * encoded here, at the point where the fixture is written, and anything that is
50
+ * neither shape says so immediately.
51
+ */
52
+ const executionErrorOf = (reason) => {
53
+ const kind = reason?.$kind;
54
+ if (typeof kind !== "string") {
55
+ throw new Error("FakeOutcome.failWith: an execution failure is `{ $kind, [$kind]: …, message }` —" +
56
+ " the SDK's `SuiClientTypes.ExecutionError` — or sui-effect's decoded" +
57
+ " `ExecutionReason` (`{ $kind, [$kind]: … }`, `abortCode` a bigint)." +
58
+ ` This value has no $kind: ${String(reason)}`);
59
+ }
60
+ if (typeof reason.message === "string") {
61
+ return reason;
62
+ }
63
+ const encoded = Schema.encodeUnknownResult(ExecutionReason)(reason);
64
+ if (Result.isFailure(encoded)) {
65
+ throw new Error(`FakeOutcome.failWith: this ${kind} is neither the SDK's ExecutionError` +
66
+ " (a top-level `message`, `abortCode` a decimal string) nor a decodable" +
67
+ ` ExecutionReason: ${encoded.failure.message}`);
68
+ }
69
+ return {
70
+ message: `fake execution failure (${kind})`,
71
+ ...encoded.success
72
+ };
73
+ };
35
74
  /** Builders for {@link FakeOutcome}. */
36
75
  export const FakeOutcome = {
37
76
  /** The call succeeds with these effects. */
38
77
  succeed: (value = {}) => ({ _tag: "succeed", value }),
39
- /** The call resolves with an on-chain failure (`FailedTransaction`). */
40
- failWith: (reason, value = {}) => ({ _tag: "failWith", reason, value }),
78
+ /**
79
+ * The call resolves with an on-chain failure (`FailedTransaction`).
80
+ *
81
+ * `reason` may be the SDK's `SuiClientTypes.ExecutionError` — the wire shape,
82
+ * with a top-level `message` and an `abortCode` **string** — or sui-effect's
83
+ * decoded `ExecutionReason`, whose `abortCode` is a `bigint` and which
84
+ * carries no `message`. The second is encoded into the first here; a value
85
+ * that is neither throws immediately, naming the two shapes, rather than
86
+ * failing a decode several calls later.
87
+ */
88
+ failWith: (reason, value = {}) => ({ _tag: "failWith", reason: executionErrorOf(reason), value }),
41
89
  /** The call rejects with a gRPC status, as `RpcError` would. */
42
90
  transportError: (status) => ({ _tag: "transportError", status }),
43
91
  /** The call rejects the way a missing transaction does. */
@@ -298,12 +346,13 @@ const makeState = (script) => Effect.sync(() => {
298
346
  epoch: script.epoch ?? DEFAULT_EPOCH,
299
347
  calls: [],
300
348
  aborted: 0,
301
- cursors: { simulate: 0, execute: 0, getTransaction: 0, buildSimulate: 0 },
349
+ cursors: { simulate: 0, execute: 0, getTransaction: 0, buildSimulate: 0, getObject: 0 },
302
350
  scripts: {
303
351
  simulate: script.simulate ?? [],
304
352
  execute: script.execute ?? [],
305
353
  getTransaction: script.getTransaction ?? [],
306
- buildSimulate: script.buildSimulate ?? []
354
+ buildSimulate: script.buildSimulate ?? [],
355
+ getObject: script.getObject ?? []
307
356
  },
308
357
  pendingDigests: new Map(),
309
358
  knownTransactions: new Map(),
@@ -544,6 +593,32 @@ const makeInternal = (script, state) => {
544
593
  const asResult = (result) => result.failed
545
594
  ? { $kind: "FailedTransaction", FailedTransaction: result.transaction }
546
595
  : { $kind: "Transaction", Transaction: result.transaction };
596
+ /** Whether two coin types name the same coin, comparing normalized tags. */
597
+ const sameCoinType = (left, right) => {
598
+ if (left === right)
599
+ return true;
600
+ try {
601
+ return normalizeStructTag(left) === normalizeStructTag(right);
602
+ }
603
+ catch {
604
+ return false;
605
+ }
606
+ };
607
+ /**
608
+ * The balances this owner has, with the owner stripped: an entry that names
609
+ * no owner answers for everyone, which is what a pre-0.1.2 script meant.
610
+ */
611
+ const balancesOf = (owner) => {
612
+ const address = normalizeSuiAddress(owner);
613
+ const matching = [];
614
+ for (const entry of script.balances ?? []) {
615
+ if (entry.owner !== undefined && normalizeSuiAddress(entry.owner) !== address)
616
+ continue;
617
+ const { owner: _owner, ...balance } = entry;
618
+ matching.push(balance);
619
+ }
620
+ return matching;
621
+ };
547
622
  const coinsOf = (owner, coinType) => {
548
623
  const address = normalizeSuiAddress(owner);
549
624
  const wanted = normalizeStructTag(`0x2::coin::Coin<${coinType ?? SUI_TYPE_ARG}>`);
@@ -585,11 +660,30 @@ const makeInternal = (script, state) => {
585
660
  const core = options.client?.core ?? client.core;
586
661
  const { referenceGasPrice } = await core.getReferenceGasPrice({});
587
662
  // A real transport's resolver simulates to choose the gas budget, which is
588
- // why `Tx.build` can fail with `SimulationFailed`. The fake does it only
589
- // when a test scripted it.
590
- const budgetOutcome = state.scripts.buildSimulate.length === 0
591
- ? undefined
592
- : next("buildSimulate");
663
+ // why `Tx.build` can fail with `SimulationFailed` and why "building
664
+ // always simulates" has to be observable here. The call is **recorded**
665
+ // whether or not a script drives it, so `SuiTest.calls("simulateTransaction")`
666
+ // counts the build's simulate the way it counts every other call; before
667
+ // 0.1.2 a build on the fake recorded nothing and a conversion moving onto
668
+ // this build could not see its own simulate at all.
669
+ //
670
+ // Which script answers it: `buildSimulate` when there is one — the slot
671
+ // that exists precisely for the resolver's simulate — and otherwise the
672
+ // ordered `simulate` script, so `simulate: [FakeOutcome.failWith(...)]`
673
+ // surfaces through `Tx.build` as the `SimulationFailed` a node would give.
674
+ // With neither, the resolver sets the budget from `script.gasBudget` and
675
+ // the recorded call is the only trace.
676
+ record("simulateTransaction", {
677
+ transaction: undefined,
678
+ checks: "enabled",
679
+ resolver: true,
680
+ signal: lastSignal
681
+ });
682
+ const budgetOutcome = state.scripts.buildSimulate.length > 0
683
+ ? next("buildSimulate")
684
+ : state.scripts.simulate.length > 0
685
+ ? next("simulate")
686
+ : undefined;
593
687
  if (budgetOutcome !== undefined) {
594
688
  if (budgetOutcome._tag === "timeoutThen") {
595
689
  // Never settles until the build is interrupted, which is exactly what a
@@ -657,15 +751,53 @@ const makeInternal = (script, state) => {
657
751
  await proceed();
658
752
  };
659
753
  /**
660
- * Refuses a submission that carries fewer signatures than the bytes name
661
- * distinct signing addresses.
754
+ * Refuses a submission whose signatures do not cover the addresses the bytes
755
+ * name as signers, the way a validator refuses it.
662
756
  *
663
757
  * A transaction takes a signature from its sender and, when its gas owner is
664
758
  * someone else, from that party too; one signature on sponsored bytes is
665
- * something a validator rejects outright. The fake used to accept it, which
666
- * is how a whole family of sponsorship and locking tests passed while
667
- * describing a transaction that could never land.
759
+ * something a validator rejects outright. Two checks, in order: the **count**
760
+ * (fewer signatures than distinct signers), and the **addresses** every
761
+ * signature whose public key can be read is turned back into the address it
762
+ * signs as, and a required address nobody signed for is a refusal. A
763
+ * signature the SDK cannot parse (a multisig, a zkLogin proof, a fixture that
764
+ * is not a real signature) makes the address check stand down, so only the
765
+ * count applies there.
766
+ *
767
+ * **It rejects the way a gRPC node does**: an `RpcError` carrying
768
+ * `INVALID_ARGUMENT`, which `mapSdkError` turns into
769
+ * `TransportError { retryable: false, status: "INVALID_ARGUMENT" }` and which
770
+ * `Tx.submit` reports as-is rather than reconciling. A plain `Error` here was
771
+ * classified as a retryable transport failure, so `Tx.submit` retried it,
772
+ * reconciled, and a scripted `getTransaction: succeed` reported a **success**
773
+ * for bytes no validator would have accepted.
774
+ *
775
+ * A sponsored submission against the fake therefore needs `Tx.cosign` (or
776
+ * `Tx.run`'s `sponsor`) first, exactly as it does against a node.
668
777
  */
778
+ const signerAddressesOf = (signatures) => {
779
+ const addresses = [];
780
+ for (const signature of signatures) {
781
+ try {
782
+ const parsed = parseSerializedSignature(signature);
783
+ if (parsed.signatureScheme === "MultiSig" || parsed.signatureScheme === "ZkLogin") {
784
+ return undefined;
785
+ }
786
+ addresses.push(normalizeSuiAddress(publicKeyFromRawBytes(parsed.signatureScheme, parsed.publicKey).toSuiAddress()));
787
+ }
788
+ catch {
789
+ // A multisig, a zkLogin signature, or a fixture that is not a real
790
+ // signature at all: the address check cannot speak about this set.
791
+ return undefined;
792
+ }
793
+ }
794
+ return addresses;
795
+ };
796
+ const refuse = (message) => {
797
+ const error = new Error(`fake validator: ${message}`);
798
+ Object.assign(error, { code: "INVALID_ARGUMENT", name: "RpcError" });
799
+ throw error;
800
+ };
669
801
  const assertSignatures = (bytes, signatures) => {
670
802
  let required;
671
803
  try {
@@ -678,10 +810,22 @@ const makeInternal = (script, state) => {
678
810
  return;
679
811
  }
680
812
  if (signatures.length < required.length) {
681
- const error = new Error(`fake validator: these bytes name ${required.length} signer(s) (${required.join(", ")})` +
682
- ` and carry ${signatures.length} signature(s)`);
683
- Object.assign(error, { code: "INVALID_ARGUMENT", name: "RpcError" });
684
- throw error;
813
+ refuse(`these bytes name ${required.length} signer(s) (${required.join(", ")})` +
814
+ ` and carry ${signatures.length} signature(s).` +
815
+ (required.length > 1
816
+ ? " A sponsored transaction is signed by both parties: Tx.cosign the" +
817
+ " signed bytes with the gas owner's signer, or use Tx.run(recipe," +
818
+ " { signer, sponsor })."
819
+ : ""));
820
+ }
821
+ const signed = signerAddressesOf(signatures);
822
+ if (signed === undefined)
823
+ return;
824
+ const missing = required.filter((address) => !signed.includes(address));
825
+ if (missing.length > 0) {
826
+ refuse(`these bytes name ${missing.join(", ")} as (a) signer(s) and carry no signature` +
827
+ ` from ${missing.length === 1 ? "that address" : "those addresses"}` +
828
+ ` (the signatures are from ${signed.join(", ")})`);
685
829
  }
686
830
  };
687
831
  /** The digest of the bytes that were handed to us, as the network derives it. */
@@ -693,9 +837,36 @@ const makeInternal = (script, state) => {
693
837
  return fakeDigest(state.calls.length + 1);
694
838
  }
695
839
  };
840
+ /**
841
+ * The scripted read failure for this `getObject` call, if a script asked for
842
+ * one. `succeed` (and an exhausted or absent script) means "serve the object
843
+ * map", which is the normal path.
844
+ */
845
+ const readOutcome = async (options) => {
846
+ if (state.scripts.getObject.length === 0)
847
+ return;
848
+ const outcome = next("getObject");
849
+ if (outcome === undefined)
850
+ return;
851
+ switch (outcome._tag) {
852
+ case "transportError":
853
+ throw rpcError(outcome.status);
854
+ case "notFound":
855
+ throw new ObjectError("notFound", `object ${options.objectId} does not exist`, {
856
+ reason: "notFound",
857
+ objectId: normalizeSuiAddress(options.objectId)
858
+ });
859
+ case "timeoutThen":
860
+ await pending("getObject", options);
861
+ return;
862
+ default:
863
+ return;
864
+ }
865
+ };
696
866
  const core = {
697
867
  getObject: async (options) => {
698
868
  record("getObject", options);
869
+ await readOutcome(options);
699
870
  return { object: toSdkObject(lookup(options.objectId), options.include) };
700
871
  },
701
872
  getObjects: async (options) => {
@@ -781,15 +952,15 @@ const makeInternal = (script, state) => {
781
952
  },
782
953
  getBalance: async (options) => {
783
954
  record("getBalance", options);
784
- const coinType = options.coinType ?? "0x2::sui::SUI";
785
- const balance = (script.balances ?? []).find((item) => item.coinType === coinType);
955
+ const coinType = options.coinType ?? SUI_TYPE_ARG;
956
+ const balance = balancesOf(options.owner).find((item) => sameCoinType(item.coinType, coinType));
786
957
  return {
787
958
  balance: balance ?? { coinType, balance: "0", coinBalance: "0", addressBalance: "0" }
788
959
  };
789
960
  },
790
961
  listBalances: async (options) => {
791
962
  record("listBalances", options);
792
- const result = page(script.balances ?? [], options.cursor, options.limit);
963
+ const result = page(balancesOf(options.owner), options.cursor, options.limit);
793
964
  return {
794
965
  balances: result.items,
795
966
  hasNextPage: result.hasNextPage,