@unconfirmed/sui-effect 0.1.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.
Files changed (115) hide show
  1. package/AGENTS.md +209 -0
  2. package/LICENSE +21 -0
  3. package/LLMS.md +6707 -0
  4. package/README.md +300 -0
  5. package/dist/domain/bcs.d.ts +101 -0
  6. package/dist/domain/bcs.d.ts.map +1 -0
  7. package/dist/domain/bcs.js +183 -0
  8. package/dist/domain/bcs.js.map +1 -0
  9. package/dist/domain/errors.d.ts +595 -0
  10. package/dist/domain/errors.d.ts.map +1 -0
  11. package/dist/domain/errors.js +476 -0
  12. package/dist/domain/errors.js.map +1 -0
  13. package/dist/domain/executed.d.ts +325 -0
  14. package/dist/domain/executed.d.ts.map +1 -0
  15. package/dist/domain/executed.js +253 -0
  16. package/dist/domain/executed.js.map +1 -0
  17. package/dist/domain/journal-entry.d.ts +468 -0
  18. package/dist/domain/journal-entry.d.ts.map +1 -0
  19. package/dist/domain/journal-entry.js +63 -0
  20. package/dist/domain/journal-entry.js.map +1 -0
  21. package/dist/domain/schemas.d.ts +950 -0
  22. package/dist/domain/schemas.d.ts.map +1 -0
  23. package/dist/domain/schemas.js +571 -0
  24. package/dist/domain/schemas.js.map +1 -0
  25. package/dist/domain/sui-schema.d.ts +12 -0
  26. package/dist/domain/sui-schema.d.ts.map +1 -0
  27. package/dist/domain/sui-schema.js +12 -0
  28. package/dist/domain/sui-schema.js.map +1 -0
  29. package/dist/extension.d.ts +7 -0
  30. package/dist/extension.d.ts.map +1 -0
  31. package/dist/extension.js +7 -0
  32. package/dist/extension.js.map +1 -0
  33. package/dist/index.d.ts +31 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +31 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/internal.d.ts +18 -0
  38. package/dist/internal.d.ts.map +1 -0
  39. package/dist/internal.js +18 -0
  40. package/dist/internal.js.map +1 -0
  41. package/dist/journal.d.ts +51 -0
  42. package/dist/journal.d.ts.map +1 -0
  43. package/dist/journal.js +18 -0
  44. package/dist/journal.js.map +1 -0
  45. package/dist/script.d.ts +7 -0
  46. package/dist/script.d.ts.map +1 -0
  47. package/dist/script.js +7 -0
  48. package/dist/script.js.map +1 -0
  49. package/dist/services/Journal.d.ts +76 -0
  50. package/dist/services/Journal.d.ts.map +1 -0
  51. package/dist/services/Journal.js +70 -0
  52. package/dist/services/Journal.js.map +1 -0
  53. package/dist/services/JournalKeyValueStore.d.ts +73 -0
  54. package/dist/services/JournalKeyValueStore.d.ts.map +1 -0
  55. package/dist/services/JournalKeyValueStore.js +155 -0
  56. package/dist/services/JournalKeyValueStore.js.map +1 -0
  57. package/dist/services/Script.d.ts +210 -0
  58. package/dist/services/Script.d.ts.map +1 -0
  59. package/dist/services/Script.js +441 -0
  60. package/dist/services/Script.js.map +1 -0
  61. package/dist/services/Signer.d.ts +132 -0
  62. package/dist/services/Signer.d.ts.map +1 -0
  63. package/dist/services/Signer.js +158 -0
  64. package/dist/services/Signer.js.map +1 -0
  65. package/dist/services/SubmitConfig.d.ts +175 -0
  66. package/dist/services/SubmitConfig.d.ts.map +1 -0
  67. package/dist/services/SubmitConfig.js +52 -0
  68. package/dist/services/SubmitConfig.js.map +1 -0
  69. package/dist/services/Sui.d.ts +295 -0
  70. package/dist/services/Sui.d.ts.map +1 -0
  71. package/dist/services/Sui.js +414 -0
  72. package/dist/services/Sui.js.map +1 -0
  73. package/dist/services/SuiCore.d.ts +227 -0
  74. package/dist/services/SuiCore.d.ts.map +1 -0
  75. package/dist/services/SuiCore.js +400 -0
  76. package/dist/services/SuiCore.js.map +1 -0
  77. package/dist/services/SuiCoreFake.d.ts +278 -0
  78. package/dist/services/SuiCoreFake.d.ts.map +1 -0
  79. package/dist/services/SuiCoreFake.js +1003 -0
  80. package/dist/services/SuiCoreFake.js.map +1 -0
  81. package/dist/services/SuiExtension.d.ts +208 -0
  82. package/dist/services/SuiExtension.d.ts.map +1 -0
  83. package/dist/services/SuiExtension.js +355 -0
  84. package/dist/services/SuiExtension.js.map +1 -0
  85. package/dist/services/SuiGraphQL.d.ts +98 -0
  86. package/dist/services/SuiGraphQL.d.ts.map +1 -0
  87. package/dist/services/SuiGraphQL.js +118 -0
  88. package/dist/services/SuiGraphQL.js.map +1 -0
  89. package/dist/services/Tx.d.ts +687 -0
  90. package/dist/services/Tx.d.ts.map +1 -0
  91. package/dist/services/Tx.js +1224 -0
  92. package/dist/services/Tx.js.map +1 -0
  93. package/dist/testing.d.ts +88 -0
  94. package/dist/testing.d.ts.map +1 -0
  95. package/dist/testing.js +163 -0
  96. package/dist/testing.js.map +1 -0
  97. package/dist/tx.d.ts +24 -0
  98. package/dist/tx.d.ts.map +1 -0
  99. package/dist/tx.js +24 -0
  100. package/dist/tx.js.map +1 -0
  101. package/docs/extensions.md +1685 -0
  102. package/examples/extension-template/README.md +170 -0
  103. package/examples/extension-template/package.json +44 -0
  104. package/examples/extension-template/scripts/check-package.ts +147 -0
  105. package/examples/extension-template/src/Escrow.ts +445 -0
  106. package/examples/extension-template/src/Platform.ts +136 -0
  107. package/examples/extension-template/src/errors.ts +61 -0
  108. package/examples/extension-template/src/extension.ts +63 -0
  109. package/examples/extension-template/src/index.ts +34 -0
  110. package/examples/extension-template/src/schema.ts +158 -0
  111. package/examples/extension-template/src/upstream.ts +66 -0
  112. package/examples/extension-template/test/escrow.test.ts +559 -0
  113. package/examples/extension-template/tsconfig.build.json +26 -0
  114. package/examples/extension-template/tsconfig.json +35 -0
  115. package/package.json +87 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tx.js","sourceRoot":"","sources":["../../src/services/Tx.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * `sui-effect/testing`: the in-memory fake, the test layers built on it, and
3
+ * the harness an extension's own tests need.
4
+ *
5
+ * Nothing here touches the network. `layerTest` is the real `Sui` over the
6
+ * fake `SuiCore`, so a test exercises the production high tier.
7
+ *
8
+ * @since 0.1.0
9
+ */
10
+ import { Effect, Layer } from "effect";
11
+ import type { NetworkMismatch, TransportError } from "./domain/errors.ts";
12
+ import { Sui } from "./services/Sui.ts";
13
+ import type { SuiCore } from "./services/SuiCore.ts";
14
+ import type { FakeObject, FakeOutcome, FakeScript, RecordedCall } from "./services/SuiCoreFake.ts";
15
+ import { SuiCoreFake } from "./services/SuiCoreFake.ts";
16
+ export * from "./services/SuiCoreFake.ts";
17
+ /**
18
+ * The real `Sui` over the fake `SuiCore`, plus the fake's own handle so a test
19
+ * can script outcomes and inspect what the fake received.
20
+ *
21
+ * This is `Sui.layerNoDeps`, the production layer, so the chain-id rules are
22
+ * the production rules: a script whose `network` is `mainnet` or `testnet` must
23
+ * report that network's identifier, and any other network asserts nothing. A
24
+ * test that wants the assertion on a custom network builds
25
+ * `Sui.layerNoDepsWith({ chainId })` over `SuiCoreFake.layer(script)` itself,
26
+ * rather than having the fake compared against its own script.
27
+ *
28
+ * Fails with: `NetworkMismatch`, `TransportError` — both only when the script
29
+ * asks for them.
30
+ */
31
+ export declare const layerTest: (script?: FakeScript) => Layer.Layer<Sui | SuiCore | SuiCoreFake, NetworkMismatch | TransportError>;
32
+ /**
33
+ * An extension's own layer over {@link layerTest}, which is the whole wiring an
34
+ * extension test needs.
35
+ *
36
+ * `layerTest` provides `Sui`, `SuiCore` and `SuiCoreFake`, and an extension's
37
+ * `layerTest` (or `layer`, for an extension with no fake of its own) may
38
+ * require `Sui | SuiCore` and nothing else — the same requirement
39
+ * `SuiExtension.fromService` satisfies in production. So composing the two is
40
+ * the recipe, and everything the extension's layer provides plus the fake's
41
+ * handle comes out the other side.
42
+ *
43
+ * Fails with: whatever the extension's layer fails with, plus `NetworkMismatch`
44
+ * and `TransportError` when the script asks for them.
45
+ *
46
+ * @example
47
+ * ```ts
48
+ * import { layerExtensionTest } from "@unconfirmed/sui-effect/testing"
49
+ *
50
+ * const layer = layerExtensionTest(Escrow.layerTest(), { objects: [escrow] })
51
+ * ```
52
+ */
53
+ export declare const layerExtensionTest: <Self, E>(layer: Layer.Layer<Self, E, Sui | SuiCore>, script?: FakeScript) => Layer.Layer<Self | Sui | SuiCore | SuiCoreFake, E | NetworkMismatch | TransportError>;
54
+ /**
55
+ * The harness: everything an extension's tests need to drive the fake from
56
+ * inside an Effect, without reaching for the `SuiCoreFake` handle by hand.
57
+ *
58
+ * Every member requires `SuiCoreFake`, which {@link layerTest} and
59
+ * {@link layerExtensionTest} provide.
60
+ *
61
+ * @example
62
+ * ```ts
63
+ * import { Effect } from "effect"
64
+ * import { SuiTest } from "@unconfirmed/sui-effect/testing"
65
+ *
66
+ * const program = Effect.gen(function*() {
67
+ * yield* SuiTest.bumpVersion("0x…")
68
+ * const sent = yield* SuiTest.calls("executeTransaction")
69
+ * return sent.length
70
+ * })
71
+ * ```
72
+ */
73
+ export declare const SuiTest: {
74
+ readonly putObject: (object: FakeObject) => Effect.Effect<void, never, SuiCoreFake>;
75
+ readonly bumpVersion: (objectId: string, opts?: {
76
+ readonly content?: Uint8Array;
77
+ readonly consumedBy?: string;
78
+ }) => Effect.Effect<bigint, never, SuiCoreFake>;
79
+ readonly recordTransaction: (digest: string, outcome: FakeOutcome) => Effect.Effect<void, never, SuiCoreFake>;
80
+ readonly deleteObject: (objectId: string) => Effect.Effect<void, never, SuiCoreFake>;
81
+ readonly setClock: (timestampMs: bigint) => Effect.Effect<void, never, SuiCoreFake>;
82
+ readonly setEpoch: (epoch: bigint) => Effect.Effect<void, never, SuiCoreFake>;
83
+ readonly scriptExecute: (outcomes: ReadonlyArray<FakeOutcome>) => Effect.Effect<void, never, SuiCoreFake>;
84
+ readonly scriptSimulate: (outcomes: ReadonlyArray<FakeOutcome>) => Effect.Effect<void, never, SuiCoreFake>;
85
+ readonly scriptGetTransaction: (outcomes: ReadonlyArray<FakeOutcome>) => Effect.Effect<void, never, SuiCoreFake>;
86
+ readonly calls: (method?: string) => Effect.Effect<ReadonlyArray<RecordedCall>, never, SuiCoreFake>;
87
+ };
88
+ //# sourceMappingURL=testing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAU,MAAM,QAAQ,CAAA;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACzE,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAClG,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEvD,cAAc,2BAA2B,CAAA;AAEzC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,SAAS,GACpB,SAAQ,UAAe,KACtB,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,OAAO,GAAG,WAAW,EAAE,eAAe,GAAG,cAAc,CACP,CAAA;AAErE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,kBAAkB,GAAI,IAAI,EAAE,CAAC,EACxC,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,EAC1C,SAAQ,UAAe,KACtB,KAAK,CAAC,KAAK,CACZ,IAAI,GAAG,GAAG,GAAG,OAAO,GAAG,WAAW,EAClC,CAAC,GAAG,eAAe,GAAG,cAAc,CACgB,CAAA;AAgItD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,OAAO;iCA7IO,UAAU,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC;qCA0BnE,MAAM,SACT;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,KACrE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC;yCA4BlC,MAAM,WACL,WAAW,KACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC;sCAIV,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC;qCAQjD,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC;+BAStD,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC;uCAQ7D,aAAa,CAAC,WAAW,CAAC,KACnC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC;wCAK9B,aAAa,CAAC,WAAW,CAAC,KACnC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC;8CAK9B,aAAa,CAAC,WAAW,CAAC,KACnC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC;8BAa/B,MAAM,KACd,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC;CAsCvD,CAAA"}
@@ -0,0 +1,163 @@
1
+ /**
2
+ * `sui-effect/testing`: the in-memory fake, the test layers built on it, and
3
+ * the harness an extension's own tests need.
4
+ *
5
+ * Nothing here touches the network. `layerTest` is the real `Sui` over the
6
+ * fake `SuiCore`, so a test exercises the production high tier.
7
+ *
8
+ * @since 0.1.0
9
+ */
10
+ import { Effect, Layer, Option } from "effect";
11
+ import { Sui } from "./services/Sui.js";
12
+ import { SuiCoreFake } from "./services/SuiCoreFake.js";
13
+ export * from "./services/SuiCoreFake.js";
14
+ /**
15
+ * The real `Sui` over the fake `SuiCore`, plus the fake's own handle so a test
16
+ * can script outcomes and inspect what the fake received.
17
+ *
18
+ * This is `Sui.layerNoDeps`, the production layer, so the chain-id rules are
19
+ * the production rules: a script whose `network` is `mainnet` or `testnet` must
20
+ * report that network's identifier, and any other network asserts nothing. A
21
+ * test that wants the assertion on a custom network builds
22
+ * `Sui.layerNoDepsWith({ chainId })` over `SuiCoreFake.layer(script)` itself,
23
+ * rather than having the fake compared against its own script.
24
+ *
25
+ * Fails with: `NetworkMismatch`, `TransportError` — both only when the script
26
+ * asks for them.
27
+ */
28
+ export const layerTest = (script = {}) => Sui.layerNoDeps.pipe(Layer.provideMerge(SuiCoreFake.layer(script)));
29
+ /**
30
+ * An extension's own layer over {@link layerTest}, which is the whole wiring an
31
+ * extension test needs.
32
+ *
33
+ * `layerTest` provides `Sui`, `SuiCore` and `SuiCoreFake`, and an extension's
34
+ * `layerTest` (or `layer`, for an extension with no fake of its own) may
35
+ * require `Sui | SuiCore` and nothing else — the same requirement
36
+ * `SuiExtension.fromService` satisfies in production. So composing the two is
37
+ * the recipe, and everything the extension's layer provides plus the fake's
38
+ * handle comes out the other side.
39
+ *
40
+ * Fails with: whatever the extension's layer fails with, plus `NetworkMismatch`
41
+ * and `TransportError` when the script asks for them.
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * import { layerExtensionTest } from "@unconfirmed/sui-effect/testing"
46
+ *
47
+ * const layer = layerExtensionTest(Escrow.layerTest(), { objects: [escrow] })
48
+ * ```
49
+ */
50
+ export const layerExtensionTest = (layer, script = {}) => layer.pipe(Layer.provideMerge(layerTest(script)));
51
+ const withFake = (f) => Effect.flatMap(SuiCoreFake, f);
52
+ /** Inserts or replaces an object the fake serves. Never fails. */
53
+ const putObject = (object) => withFake((fake) => fake.setObject(object));
54
+ /**
55
+ * Moves an object to its next version, optionally with new content and with the
56
+ * digest of the transaction that moved it, and answers with the version it now
57
+ * has.
58
+ *
59
+ * The direct way to stand in for a transaction the test did not run. Pass
60
+ * `consumedBy` to say who moved it: `Tx.reconcile` reads that digest back as
61
+ * the object's `previousTransaction`, and it is the start of every answer a
62
+ * bumped input can produce — **the transaction's own** digest means it applied
63
+ * after all, and **no digest** means the node proved nothing and the outcome is
64
+ * `SubmissionUnknown`.
65
+ *
66
+ * A **different** digest is only `NotApplied { inputConsumed }` when that
67
+ * transaction's own effects say it took the object at exactly the version the
68
+ * bytes pinned, so a test that wants that answer also scripts the consuming
69
+ * transaction — `FakeScript.transactions` or {@link recordTransaction} — with
70
+ * an explicit `inputVersion`. Without it the answer is `SubmissionUnknown`,
71
+ * which is what a real network gives for almost every stuck submission.
72
+ *
73
+ * Dies when the fake has no such object: a test that bumps something that is
74
+ * not there is a broken test, not a failing one.
75
+ */
76
+ const bumpVersion = (objectId, opts) => withFake((fake) => Effect.flatMap(fake.readObject(objectId), (found) => {
77
+ if (Option.isNone(found)) {
78
+ return Effect.die(new Error(`SuiTest.bumpVersion: the fake serves no object ${objectId}`));
79
+ }
80
+ const next = found.value.version + 1n;
81
+ return fake.setObject({
82
+ ...found.value,
83
+ version: next,
84
+ ...(opts?.content === undefined ? {} : { content: opts.content }),
85
+ ...(opts?.consumedBy === undefined ? {} : { previousTransaction: opts.consumedBy })
86
+ }).pipe(Effect.as(next));
87
+ }));
88
+ /**
89
+ * Teaches the fake what the node says about one transaction, **by digest**.
90
+ *
91
+ * The ordered `scriptGetTransaction` answers "what comes back the next time
92
+ * `getTransaction` is called", which is what drives a reconcile. This answers
93
+ * "what does the node say about *that* transaction", which is what
94
+ * `Tx.reconcile` asks when it follows a moved object's `previousTransaction` to
95
+ * find out which version the consuming transaction took. Never fails.
96
+ */
97
+ const recordTransaction = (digest, outcome) => withFake((fake) => fake.recordTransaction(digest, outcome));
98
+ /** Removes an object, so every later read reports it deleted. Never fails. */
99
+ const deleteObject = (objectId) => withFake((fake) => fake.deleteObject(objectId));
100
+ /**
101
+ * Moves the Clock object `0x6`, which is what `Sui.chainTime` reads and
102
+ * therefore what `Tx.build` bounds a transaction against. Effect's `TestClock`
103
+ * drives the program's own time; this drives the chain's. Never fails.
104
+ */
105
+ const setClock = (timestampMs) => withFake((fake) => fake.setClock(timestampMs));
106
+ /**
107
+ * Moves the epoch `getCurrentSystemState` reports, which is what `Tx.build`
108
+ * bounds a transaction to and what `Tx.reconcile` compares a transaction's
109
+ * `maxEpoch` against. The direct way to make a transaction provably expired.
110
+ * Never fails.
111
+ */
112
+ const setEpoch = (epoch) => withFake((fake) => fake.setEpoch(epoch));
113
+ /**
114
+ * Replaces the outcomes `executeTransaction` will produce, oldest first; the
115
+ * last one repeats forever. Never fails.
116
+ */
117
+ const scriptExecute = (outcomes) => withFake((fake) => fake.setOutcomes("execute", outcomes));
118
+ /** The same for `simulateTransaction`. Never fails. */
119
+ const scriptSimulate = (outcomes) => withFake((fake) => fake.setOutcomes("simulate", outcomes));
120
+ /** The same for `getTransaction`, which is what `Tx.reconcile` asks. Never fails. */
121
+ const scriptGetTransaction = (outcomes) => withFake((fake) => fake.setOutcomes("getTransaction", outcomes));
122
+ /**
123
+ * Every call the fake has received, oldest first, optionally only those of one
124
+ * method.
125
+ *
126
+ * This is how a test asserts what the extension sent rather than only what it
127
+ * got back: the include set on a read, the fact that a recipe fragment reached
128
+ * exactly one `executeTransaction`, the absence of a call the extension should
129
+ * have cached. Never fails.
130
+ */
131
+ const calls = (method) => withFake((fake) => Effect.map(fake.calls, (recorded) => method === undefined ? recorded : recorded.filter((call) => call.method === method)));
132
+ /**
133
+ * The harness: everything an extension's tests need to drive the fake from
134
+ * inside an Effect, without reaching for the `SuiCoreFake` handle by hand.
135
+ *
136
+ * Every member requires `SuiCoreFake`, which {@link layerTest} and
137
+ * {@link layerExtensionTest} provide.
138
+ *
139
+ * @example
140
+ * ```ts
141
+ * import { Effect } from "effect"
142
+ * import { SuiTest } from "@unconfirmed/sui-effect/testing"
143
+ *
144
+ * const program = Effect.gen(function*() {
145
+ * yield* SuiTest.bumpVersion("0x…")
146
+ * const sent = yield* SuiTest.calls("executeTransaction")
147
+ * return sent.length
148
+ * })
149
+ * ```
150
+ */
151
+ export const SuiTest = {
152
+ putObject,
153
+ bumpVersion,
154
+ recordTransaction,
155
+ deleteObject,
156
+ setClock,
157
+ setEpoch,
158
+ scriptExecute,
159
+ scriptSimulate,
160
+ scriptGetTransaction,
161
+ calls
162
+ };
163
+ //# sourceMappingURL=testing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE9C,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEvD,cAAc,2BAA2B,CAAA;AAEzC;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,SAAqB,EAAE,EACqD,EAAE,CAC9E,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAErE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,KAA0C,EAC1C,SAAqB,EAAE,EAIvB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAEtD,MAAM,QAAQ,GAAG,CAAI,CAAqD,EAAE,EAAE,CAC5E,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;AAEhC,kEAAkE;AAClE,MAAM,SAAS,GAAG,CAAC,MAAkB,EAA2C,EAAE,CAChF,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;AAE5C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,GAAG,CAClB,QAAgB,EAChB,IAAsE,EAC3B,EAAE,CAC7C,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAChB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;IAClD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,GAAG,CACf,IAAI,KAAK,CAAC,kDAAkD,QAAQ,EAAE,CAAC,CACxE,CAAA;IACH,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAA;IACrC,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,GAAG,KAAK,CAAC,KAAK;QACd,OAAO,EAAE,IAAI;QACb,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QACjE,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;KACpF,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;AAC1B,CAAC,CAAC,CACH,CAAA;AAEH;;;;;;;;GAQG;AACH,MAAM,iBAAiB,GAAG,CACxB,MAAc,EACd,OAAoB,EACqB,EAAE,CAC3C,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAE7D,8EAA8E;AAC9E,MAAM,YAAY,GAAG,CAAC,QAAgB,EAA2C,EAAE,CACjF,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;AAEjD;;;;GAIG;AACH,MAAM,QAAQ,GAAG,CAAC,WAAmB,EAA2C,EAAE,CAChF,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAA;AAEhD;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,CAAC,KAAa,EAA2C,EAAE,CAC1E,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;AAE1C;;;GAGG;AACH,MAAM,aAAa,GAAG,CACpB,QAAoC,EACK,EAAE,CAC3C,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;AAE3D,uDAAuD;AACvD,MAAM,cAAc,GAAG,CACrB,QAAoC,EACK,EAAE,CAC3C,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;AAE5D,qFAAqF;AACrF,MAAM,oBAAoB,GAAG,CAC3B,QAAoC,EACK,EAAE,CAC3C,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAA;AAElE;;;;;;;;GAQG;AACH,MAAM,KAAK,GAAG,CACZ,MAAe,EACiD,EAAE,CAClE,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAChB,MAAM,CAAC,GAAG,CACR,IAAI,CAAC,KAAK,EACV,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAClG,CACF,CAAA;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,SAAS;IACT,WAAW;IACX,iBAAiB;IACjB,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,aAAa;IACb,cAAc;IACd,oBAAoB;IACpB,KAAK;CACG,CAAA"}
package/dist/tx.d.ts ADDED
@@ -0,0 +1,24 @@
1
+ /**
2
+ * `sui-effect/tx`: the transaction lifecycle.
3
+ *
4
+ * `Signer` is a value, not a service, because a process may hold two
5
+ * credentials at once. `Tx` is a set of functions, not an object with state,
6
+ * and every one of them has `R = Sui`. `SubmitConfig` and `Journal` are
7
+ * `Context.Reference`s with working defaults, so the shortest correct program
8
+ * is `Tx.run(recipe, { signer })` with no wiring at all.
9
+ *
10
+ * @since 0.1.0
11
+ */
12
+ /** The credential value type and its five constructors. */
13
+ export { ephemeral, fromConfig, fromKeypair, fromSdkSigner, remote, type RemoteSigner, Signer, type SignatureScheme } from "./services/Signer.ts";
14
+ /** The lifecycle settings, with the spec's defaults in force by default. */
15
+ export { type ExpirationPolicy, type ExpiryEvidencePolicy, SubmitConfig, type SubmitConfigService } from "./services/SubmitConfig.ts";
16
+ /** The submission journal: an in-memory default, a durable one in `sui-effect/journal`. */
17
+ export { Journal, type JournalService } from "./services/Journal.ts";
18
+ /** The lifecycle as a serializable union, for what the journal holds. */
19
+ export { isUnresolved, JournalEntry, UNRESOLVED_TAGS } from "./domain/journal-entry.ts";
20
+ /** Build, sign, cosign, sponsor, submit, reconcile, run. */
21
+ export { build, cosign, type Built, type Reconciled, type ReconcileInput, type RunError, type SubmitError, reconcile, reconcileAll, run, sign, Signed, sponsored, submit, Tx } from "./services/Tx.ts";
22
+ /** The expiration union and the bounds `Tx.reconcile` reasons about. */
23
+ export { chainOf, maxEpochOf, maxTimestampMsOf, Signature, TransactionExpiration } from "./domain/schemas.ts";
24
+ //# sourceMappingURL=tx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../src/tx.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,2DAA2D;AAC3D,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,aAAa,EACb,MAAM,EACN,KAAK,YAAY,EACjB,MAAM,EACN,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAA;AAE7B,4EAA4E;AAC5E,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,YAAY,EACZ,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAA;AAEnC,2FAA2F;AAC3F,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEpE,yEAAyE;AACzE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAEvF,4DAA4D;AAC5D,OAAO,EACL,KAAK,EACL,MAAM,EACN,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,SAAS,EACT,YAAY,EACZ,GAAG,EACH,IAAI,EACJ,MAAM,EACN,SAAS,EACT,MAAM,EACN,EAAE,EACH,MAAM,kBAAkB,CAAA;AAEzB,wEAAwE;AACxE,OAAO,EACL,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,qBAAqB,EACtB,MAAM,qBAAqB,CAAA"}
package/dist/tx.js ADDED
@@ -0,0 +1,24 @@
1
+ /**
2
+ * `sui-effect/tx`: the transaction lifecycle.
3
+ *
4
+ * `Signer` is a value, not a service, because a process may hold two
5
+ * credentials at once. `Tx` is a set of functions, not an object with state,
6
+ * and every one of them has `R = Sui`. `SubmitConfig` and `Journal` are
7
+ * `Context.Reference`s with working defaults, so the shortest correct program
8
+ * is `Tx.run(recipe, { signer })` with no wiring at all.
9
+ *
10
+ * @since 0.1.0
11
+ */
12
+ /** The credential value type and its five constructors. */
13
+ export { ephemeral, fromConfig, fromKeypair, fromSdkSigner, remote, Signer } from "./services/Signer.js";
14
+ /** The lifecycle settings, with the spec's defaults in force by default. */
15
+ export { SubmitConfig } from "./services/SubmitConfig.js";
16
+ /** The submission journal: an in-memory default, a durable one in `sui-effect/journal`. */
17
+ export { Journal } from "./services/Journal.js";
18
+ /** The lifecycle as a serializable union, for what the journal holds. */
19
+ export { isUnresolved, JournalEntry, UNRESOLVED_TAGS } from "./domain/journal-entry.js";
20
+ /** Build, sign, cosign, sponsor, submit, reconcile, run. */
21
+ export { build, cosign, reconcile, reconcileAll, run, sign, Signed, sponsored, submit, Tx } from "./services/Tx.js";
22
+ /** The expiration union and the bounds `Tx.reconcile` reasons about. */
23
+ export { chainOf, maxEpochOf, maxTimestampMsOf, Signature, TransactionExpiration } from "./domain/schemas.js";
24
+ //# sourceMappingURL=tx.js.map
package/dist/tx.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx.js","sourceRoot":"","sources":["../src/tx.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,2DAA2D;AAC3D,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,aAAa,EACb,MAAM,EAEN,MAAM,EAEP,MAAM,sBAAsB,CAAA;AAE7B,4EAA4E;AAC5E,OAAO,EAGL,YAAY,EAEb,MAAM,4BAA4B,CAAA;AAEnC,2FAA2F;AAC3F,OAAO,EAAE,OAAO,EAAuB,MAAM,uBAAuB,CAAA;AAEpE,yEAAyE;AACzE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAEvF,4DAA4D;AAC5D,OAAO,EACL,KAAK,EACL,MAAM,EAMN,SAAS,EACT,YAAY,EACZ,GAAG,EACH,IAAI,EACJ,MAAM,EACN,SAAS,EACT,MAAM,EACN,EAAE,EACH,MAAM,kBAAkB,CAAA;AAEzB,wEAAwE;AACxE,OAAO,EACL,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,qBAAqB,EACtB,MAAM,qBAAqB,CAAA"}