@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.
- package/AGENTS.md +34 -11
- package/CHANGELOG.md +77 -0
- package/LLMS.md +630 -704
- package/README.md +175 -9
- package/dist/domain/bcs.d.ts.map +1 -1
- package/dist/domain/bcs.js +25 -9
- package/dist/domain/bcs.js.map +1 -1
- package/dist/domain/errors.d.ts +178 -40
- package/dist/domain/errors.d.ts.map +1 -1
- package/dist/domain/errors.js +271 -37
- package/dist/domain/errors.js.map +1 -1
- package/dist/domain/executed.d.ts +71 -2
- package/dist/domain/executed.d.ts.map +1 -1
- package/dist/domain/executed.js +210 -9
- package/dist/domain/executed.js.map +1 -1
- package/dist/domain/journal-entry.d.ts +37 -37
- package/dist/domain/journal-entry.js +1 -1
- package/dist/domain/schemas.d.ts +172 -65
- package/dist/domain/schemas.d.ts.map +1 -1
- package/dist/domain/schemas.js +131 -32
- package/dist/domain/schemas.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +1 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +1 -1
- package/dist/internal.js.map +1 -1
- package/dist/script.d.ts +1 -1
- package/dist/script.d.ts.map +1 -1
- package/dist/script.js +1 -1
- package/dist/script.js.map +1 -1
- package/dist/services/Script.d.ts +42 -0
- package/dist/services/Script.d.ts.map +1 -1
- package/dist/services/Script.js +112 -77
- package/dist/services/Script.js.map +1 -1
- package/dist/services/Signer.d.ts +32 -7
- package/dist/services/Signer.d.ts.map +1 -1
- package/dist/services/Signer.js +69 -10
- package/dist/services/Signer.js.map +1 -1
- package/dist/services/SubmitConfig.d.ts +3 -22
- package/dist/services/SubmitConfig.d.ts.map +1 -1
- package/dist/services/SubmitConfig.js +54 -9
- package/dist/services/SubmitConfig.js.map +1 -1
- package/dist/services/Sui.d.ts +42 -1
- package/dist/services/Sui.d.ts.map +1 -1
- package/dist/services/Sui.js +46 -17
- package/dist/services/Sui.js.map +1 -1
- package/dist/services/SuiCore.d.ts.map +1 -1
- package/dist/services/SuiCore.js +47 -33
- package/dist/services/SuiCore.js.map +1 -1
- package/dist/services/SuiCoreFake.d.ts +47 -4
- package/dist/services/SuiCoreFake.d.ts.map +1 -1
- package/dist/services/SuiCoreFake.js +193 -22
- package/dist/services/SuiCoreFake.js.map +1 -1
- package/dist/services/Tx.d.ts +236 -402
- package/dist/services/Tx.d.ts.map +1 -1
- package/dist/services/Tx.js +205 -10
- package/dist/services/Tx.js.map +1 -1
- package/dist/testing.d.ts +1 -0
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +9 -0
- package/dist/testing.js.map +1 -1
- package/dist/tx.d.ts +1 -1
- package/dist/tx.d.ts.map +1 -1
- package/dist/tx.js +1 -1
- package/dist/tx.js.map +1 -1
- package/docs/extensions.md +608 -19
- package/examples/extension-template/src/Escrow.ts +1 -1
- package/examples/extension-template/src/errors.ts +29 -0
- package/examples/extension-template/src/schema.ts +8 -17
- package/examples/extension-template/test/escrow.test.ts +44 -0
- package/package.json +1 -1
package/dist/services/Script.js
CHANGED
|
@@ -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
|
-
|
|
156
|
-
|
|
157
|
-
const
|
|
158
|
-
|
|
159
|
-
const hasOutcomeField = (error) =>
|
|
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
|
-
/**
|
|
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
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
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 (!
|
|
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: ${
|
|
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
|
-
|
|
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: ${
|
|
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
|
-
*
|
|
58
|
-
*
|
|
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
|
|
69
|
-
*
|
|
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
|
|
77
|
-
*
|
|
78
|
-
* `
|
|
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;
|
|
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"}
|
package/dist/services/Signer.js
CHANGED
|
@@ -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
|
-
*
|
|
25
|
-
*
|
|
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
|
-
*
|
|
85
|
-
*
|
|
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
|
|
93
|
-
*
|
|
94
|
-
* `
|
|
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
|
|
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":"AAYA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;
|
|
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,
|
|
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"}
|