@unconfirmed/sui-effect 0.1.1 → 0.1.3

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 (74) hide show
  1. package/AGENTS.md +34 -11
  2. package/CHANGELOG.md +77 -0
  3. package/LLMS.md +630 -704
  4. package/README.md +175 -9
  5. package/dist/domain/bcs.d.ts.map +1 -1
  6. package/dist/domain/bcs.js +25 -9
  7. package/dist/domain/bcs.js.map +1 -1
  8. package/dist/domain/errors.d.ts +178 -40
  9. package/dist/domain/errors.d.ts.map +1 -1
  10. package/dist/domain/errors.js +271 -37
  11. package/dist/domain/errors.js.map +1 -1
  12. package/dist/domain/executed.d.ts +71 -2
  13. package/dist/domain/executed.d.ts.map +1 -1
  14. package/dist/domain/executed.js +210 -9
  15. package/dist/domain/executed.js.map +1 -1
  16. package/dist/domain/journal-entry.d.ts +37 -37
  17. package/dist/domain/journal-entry.js +1 -1
  18. package/dist/domain/schemas.d.ts +172 -65
  19. package/dist/domain/schemas.d.ts.map +1 -1
  20. package/dist/domain/schemas.js +131 -32
  21. package/dist/domain/schemas.js.map +1 -1
  22. package/dist/index.d.ts +1 -1
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +1 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/internal.d.ts +1 -1
  27. package/dist/internal.d.ts.map +1 -1
  28. package/dist/internal.js +1 -1
  29. package/dist/internal.js.map +1 -1
  30. package/dist/script.d.ts +1 -1
  31. package/dist/script.d.ts.map +1 -1
  32. package/dist/script.js +1 -1
  33. package/dist/script.js.map +1 -1
  34. package/dist/services/Script.d.ts +42 -0
  35. package/dist/services/Script.d.ts.map +1 -1
  36. package/dist/services/Script.js +112 -77
  37. package/dist/services/Script.js.map +1 -1
  38. package/dist/services/Signer.d.ts +32 -7
  39. package/dist/services/Signer.d.ts.map +1 -1
  40. package/dist/services/Signer.js +69 -10
  41. package/dist/services/Signer.js.map +1 -1
  42. package/dist/services/SubmitConfig.d.ts +3 -22
  43. package/dist/services/SubmitConfig.d.ts.map +1 -1
  44. package/dist/services/SubmitConfig.js +54 -9
  45. package/dist/services/SubmitConfig.js.map +1 -1
  46. package/dist/services/Sui.d.ts +42 -1
  47. package/dist/services/Sui.d.ts.map +1 -1
  48. package/dist/services/Sui.js +46 -17
  49. package/dist/services/Sui.js.map +1 -1
  50. package/dist/services/SuiCore.d.ts.map +1 -1
  51. package/dist/services/SuiCore.js +47 -33
  52. package/dist/services/SuiCore.js.map +1 -1
  53. package/dist/services/SuiCoreFake.d.ts +47 -4
  54. package/dist/services/SuiCoreFake.d.ts.map +1 -1
  55. package/dist/services/SuiCoreFake.js +193 -22
  56. package/dist/services/SuiCoreFake.js.map +1 -1
  57. package/dist/services/Tx.d.ts +236 -402
  58. package/dist/services/Tx.d.ts.map +1 -1
  59. package/dist/services/Tx.js +205 -10
  60. package/dist/services/Tx.js.map +1 -1
  61. package/dist/testing.d.ts +1 -0
  62. package/dist/testing.d.ts.map +1 -1
  63. package/dist/testing.js +9 -0
  64. package/dist/testing.js.map +1 -1
  65. package/dist/tx.d.ts +1 -1
  66. package/dist/tx.d.ts.map +1 -1
  67. package/dist/tx.js +1 -1
  68. package/dist/tx.js.map +1 -1
  69. package/docs/extensions.md +608 -19
  70. package/examples/extension-template/src/Escrow.ts +1 -1
  71. package/examples/extension-template/src/errors.ts +29 -0
  72. package/examples/extension-template/src/schema.ts +8 -17
  73. package/examples/extension-template/test/escrow.test.ts +44 -0
  74. package/package.json +1 -1
@@ -13,8 +13,9 @@
13
13
  *
14
14
  * @since 0.1.0
15
15
  */
16
- import { Cause, Config, ConfigProvider, Context, Effect, Exit, Fiber, Layer, Logger } from "effect";
16
+ import { Cause, Config, ConfigProvider, Context, Effect, Encoding, Exit, Fiber, Layer, Logger, Predicate, Result, Schema } from "effect";
17
17
  import { digestOf, SuiError as SuiErrorHelpers } from "../domain/errors.js";
18
+ import { JournalEntry } from "../domain/journal-entry.js";
18
19
  import { Journal } from "./Journal.js";
19
20
  import { fromConfig } from "./Signer.js";
20
21
  import { Sui } from "./Sui.js";
@@ -141,7 +142,59 @@ export class Script extends Context.Service()("@unconfirmed/sui-effect/Script")
141
142
  static exitCode = (exit, options) => exitCode(exit, options);
142
143
  /** See {@link run}. */
143
144
  static run = (effect, options) => run(effect, options);
145
+ /** See {@link report}. */
146
+ static report = (exit, options) => report(exit, options);
144
147
  }
148
+ /**
149
+ * Prints what {@link run} prints, and answers the exit code, for a program that
150
+ * owns its own process.
151
+ *
152
+ * `Script.run` is a whole entrypoint: it builds the layer, forks the root
153
+ * fiber, installs signal handlers and exits. A CLI with its own argv parser and
154
+ * twenty subcommands has all of that already and still wants the two things
155
+ * `run` does at the end — one diagnostic line per failure (with the bytes of a
156
+ * `SubmissionUnknown`), and every unresolved journal entry on a non-zero exit —
157
+ * plus the code itself. That is this: hand it the `Exit` of whatever you ran,
158
+ * get the lines on stderr and the number back, and call `process.exitCode = …`
159
+ * yourself rather than `process.exit`, so buffered output still flushes.
160
+ *
161
+ * Never fails.
162
+ *
163
+ * @example
164
+ * ```ts
165
+ * const exit = await runtime.runPromiseExit(command())
166
+ * process.exitCode = await Script.report(exit, { journal })
167
+ * ```
168
+ *
169
+ * @since 0.1.2
170
+ */
171
+ export const report = async (exit, options) => {
172
+ const write = options?.stderr ?? ((line) => {
173
+ process.stderr.write(`${line}\n`);
174
+ });
175
+ if (Exit.isSuccess(exit))
176
+ return exitCode(exit);
177
+ if (Cause.hasDies(exit.cause)) {
178
+ write(Cause.pretty(exit.cause));
179
+ }
180
+ else {
181
+ const failure = Cause.findErrorOption(exit.cause);
182
+ if (failure._tag === "Some") {
183
+ for (const line of describeFailure(failure.value))
184
+ write(line);
185
+ }
186
+ else if (Cause.hasInterrupts(exit.cause)) {
187
+ write("interrupted");
188
+ }
189
+ else {
190
+ write(Cause.pretty(exit.cause));
191
+ }
192
+ }
193
+ const unresolved = await readUnresolved(options?.journal);
194
+ for (const line of unresolvedLines(unresolved))
195
+ write(line);
196
+ return exitCode(exit, { unresolved: unresolved.length });
197
+ };
145
198
  /** Exit codes, on the axis a wrapper script acts on. */
146
199
  const EXIT = {
147
200
  success: 0,
@@ -152,12 +205,11 @@ const EXIT = {
152
205
  applied: 5,
153
206
  interrupted: 130
154
207
  };
155
- const isConfigError = (error) => typeof error === "object" && error !== null &&
156
- error._tag === "ConfigError";
157
- const hasTag = (error) => typeof error === "object" && error !== null &&
158
- typeof error._tag === "string";
159
- const hasOutcomeField = (error) => typeof error === "object" && error !== null &&
160
- typeof error.outcome === "string";
208
+ // Effect's own agent guide is explicit that these are `Predicate`'s job, never
209
+ // a hand-written helper: an agent copying this file copies the right idiom.
210
+ const isConfigError = Predicate.isTagged("ConfigError");
211
+ const hasTag = (error) => Predicate.hasProperty(error, "_tag") && typeof error._tag === "string";
212
+ const hasOutcomeField = (error) => Predicate.hasProperty(error, "outcome") && typeof error.outcome === "string";
161
213
  /**
162
214
  * The exit code one failure deserves.
163
215
  *
@@ -196,53 +248,49 @@ export const exitCode = (exit, options) => {
196
248
  const failure = Cause.findErrorOption(cause);
197
249
  return failure._tag === "Some" ? codeOfError(failure.value, unresolved) : EXIT.defect;
198
250
  };
199
- /** The exit code of one error value, the same mapping {@link exitCode} uses. */
251
+ /**
252
+ * The exit code of one error value, the same mapping {@link exitCode} uses.
253
+ *
254
+ * There is no per-tag `switch` here, and that is the point: a `default:` case
255
+ * over the taxonomy's tags is not a compile error when a tag is added and
256
+ * forgotten, so a real taxonomy failure used to exit 1 ("defect") instead of
257
+ * 3, 4 or 5. `SuiError.isTaxonomy` and `SuiError.outcome` are the taxonomy's
258
+ * own answer to the same question, and they are derived from the schema, so
259
+ * the mapping cannot fall behind the union. The three tags that are *not* on
260
+ * the outcome axis at all — a configuration problem is not "did it apply?" —
261
+ * are named, and everything else the library has never heard of is a defect.
262
+ */
200
263
  const codeOfError = (error, unresolved) => {
201
264
  if (isConfigError(error))
202
265
  return EXIT.configuration;
266
+ // **A declared `outcome` wins before anything else, tag or no tag.** That is
267
+ // the order this function has always had, and it is load-bearing: a wrapper
268
+ // that puts `outcome` on an error is saying what it knows about the chain,
269
+ // and nothing below has better information. It applies to a value with no
270
+ // `_tag` at all and to one whose `_tag` is not a string, which is why this
271
+ // sits above the tag check rather than inside it.
203
272
  if (hasOutcomeField(error))
204
273
  return codeOfOutcome(error.outcome);
205
274
  if (!hasTag(error))
206
275
  return EXIT.defect;
207
- switch (error._tag) {
208
- case "NetworkMismatch":
209
- return EXIT.configuration;
210
- case "SubmissionUnknown":
211
- return EXIT.unknown;
212
- case "ExecutionFailed":
213
- // An `UnexpectedEffects` is built from an `Executed`: the transaction
214
- // applied and gas was charged, and only the receipt is missing. Exit 4
215
- // would tell a wrapper to run the caller's intent a second time.
216
- case "UnexpectedEffects":
217
- return EXIT.applied;
218
- // `Effect.timeout` puts a `TimeoutError` in the error channel that is not
219
- // part of the taxonomy. It used to be mapped unconditionally to "not
220
- // applied" on the theory that `Tx.submit` turns a timed-out submission into
221
- // `SubmissionUnknown` — but an `Effect.timeout` wrapped *around* a
222
- // submission interrupts it from the outside and never reaches that mapping,
223
- // so the bytes may be on the wire. The journal is what knows.
224
- case "TimeoutError":
225
- return unresolved > 0 ? EXIT.unknown : EXIT.notApplied;
226
- case "TransportError":
227
- case "ObjectNotFound":
228
- case "ObjectDeleted":
229
- case "ObjectUnavailable":
230
- case "TransactionNotFound":
231
- case "DecodeError":
232
- case "SimulationFailed":
233
- case "NotApplied":
234
- case "SigningError":
235
- case "BuildError":
236
- case "PolicyDenied":
237
- case "JournalError":
238
- case "GraphQLUnavailable":
239
- case "ExtensionNotReady":
240
- return EXIT.notApplied;
241
- case "SchemaError":
242
- return EXIT.configuration;
243
- default:
244
- return EXIT.defect;
276
+ // Configuration, not the applied/not-applied axis: no retry fixes any of
277
+ // these, and `NetworkMismatch` means the layer is pointed at the wrong chain.
278
+ if (error._tag === "SchemaError" || error._tag === "NetworkMismatch") {
279
+ return EXIT.configuration;
280
+ }
281
+ // `Effect.timeout` puts a `TimeoutError` in the error channel that is not
282
+ // part of the taxonomy. It used to be mapped unconditionally to "not
283
+ // applied" on the theory that `Tx.submit` turns a timed-out submission into
284
+ // `SubmissionUnknown` but an `Effect.timeout` wrapped *around* a
285
+ // submission interrupts it from the outside and never reaches that mapping,
286
+ // so the bytes may be on the wire. The journal is what knows.
287
+ if (error._tag === "TimeoutError") {
288
+ return unresolved > 0 ? EXIT.unknown : EXIT.notApplied;
289
+ }
290
+ if (SuiErrorHelpers.isTaxonomy(error)) {
291
+ return codeOfOutcome(SuiErrorHelpers.outcome(error));
245
292
  }
293
+ return EXIT.defect;
246
294
  };
247
295
  const codeOfOutcome = (outcome) => {
248
296
  switch (outcome) {
@@ -258,7 +306,7 @@ const describeFailure = (error) => {
258
306
  if (!hasTag(error))
259
307
  return [String(error)];
260
308
  const lines = [];
261
- if (!isSuiError(error)) {
309
+ if (!SuiErrorHelpers.isTaxonomy(error)) {
262
310
  const message = "message" in error && typeof error.message === "string"
263
311
  ? ` ${error.message}`
264
312
  : "";
@@ -272,40 +320,13 @@ const describeFailure = (error) => {
272
320
  lines.push(`digest: ${digest}`);
273
321
  if (tagged._tag === "SubmissionUnknown") {
274
322
  if (tagged.signed !== undefined) {
275
- lines.push(`bytes: ${toBase64(tagged.signed.bytes)}`);
323
+ lines.push(`bytes: ${Encoding.encodeBase64(tagged.signed.bytes)}`);
276
324
  }
277
325
  lines.push("the outcome is unknown: reconcile this digest before sending anything else from this sender");
278
326
  }
279
327
  }
280
328
  return lines;
281
329
  };
282
- const SUI_ERROR_TAGS = new Set([
283
- "TransportError",
284
- "ObjectNotFound",
285
- "ObjectDeleted",
286
- "ObjectUnavailable",
287
- "TransactionNotFound",
288
- "NetworkMismatch",
289
- "DecodeError",
290
- "SimulationFailed",
291
- "ExecutionFailed",
292
- "SubmissionUnknown",
293
- "NotApplied",
294
- "SigningError",
295
- "BuildError",
296
- "PolicyDenied",
297
- "JournalError",
298
- "UnexpectedEffects",
299
- "GraphQLUnavailable",
300
- "ExtensionNotReady"
301
- ]);
302
- const isSuiError = (error) => SUI_ERROR_TAGS.has(error._tag);
303
- const toBase64 = (bytes) => {
304
- let binary = "";
305
- for (const byte of bytes)
306
- binary += String.fromCharCode(byte);
307
- return btoa(binary);
308
- };
309
330
  /**
310
331
  * The logger a script runs under: every `Effect.log` on the injected stderr,
311
332
  * and nothing on stdout.
@@ -320,7 +341,18 @@ const toBase64 = (bytes) => {
320
341
  const stderrLogger = (write) => Logger.map(Logger.formatLogFmt, (line) => {
321
342
  write(line);
322
343
  });
323
- /** The lines describing what this process left on the wire, if anything. */
344
+ const encodeJournalEntry = Schema.encodeUnknownResult(JournalEntry);
345
+ /**
346
+ * The lines describing what this process left on the wire, if anything.
347
+ *
348
+ * Three lines per entry: the digest and tag for a human, the raw base64 bytes
349
+ * for someone about to resubmit by hand, and the **whole entry encoded through
350
+ * the `JournalEntry` schema** — which is the same JSON a durable journal
351
+ * stores, bytes base64 and timestamps included. That last line is what lets a
352
+ * wrapper pipe stderr into a file and hand it back to a recovery process
353
+ * verbatim, instead of scraping two lines and losing `attempts`, `lastError`
354
+ * and the expiration the bytes carry.
355
+ */
324
356
  const unresolvedLines = (entries) => {
325
357
  if (entries.length === 0)
326
358
  return [];
@@ -330,8 +362,11 @@ const unresolvedLines = (entries) => {
330
362
  for (const entry of entries) {
331
363
  lines.push(`unresolved ${entry.digest} (${entry._tag})`);
332
364
  if (entry._tag === "Signed" || entry._tag === "Unknown") {
333
- lines.push(`bytes: ${toBase64(entry.signed.bytes)}`);
365
+ lines.push(`bytes: ${Encoding.encodeBase64(entry.signed.bytes)}`);
334
366
  }
367
+ const encoded = encodeJournalEntry(entry);
368
+ if (Result.isSuccess(encoded))
369
+ lines.push(`entry: ${JSON.stringify(encoded.success)}`);
335
370
  }
336
371
  return lines;
337
372
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Script.js","sourceRoot":"","sources":["../../src/services/Script.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Script.js","sourceRoot":"","sources":["../../src/services/Script.ts"],"names":[],"mappings":"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"}
@@ -50,12 +50,29 @@ export interface Signer {
50
50
  * needs a keypair, and the `Signer` this returns exposes no secret material
51
51
  * either.
52
52
  *
53
+ * **`toSuiAddress()` and `getKeyScheme()` are read here, synchronously**, and
54
+ * the address and scheme of the returned `Signer` are whatever they answered at
55
+ * this moment: a credential that changes accounts later is a different
56
+ * `Signer`, built again. A test double therefore needs both of those methods,
57
+ * not only `signTransaction` — a double without `getKeyScheme` used to produce
58
+ * `scheme: undefined` and nothing complained until a validator did.
59
+ *
60
+ * **Clear-signing inputs are the SDK signer's own concern.** The Ledger signer
61
+ * takes `signTransaction(bytes, bcsObjects?, resolution?)` and resolves those
62
+ * extra arguments through the client it was constructed with; this passes only
63
+ * the bytes, which is the whole of the base `Signer` contract. A device that
64
+ * needs more than the bytes gets it from its own client, or from
65
+ * {@link remote}.
66
+ *
53
67
  * For a credential that is not an SDK `Signer` at all — a remote service, a
54
68
  * hardware device behind your own protocol — use {@link remote}, which takes
55
69
  * Effects and the address to sign as.
56
70
  *
57
- * Never fails: a bad address or signature surfaces as a `SigningError` from the
58
- * member that produced it, not from construction.
71
+ * **Throws** a `TypeError` naming the missing member when the argument is not
72
+ * an SDK signer — that is a wiring mistake in the caller, not a runtime
73
+ * failure a program recovers from. Otherwise never fails: a bad address or
74
+ * signature surfaces as a `SigningError` from the member that produced it, not
75
+ * from construction.
59
76
  */
60
77
  export declare const fromSdkSigner: (keypair: SdkSigner) => Signer;
61
78
  /**
@@ -65,17 +82,25 @@ export declare const fromSdkSigner: (keypair: SdkSigner) => Signer;
65
82
  */
66
83
  export declare const fromKeypair: (keypair: Keypair) => Signer;
67
84
  /**
68
- * Reads a Bech32 `suiprivkey1…` secret key from configuration and builds the
69
- * signer for whichever of the three schemes its flag names.
85
+ * Reads a secret key from configuration and builds its signer.
86
+ *
87
+ * Two spellings, told apart by the text itself:
88
+ *
89
+ * - a **Bech32 `suiprivkey1…`**, whose flag names one of the three schemes;
90
+ * - a **32-byte hex seed** (64 hex characters, `0x` optional), which carries no
91
+ * scheme and is read as **Ed25519** — the default every Sui tool uses for a
92
+ * raw seed. This is what a secret manager or another language's SDK hands
93
+ * over, and reading it here is what keeps `fromHex` and the decoded bytes out
94
+ * of application code.
70
95
  *
71
96
  * The key is read with `Config.redacted`, and the decoded bytes never leave
72
97
  * this function. Neither does anything derived from them: the failure carries
73
98
  * one fixed sentence and no `cause`, because the decoder's own message quotes
74
99
  * the input it rejected.
75
100
  *
76
- * Fails with: `ConfigError` when the variable is missing, is not a Bech32 Sui
77
- * private key, or names a scheme that has no keypair class (`MultiSig`,
78
- * `ZkLogin`, `Passkey` — use {@link remote} for those).
101
+ * Fails with: `ConfigError` when the variable is missing, is neither spelling,
102
+ * or names a scheme that has no keypair class (`MultiSig`, `ZkLogin`,
103
+ * `Passkey` — use {@link remote} for those).
79
104
  */
80
105
  export declare const fromConfig: (name?: string) => Effect.Effect<Signer, Config.ConfigError>;
81
106
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Signer.d.ts","sourceRoot":"","sources":["../../src/services/Signer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAK5E,OAAO,EAAE,MAAM,EAAkB,MAAM,EAAoB,MAAM,QAAQ,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAE5D,6EAA6E;AAC7E,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAA;AAExG;;;;;;GAMG;AACH,MAAM,WAAW,MAAM;IACrB,4CAA4C;IAC5C,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;IAC5B,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IACvF;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;CAC5F;AASD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,aAAa,GAAI,SAAS,SAAS,KAAG,MAuBlD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,OAAO,KAAG,MAAgC,CAAA;AA8B/E;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,GACrB,aAAwB,KACvB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAoBxC,CAAA;AAEH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAE3C,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACpF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CAC1F;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM,GAAI,QAAQ,YAAY,KAAG,MAa5C,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,MAAM;sCA/JoB,SAAS,KAAG,MAAM;oCA8BpB,OAAO,KAAG,MAAM;4CA6ClD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC;;8BAgEb,YAAY,KAAG,MAAM;CA0B1C,CAAA"}
1
+ {"version":3,"file":"Signer.d.ts","sourceRoot":"","sources":["../../src/services/Signer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAM5E,OAAO,EAAE,MAAM,EAAkB,MAAM,EAAoB,MAAM,QAAQ,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAE5D,6EAA6E;AAC7E,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAA;AAExG;;;;;;GAMG;AACH,MAAM,WAAW,MAAM;IACrB,4CAA4C;IAC5C,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;IAC5B,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IACvF;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;CAC5F;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,aAAa,GAAI,SAAS,SAAS,KAAG,MAmClD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,OAAO,KAAG,MAAgC,CAAA;AAoD/E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,UAAU,GACrB,aAAwB,KACvB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAmBxC,CAAA;AAEH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAE3C,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACpF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CAC1F;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM,GAAI,QAAQ,YAAY,KAAG,MAa5C,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,MAAM;sCAxMoB,SAAS,KAAG,MAAM;oCA0CpB,OAAO,KAAG,MAAM;4CA2ElD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC;;8BA+Db,YAAY,KAAG,MAAM;CA0B1C,CAAA"}
@@ -1,12 +1,19 @@
1
- import { decodeSuiPrivateKey } from "@mysten/sui/cryptography";
1
+ import { decodeSuiPrivateKey, SUI_PRIVATE_KEY_PREFIX } from "@mysten/sui/cryptography";
2
2
  import { Ed25519Keypair } from "@mysten/sui/keypairs/ed25519";
3
3
  import { Secp256k1Keypair } from "@mysten/sui/keypairs/secp256k1";
4
4
  import { Secp256r1Keypair } from "@mysten/sui/keypairs/secp256r1";
5
+ import { fromHex } from "@mysten/sui/utils";
5
6
  import { Config, ConfigProvider, Effect, Redacted, Schema } from "effect";
6
7
  import { SigningError } from "../domain/errors.js";
7
8
  import { Signature, SuiAddress } from "../domain/schemas.js";
8
9
  const decodeSignature = Schema.decodeUnknownEffect(Signature);
9
10
  const signatureOf = (signature) => decodeSignature(signature).pipe(Effect.mapError((issue) => new SigningError({ cause: `the signer returned a signature this version cannot read: ${issue.message}` })));
11
+ /** The members {@link fromSdkSigner} reads, and what it does with each. */
12
+ const SDK_SIGNER_MEMBERS = [
13
+ "toSuiAddress",
14
+ "getKeyScheme",
15
+ "signTransaction"
16
+ ];
10
17
  /**
11
18
  * Wraps any `@mysten/sui/cryptography` `Signer`.
12
19
  *
@@ -17,14 +24,37 @@ const signatureOf = (signature) => decodeSignature(signature).pipe(Effect.mapErr
17
24
  * needs a keypair, and the `Signer` this returns exposes no secret material
18
25
  * either.
19
26
  *
27
+ * **`toSuiAddress()` and `getKeyScheme()` are read here, synchronously**, and
28
+ * the address and scheme of the returned `Signer` are whatever they answered at
29
+ * this moment: a credential that changes accounts later is a different
30
+ * `Signer`, built again. A test double therefore needs both of those methods,
31
+ * not only `signTransaction` — a double without `getKeyScheme` used to produce
32
+ * `scheme: undefined` and nothing complained until a validator did.
33
+ *
34
+ * **Clear-signing inputs are the SDK signer's own concern.** The Ledger signer
35
+ * takes `signTransaction(bytes, bcsObjects?, resolution?)` and resolves those
36
+ * extra arguments through the client it was constructed with; this passes only
37
+ * the bytes, which is the whole of the base `Signer` contract. A device that
38
+ * needs more than the bytes gets it from its own client, or from
39
+ * {@link remote}.
40
+ *
20
41
  * For a credential that is not an SDK `Signer` at all — a remote service, a
21
42
  * hardware device behind your own protocol — use {@link remote}, which takes
22
43
  * Effects and the address to sign as.
23
44
  *
24
- * Never fails: a bad address or signature surfaces as a `SigningError` from the
25
- * member that produced it, not from construction.
45
+ * **Throws** a `TypeError` naming the missing member when the argument is not
46
+ * an SDK signer — that is a wiring mistake in the caller, not a runtime
47
+ * failure a program recovers from. Otherwise never fails: a bad address or
48
+ * signature surfaces as a `SigningError` from the member that produced it, not
49
+ * from construction.
26
50
  */
27
51
  export const fromSdkSigner = (keypair) => {
52
+ const missing = SDK_SIGNER_MEMBERS.filter((member) => typeof keypair?.[member] !== "function");
53
+ if (missing.length > 0) {
54
+ throw new TypeError(`Signer.fromSdkSigner: this value is not a @mysten/sui Signer — it has no ${missing.join(", no ")}. An SDK signer answers toSuiAddress(), getKeyScheme() and signTransaction(bytes);` +
55
+ " for a test double or a credential that is not an SDK signer, use Signer.remote({" +
56
+ " address, scheme, signTransaction }).");
57
+ }
28
58
  const address = keypair.toSuiAddress();
29
59
  return {
30
60
  // `toSuiAddress` returns the normalized form the SDK derived from the
@@ -79,24 +109,53 @@ const keypairOf = (parsed) => {
79
109
  * a `cause` on the error would serialize through `SuiError.toJson` too.
80
110
  */
81
111
  const KEY_ERROR = "is not a Bech32 Sui private key (scheme or checksum), " +
112
+ "is not a 32-byte hex seed (64 hex characters, 0x optional), " +
82
113
  "or names a scheme with no keypair class (MultiSig, ZkLogin, Passkey — use Signer.remote for those)";
114
+ /** A raw 32-byte secret as hexadecimal, with or without the `0x`. */
115
+ const HEX_SEED = /^(?:0x)?[0-9a-fA-F]{64}$/;
83
116
  /**
84
- * Reads a Bech32 `suiprivkey1…` secret key from configuration and builds the
85
- * signer for whichever of the three schemes its flag names.
117
+ * The keypair a configured secret names: a Bech32 `suiprivkey1…` for whichever
118
+ * of the three schemes its flag carries, or a **32-byte hex seed**, which has
119
+ * no scheme flag and is therefore read as Ed25519.
120
+ *
121
+ * Hex is here because that is how a raw seed comes out of a secret manager, a
122
+ * `.env` written by hand, or another language's SDK, and the alternative every
123
+ * caller reached for was `Ed25519Keypair.fromSecretKey(fromHex(...))` in
124
+ * application code — which is the one place the decoded bytes should never
125
+ * appear. `undefined` when the text is neither.
126
+ */
127
+ const keypairFromSecret = (value) => {
128
+ const text = value.trim();
129
+ if (text.startsWith(SUI_PRIVATE_KEY_PREFIX))
130
+ return keypairOf(decodeSuiPrivateKey(text));
131
+ if (HEX_SEED.test(text))
132
+ return Ed25519Keypair.fromSecretKey(fromHex(text));
133
+ return undefined;
134
+ };
135
+ /**
136
+ * Reads a secret key from configuration and builds its signer.
137
+ *
138
+ * Two spellings, told apart by the text itself:
139
+ *
140
+ * - a **Bech32 `suiprivkey1…`**, whose flag names one of the three schemes;
141
+ * - a **32-byte hex seed** (64 hex characters, `0x` optional), which carries no
142
+ * scheme and is read as **Ed25519** — the default every Sui tool uses for a
143
+ * raw seed. This is what a secret manager or another language's SDK hands
144
+ * over, and reading it here is what keeps `fromHex` and the decoded bytes out
145
+ * of application code.
86
146
  *
87
147
  * The key is read with `Config.redacted`, and the decoded bytes never leave
88
148
  * this function. Neither does anything derived from them: the failure carries
89
149
  * one fixed sentence and no `cause`, because the decoder's own message quotes
90
150
  * the input it rejected.
91
151
  *
92
- * Fails with: `ConfigError` when the variable is missing, is not a Bech32 Sui
93
- * private key, or names a scheme that has no keypair class (`MultiSig`,
94
- * `ZkLogin`, `Passkey` — use {@link remote} for those).
152
+ * Fails with: `ConfigError` when the variable is missing, is neither spelling,
153
+ * or names a scheme that has no keypair class (`MultiSig`, `ZkLogin`,
154
+ * `Passkey` — use {@link remote} for those).
95
155
  */
96
156
  export const fromConfig = (name = "SUI_PRIVATE_KEY") => Config.redacted(name).pipe(Effect.flatMap((redacted) => Effect.try({
97
157
  try: () => {
98
- const parsed = decodeSuiPrivateKey(Redacted.value(redacted));
99
- const keypair = keypairOf(parsed);
158
+ const keypair = keypairFromSecret(Redacted.value(redacted));
100
159
  if (keypair === undefined) {
101
160
  throw new Error("unsupported key scheme");
102
161
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Signer.js","sourceRoot":"","sources":["../../src/services/Signer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Signer.js","sourceRoot":"","sources":["../../src/services/Signer.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,7 @@
5
5
  *
6
6
  * @since 0.1.0
7
7
  */
8
- import { Context, Duration, Schedule } from "effect";
9
- import type { Effect } from "effect";
8
+ import { Context, Duration, Effect, Layer, Schedule } from "effect";
10
9
  import type { PolicyDenied } from "../domain/errors.ts";
11
10
  import type { Mist, Simulation } from "../domain/schemas.ts";
12
11
  /** How `Tx.build` sets an expiration when the recipe left one unset. */
@@ -149,27 +148,9 @@ export interface SubmitConfigService {
149
148
  }
150
149
  /** The spec's defaults, in force whenever nothing overrides them. */
151
150
  export declare const defaults: SubmitConfigService;
152
- /**
153
- * The lifecycle settings.
154
- *
155
- * Because this is a `Context.Reference` and not a service, it never appears in
156
- * an `R`: a one-shot script gets the defaults with no wiring, and an
157
- * application overrides what it cares about with
158
- * `Effect.provideService(effect, SubmitConfig, { ...SubmitConfig.defaults, validFor: "30 seconds" })`.
159
- *
160
- * @example
161
- * ```ts
162
- * import { Effect } from "effect"
163
- * import { SubmitConfig } from "@unconfirmed/sui-effect/tx"
164
- *
165
- * const strict = <A, E, R>(effect: Effect.Effect<A, E, R>) =>
166
- * Effect.provideService(effect, SubmitConfig, {
167
- * ...SubmitConfig.defaults,
168
- * maxGasBudget: 100_000_000n as typeof SubmitConfig.defaults.maxGasBudget
169
- * })
170
- * ```
171
- */
172
151
  export declare const SubmitConfig: Context.Reference<SubmitConfigService> & {
173
152
  defaults: SubmitConfigService;
153
+ layer: (overrides: Partial<SubmitConfigService>) => Layer.Layer<never>;
154
+ with: (overrides: Partial<SubmitConfigService>) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
174
155
  };
175
156
  //# sourceMappingURL=SubmitConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SubmitConfig.d.ts","sourceRoot":"","sources":["../../src/services/SubmitConfig.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAU,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAG5D,wEAAwE;AACxE,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,CAAA;AAE/D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,oBAAoB,GAAG,eAAe,GAAG,OAAO,CAAA;AAE5D,mFAAmF;AACnF,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;IACrC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAA;IACrC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAA;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IAClF,wEAAwE;IACxE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC7C,mFAAmF;IACnF,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAA;IAC1C;;;;;;;;OAQG;IACH,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAA;IACxC;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAA;IAC7C;;;;;;;OAOG;IACH,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,CAAA;IAC5C;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IACjC;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,QAAQ,CAAA;IAC7C;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;CACtC;AAED,qEAAqE;AACrE,eAAO,MAAM,QAAQ,EAAE,mBAiBtB,CAAA;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,YAAY;;CAKxB,CAAA"}
1
+ {"version":3,"file":"SubmitConfig.d.ts","sourceRoot":"","sources":["../../src/services/SubmitConfig.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAU,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAG5D,wEAAwE;AACxE,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,CAAA;AAE/D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,oBAAoB,GAAG,eAAe,GAAG,OAAO,CAAA;AAE5D,mFAAmF;AACnF,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;IACrC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAA;IACrC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAA;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IAClF,wEAAwE;IACxE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC7C,mFAAmF;IACnF,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAA;IAC1C;;;;;;;;OAQG;IACH,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAA;IACxC;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAA;IAC7C;;;;;;;OAOG;IACH,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,CAAA;IAC5C;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IACjC;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,QAAQ,CAAA;IAC7C;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;CACtC;AAED,qEAAqE;AACrE,eAAO,MAAM,QAAQ,EAAE,mBAiBtB,CAAA;AA2ED,eAAO,MAAM,YAAY;;uBA5BC,OAAO,CAAC,mBAAmB,CAAC,KAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;sBAwB7D,OAAO,CAAC,mBAAmB,CAAC,MACvC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CAOjE,CAAA"}