@unconfirmed/sui-effect 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +34 -11
- package/CHANGELOG.md +46 -0
- package/LLMS.md +953 -301
- package/README.md +171 -9
- package/dist/domain/bcs.d.ts.map +1 -1
- package/dist/domain/bcs.js +7 -0
- package/dist/domain/bcs.js.map +1 -1
- package/dist/domain/errors.d.ts +101 -5
- package/dist/domain/errors.d.ts.map +1 -1
- package/dist/domain/errors.js +158 -8
- package/dist/domain/errors.js.map +1 -1
- package/dist/domain/executed.d.ts +69 -0
- package/dist/domain/executed.d.ts.map +1 -1
- package/dist/domain/executed.js +196 -5
- package/dist/domain/executed.js.map +1 -1
- package/dist/domain/schemas.d.ts +27 -1
- package/dist/domain/schemas.d.ts.map +1 -1
- package/dist/domain/schemas.js +20 -2
- 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/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 +69 -2
- 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/Sui.d.ts +42 -1
- package/dist/services/Sui.d.ts.map +1 -1
- package/dist/services/Sui.js +18 -4
- package/dist/services/Sui.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 +627 -11
- package/dist/services/Tx.d.ts.map +1 -1
- package/dist/services/Tx.js +187 -8
- 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 +533 -8
- package/examples/extension-template/src/Escrow.ts +1 -1
- package/package.json +1 -1
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { Config, Context, Effect, Exit, Layer } from "effect";
|
|
17
17
|
import type { NetworkMismatch, TransportError } from "../domain/errors.ts";
|
|
18
|
+
import type { JournalService } from "./Journal.ts";
|
|
18
19
|
import type { Signer } from "./Signer.ts";
|
|
19
20
|
import type { SuiService } from "./Sui.ts";
|
|
20
21
|
import { Sui } from "./Sui.ts";
|
|
@@ -111,7 +112,48 @@ export declare class Script extends Script_base {
|
|
|
111
112
|
static readonly exitCode: <A, E>(exit: Exit.Exit<A, E>, options?: ExitCodeOptions) => number;
|
|
112
113
|
/** See {@link run}. */
|
|
113
114
|
static readonly run: <A, E>(effect: Effect.Effect<A, E, Script | Sui | SuiCore>, options?: ScriptRunOptions) => Promise<number>;
|
|
115
|
+
/** See {@link report}. */
|
|
116
|
+
static readonly report: <A, E>(exit: Exit.Exit<A, E>, options?: ReportOptions) => Promise<number>;
|
|
114
117
|
}
|
|
118
|
+
/** What {@link report} needs beyond the `Exit`. */
|
|
119
|
+
export interface ReportOptions {
|
|
120
|
+
/** Where the lines go, one at a time. Defaults to `process.stderr`. */
|
|
121
|
+
readonly stderr?: (line: string) => void;
|
|
122
|
+
/**
|
|
123
|
+
* The journal the program ran with, for the unresolved entries.
|
|
124
|
+
*
|
|
125
|
+
* A program with its own `ManagedRuntime` has to hand it over — reading the
|
|
126
|
+
* bare `Journal` reference here would look in the process-wide in-memory
|
|
127
|
+
* default and find nothing, which is precisely wrong for the program that
|
|
128
|
+
* provided a durable one. Left out, the default reference is read, which is
|
|
129
|
+
* right for a program that never provided a journal at all.
|
|
130
|
+
*/
|
|
131
|
+
readonly journal?: JournalService;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Prints what {@link run} prints, and answers the exit code, for a program that
|
|
135
|
+
* owns its own process.
|
|
136
|
+
*
|
|
137
|
+
* `Script.run` is a whole entrypoint: it builds the layer, forks the root
|
|
138
|
+
* fiber, installs signal handlers and exits. A CLI with its own argv parser and
|
|
139
|
+
* twenty subcommands has all of that already and still wants the two things
|
|
140
|
+
* `run` does at the end — one diagnostic line per failure (with the bytes of a
|
|
141
|
+
* `SubmissionUnknown`), and every unresolved journal entry on a non-zero exit —
|
|
142
|
+
* plus the code itself. That is this: hand it the `Exit` of whatever you ran,
|
|
143
|
+
* get the lines on stderr and the number back, and call `process.exitCode = …`
|
|
144
|
+
* yourself rather than `process.exit`, so buffered output still flushes.
|
|
145
|
+
*
|
|
146
|
+
* Never fails.
|
|
147
|
+
*
|
|
148
|
+
* @example
|
|
149
|
+
* ```ts
|
|
150
|
+
* const exit = await runtime.runPromiseExit(command())
|
|
151
|
+
* process.exitCode = await Script.report(exit, { journal })
|
|
152
|
+
* ```
|
|
153
|
+
*
|
|
154
|
+
* @since 0.1.2
|
|
155
|
+
*/
|
|
156
|
+
export declare const report: <A, E>(exit: Exit.Exit<A, E>, options?: ReportOptions) => Promise<number>;
|
|
115
157
|
/** What {@link exitCode} needs to know beyond the `Exit` itself. */
|
|
116
158
|
export interface ExitCodeOptions {
|
|
117
159
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Script.d.ts","sourceRoot":"","sources":["../../src/services/Script.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"Script.d.ts","sourceRoot":"","sources":["../../src/services/Script.ts"],"names":[],"mappings":"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"}
|
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, Exit, Fiber, Layer, Logger, 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,
|
|
@@ -320,7 +373,18 @@ const toBase64 = (bytes) => {
|
|
|
320
373
|
const stderrLogger = (write) => Logger.map(Logger.formatLogFmt, (line) => {
|
|
321
374
|
write(line);
|
|
322
375
|
});
|
|
323
|
-
|
|
376
|
+
const encodeJournalEntry = Schema.encodeUnknownResult(JournalEntry);
|
|
377
|
+
/**
|
|
378
|
+
* The lines describing what this process left on the wire, if anything.
|
|
379
|
+
*
|
|
380
|
+
* Three lines per entry: the digest and tag for a human, the raw base64 bytes
|
|
381
|
+
* for someone about to resubmit by hand, and the **whole entry encoded through
|
|
382
|
+
* the `JournalEntry` schema** — which is the same JSON a durable journal
|
|
383
|
+
* stores, bytes base64 and timestamps included. That last line is what lets a
|
|
384
|
+
* wrapper pipe stderr into a file and hand it back to a recovery process
|
|
385
|
+
* verbatim, instead of scraping two lines and losing `attempts`, `lastError`
|
|
386
|
+
* and the expiration the bytes carry.
|
|
387
|
+
*/
|
|
324
388
|
const unresolvedLines = (entries) => {
|
|
325
389
|
if (entries.length === 0)
|
|
326
390
|
return [];
|
|
@@ -332,6 +396,9 @@ const unresolvedLines = (entries) => {
|
|
|
332
396
|
if (entry._tag === "Signed" || entry._tag === "Unknown") {
|
|
333
397
|
lines.push(`bytes: ${toBase64(entry.signed.bytes)}`);
|
|
334
398
|
}
|
|
399
|
+
const encoded = encodeJournalEntry(entry);
|
|
400
|
+
if (Result.isSuccess(encoded))
|
|
401
|
+
lines.push(`entry: ${JSON.stringify(encoded.success)}`);
|
|
335
402
|
}
|
|
336
403
|
return lines;
|
|
337
404
|
};
|
|
@@ -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":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EACL,KAAK,EACL,MAAM,EACN,cAAc,EACd,OAAO,EACP,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,EACL,MAAM,EACN,MAAM,EACN,MAAM,EACP,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAE,QAAQ,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAqBtC,MAAM,YAAY,GAAG,mBAAmB,CAAA;AAExC,MAAM,WAAW,GAAG,CAAC,OAAe,EAAsB,EAAE,CAC1D,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;AAErE;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,WAAW,GAA8C,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACxF,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;IAC3D,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,OAAO,CAAA;IACzC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5E,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,OAAO,CAAA;IACnD,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACvB,WAAW,CACT,+BAA+B,YAAY,sCAAsC,CAClF,CACF,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,uEAAuE;AACvE,MAAM,OAAO,cACX,SAAQ,OAAO,CAAC,OAAO,EAAyC,CAAC,wCAAwC,CAAC;CAC1G;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,MAAO,SAAQ,OAAO,CAAC,OAAO,EAAyB,CAAC,gCAAgC,CAAC;IACpG;;;;;;;;;OASG;IACH,MAAM,CAAU,KAAK,GAGjB,KAAK,CAAC,MAAM;IACd,2EAA2E;IAC3E,yEAAyE;IACzE,0EAA0E;IAC1E,yEAAyE;IACzE,mCAAmC;IACnC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,WAAW,CAAA;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,UAAU,EAAE,CAAA;QAClC,OAAO,KAAK,CAAC,MAAM,CACjB,MAAM,EACN,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAA;YACtB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAA;YAC3B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;QACvC,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3F,CAAC,CAAC,CACH,CAAA;IAED;;;;;OAKG;IACH,MAAM,CAAU,WAAW,GAA2D,KAAK;SACxF,MAAM,CACL,MAAM,EACN,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,WAAW,CAAA;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,UAAU,EAAE,CAAA;QAClC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAA;QACtB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAA;QAC3B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IACvC,CAAC,CAAC,CACH,CAAA;IAEH;;;;;OAKG;IACH,MAAM,CAAU,eAAe,GAAG,CAChC,MAAc,EAC0C,EAAE,CAC1D,KAAK,CAAC,MAAM,CACV,MAAM,EACN,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,WAAW,CAAA;QAClC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAA;QACtB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAA;QAC3B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;IACvC,CAAC,CAAC,CACH,CAAA;IAEH;;;;;OAKG;IACH,MAAM,CAAU,aAAa,GAGzB,KAAK,CAAC,MAAM;IACd,yEAAyE;IACzE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,WAAW,CAAA;QAClC,OAAO,KAAK,CAAC,MAAM,CACjB,cAAc,EACd,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAA;YACtB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAA;YAC3B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;QAC/B,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3F,CAAC,CAAC,CACH,CAAA;IAED;;;;;OAKG;IACH,MAAM,CAAU,mBAAmB,GAI/B,KAAK,CAAC,MAAM,CACd,cAAc,EACd,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,WAAW,CAAA;QAClC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAA;QACtB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAA;QAC3B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;IAC/B,CAAC,CAAC,CACH,CAAA;IAED,4BAA4B;IAC5B,MAAM,CAAU,QAAQ,GAAG,CACzB,IAAqB,EACrB,OAAyB,EACjB,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAEpC,uBAAuB;IACvB,MAAM,CAAU,GAAG,GAAG,CACpB,MAAmD,EACnD,OAA0B,EACT,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE1C,0BAA0B;IAC1B,MAAM,CAAU,MAAM,GAAG,CACvB,IAAqB,EACrB,OAAuB,EACN,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;;AAmB7C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,EACzB,IAAqB,EACrB,OAAuB,EACN,EAAE;IACnB,MAAM,KAAK,GAAG,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE;QACjD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IACF,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IACjC,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACjD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QAChE,CAAC;aAAM,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,KAAK,CAAC,aAAa,CAAC,CAAA;QACtB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACzD,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,UAAU,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IAC3D,OAAO,QAAQ,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;AAC1D,CAAC,CAAA;AAED,wDAAwD;AACxD,MAAM,IAAI,GAAG;IACX,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,aAAa,EAAE,CAAC;IAChB,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,CAAC;IACb,OAAO,EAAE,CAAC;IACV,WAAW,EAAE,GAAG;CACR,CAAA;AAEV,MAAM,aAAa,GAAG,CAAC,KAAc,EAAW,EAAE,CAChD,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;IAC1C,KAAqC,CAAC,IAAI,KAAK,aAAa,CAAA;AAE/D,MAAM,MAAM,GAAG,CAAC,KAAc,EAAsC,EAAE,CACpE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;IAC3C,OAAQ,KAAqC,CAAC,IAAI,KAAK,QAAQ,CAAA;AAEjE,MAAM,eAAe,GAAG,CAAC,KAAc,EAAyC,EAAE,CAChF,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;IAC3C,OAAQ,KAAwC,CAAC,OAAO,KAAK,QAAQ,CAAA;AAoBvE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,IAAqB,EACrB,OAAyB,EACjB,EAAE;IACV,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,OAAO,CAAA;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;IACxB,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,CAAC,CAAA;IAC3C,IAAI,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAClF,OAAO,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAA;IACzD,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,MAAM,CAAA;IAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;IAC5C,OAAO,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;AACvF,CAAC,CAAA;AAED,gFAAgF;AAChF,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,UAAkB,EAAU,EAAE;IACjE,IAAI,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,aAAa,CAAA;IACnD,IAAI,eAAe,CAAC,KAAK,CAAC;QAAE,OAAO,aAAa,CAAE,KAAmC,CAAC,OAAO,CAAC,CAAA;IAC9F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,MAAM,CAAA;IACtC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,iBAAiB;YACpB,OAAO,IAAI,CAAC,aAAa,CAAA;QAC3B,KAAK,mBAAmB;YACtB,OAAO,IAAI,CAAC,OAAO,CAAA;QACrB,KAAK,iBAAiB,CAAC;QACvB,sEAAsE;QACtE,uEAAuE;QACvE,iEAAiE;QACjE,KAAK,mBAAmB;YACtB,OAAO,IAAI,CAAC,OAAO,CAAA;QACrB,0EAA0E;QAC1E,qEAAqE;QACrE,4EAA4E;QAC5E,mEAAmE;QACnE,4EAA4E;QAC5E,8DAA8D;QAC9D,KAAK,cAAc;YACjB,OAAO,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAA;QACxD,KAAK,gBAAgB,CAAC;QACtB,KAAK,gBAAgB,CAAC;QACtB,KAAK,eAAe,CAAC;QACrB,KAAK,mBAAmB,CAAC;QACzB,KAAK,qBAAqB,CAAC;QAC3B,KAAK,aAAa,CAAC;QACnB,KAAK,kBAAkB,CAAC;QACxB,KAAK,YAAY,CAAC;QAClB,KAAK,cAAc,CAAC;QACpB,KAAK,YAAY,CAAC;QAClB,KAAK,cAAc,CAAC;QACpB,KAAK,cAAc,CAAC;QACpB,KAAK,oBAAoB,CAAC;QAC1B,KAAK,mBAAmB;YACtB,OAAO,IAAI,CAAC,UAAU,CAAA;QACxB,KAAK,aAAa;YAChB,OAAO,IAAI,CAAC,aAAa,CAAA;QAC3B;YACE,OAAO,IAAI,CAAC,MAAM,CAAA;IACtB,CAAC;AACH,CAAC,CAAA;AAMD,MAAM,aAAa,GAAG,CAAC,OAAe,EAAU,EAAE;IAChD,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC,OAAO,CAAA;QACrB,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC,OAAO,CAAA;QACrB;YACE,OAAO,IAAI,CAAC,UAAU,CAAA;IAC1B,CAAC;AACH,CAAC,CAAA;AA6BD,MAAM,eAAe,GAAG,CAAC,KAAc,EAAyB,EAAE;IAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC1C,MAAM,KAAK,GAAkB,EAAE,CAAA;IAC/B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,SAAS,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;YACrE,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE;YACrB,CAAC,CAAC,EAAE,CAAA;QACN,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,OAAO,EAAE,CAAC,CAAA;IACpC,CAAC;IACD,CAAC;QACC,MAAM,MAAM,GAAa,KAAK,CAAA;QAC9B,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;QAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC/B,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,EAAE,CAAC,CAAA;QACzD,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACvD,CAAC;YACD,KAAK,CAAC,IAAI,CACR,6FAA6F,CAC9F,CAAA;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,mBAAmB;IACnB,qBAAqB;IACrB,iBAAiB;IACjB,aAAa;IACb,kBAAkB;IAClB,iBAAiB;IACjB,mBAAmB;IACnB,YAAY;IACZ,cAAc;IACd,YAAY;IACZ,cAAc;IACd,cAAc;IACd,mBAAmB;IACnB,oBAAoB;IACpB,mBAAmB;CACpB,CAAC,CAAA;AAEF,MAAM,UAAU,GAAG,CAAC,KAAgC,EAAqB,EAAE,CACzE,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AAEhC,MAAM,QAAQ,GAAG,CAAC,KAAiB,EAAU,EAAE;IAC7C,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAC7D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAA;AACrB,CAAC,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,YAAY,GAAG,CAAC,KAA6B,EAAE,EAAE,CACrD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;IACvC,KAAK,CAAC,IAAI,CAAC,CAAA;AACb,CAAC,CAAC,CAAA;AAEJ,MAAM,kBAAkB,GAAG,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAA;AAEnE;;;;;;;;;;GAUG;AACH,MAAM,eAAe,GAAG,CAAC,OAAoC,EAAyB,EAAE;IACtF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACnC,MAAM,KAAK,GAAG;QACZ,GAAG,OAAO,CAAC,MAAM,8EAA8E;KAChG,CAAA;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,CAAA;QACxD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACtD,CAAC;QACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;QACzC,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACxF,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,cAAc,GAAG,KAAK,EAC1B,OAAmC,EACG,EAAE,CACxC,MAAM,CAAC,UAAU,CACf,CAAC,OAAO,KAAK,SAAS;IACpB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC;IAC1D,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAC5B,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAA8B,EAAE,CAAC,CAAC,CACzE,CACJ,CAAA;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,EACtB,MAAmD,EACnD,OAA0B,EACT,EAAE;IACnB,MAAM,KAAK,GAAG,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE;QACjD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE;QAC9C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpB,CAAC,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,OAAO,CAAA;IAC3C,MAAM,KAAK,GAAG,OAAO,EAAE,WAAW,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAE3D,8EAA8E;IAC9E,8EAA8E;IAC9E,gCAAgC;IAChC,IAAI,OAAmC,CAAA;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAC1B,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QAChC,OAAO,GAAG,KAAK,CAAA;QACf,OAAO,MAAM,CAAA;IACf,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,OAAO,CACZ,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACjF,CACF,CACF,CAAA;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QACxC,CAAC,CAAA;QACD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACzB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAU,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IACxD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,QAAQ;QAAE,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAEpE,IAAI,UAAU,GAAgC,EAAE,CAAA;IAChD,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QACjC,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACjD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5B,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YAChE,CAAC;iBAAM,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3C,KAAK,CAAC,aAAa,CAAC,CAAA;YACtB,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;YACjC,CAAC;QACH,CAAC;QACD,yEAAyE;QACzE,2EAA2E;QAC3E,wEAAwE;QACxE,kEAAkE;QAClE,UAAU,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAA;QAC1C,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,UAAU,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IAC7D,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9D,IAAI,CAAC,IAAI,CAAC,CAAA;IACV,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -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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"}
|
package/dist/services/Sui.d.ts
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
import type { BcsType } from "@mysten/bcs";
|
|
12
12
|
import type { SuiClientTypes } from "@mysten/sui/client";
|
|
13
13
|
import { Transaction } from "@mysten/sui/transactions";
|
|
14
|
-
import { Config, Context, DateTime, Effect, Layer, Option, Result, Schema, Stream } from "effect";
|
|
14
|
+
import { Config, Context, DateTime, Effect, Layer, Option, Result, type Schedule, Schema, Stream } from "effect";
|
|
15
15
|
import { BuildError, DecodeError, ExecutionFailed, NetworkMismatch, ObjectDeleted, ObjectNotFound, ObjectUnavailable, SimulationFailed, TransactionNotFound, TransportError } from "../domain/errors.ts";
|
|
16
16
|
import { Executed } from "../domain/executed.ts";
|
|
17
17
|
import { Balance, CoinType, Digest, DynamicField, DynamicFieldEntry, DynamicFieldName, ObjectId, Simulation, StructTag, SuiAddress, type SuiObject } from "../domain/schemas.ts";
|
|
@@ -126,6 +126,27 @@ export interface SuiService {
|
|
|
126
126
|
*
|
|
127
127
|
* Fails with: `ObjectNotFound`, `ObjectDeleted`, `ObjectUnavailable`,
|
|
128
128
|
* `DecodeError`, `TransportError`.
|
|
129
|
+
*
|
|
130
|
+
* @since 0.1.2
|
|
131
|
+
*/
|
|
132
|
+
readonly getObjectsStrict: {
|
|
133
|
+
<S>(ids: ReadonlyArray<ObjectId>, opts: {
|
|
134
|
+
readonly schema: Schema.Codec<S, Uint8Array>;
|
|
135
|
+
readonly expectedType?: string;
|
|
136
|
+
}): Effect.Effect<ReadonlyArray<SuiObject<S>>, BatchItemError | TransportError>;
|
|
137
|
+
(ids: ReadonlyArray<ObjectId>, opts?: {
|
|
138
|
+
readonly schema?: undefined;
|
|
139
|
+
readonly expectedType?: string;
|
|
140
|
+
}): Effect.Effect<ReadonlyArray<SuiObject<Uint8Array>>, BatchItemError | TransportError>;
|
|
141
|
+
};
|
|
142
|
+
/**
|
|
143
|
+
* {@link getObjectsStrict} under its 0.1.0 name.
|
|
144
|
+
*
|
|
145
|
+
* `getObjectsOrFail` reads, out of context, as though failing were the point
|
|
146
|
+
* — `getObjects(ids).orFail()` — rather than as the strictness of the read.
|
|
147
|
+
* The two are the same function.
|
|
148
|
+
*
|
|
149
|
+
* @deprecated Use `getObjectsStrict`. This alias stays for 0.1.x.
|
|
129
150
|
*/
|
|
130
151
|
readonly getObjectsOrFail: {
|
|
131
152
|
<S>(ids: ReadonlyArray<ObjectId>, opts: {
|
|
@@ -225,6 +246,26 @@ export interface SuiLayerOptions {
|
|
|
225
246
|
* network are regenerated, so set this when the program must pin one.
|
|
226
247
|
*/
|
|
227
248
|
readonly chainId?: string;
|
|
249
|
+
/**
|
|
250
|
+
* How to retry the one `getChainIdentifier` this layer makes, when it fails
|
|
251
|
+
* with a **retryable** `TransportError`.
|
|
252
|
+
*
|
|
253
|
+
* It matters more than one round trip usually would, because of what holds
|
|
254
|
+
* the result: a `ManagedRuntime` — which is how a browser app, a Worker or a
|
|
255
|
+
* Durable Object keeps one runtime per isolate — **memoizes the layer build,
|
|
256
|
+
* failure included, for its whole lifetime**. One unlucky request at boot and
|
|
257
|
+
* every later use of that runtime fails with the same stale
|
|
258
|
+
* `TransportError`, until something disposes it. A short schedule here is the
|
|
259
|
+
* cheap half of the cure; disposing the runtime when its build failed is the
|
|
260
|
+
* other half (see the guide's "Application consumers" section), and
|
|
261
|
+
* `layerNoDepsPinned` avoids the read altogether when the chain id is already
|
|
262
|
+
* known.
|
|
263
|
+
*
|
|
264
|
+
* Unset, the read is made once, as it always was.
|
|
265
|
+
*
|
|
266
|
+
* @since 0.1.2
|
|
267
|
+
*/
|
|
268
|
+
readonly retry?: Schedule.Schedule<unknown, TransportError>;
|
|
228
269
|
}
|
|
229
270
|
declare const Sui_base: Context.ServiceClass<Sui, "@unconfirmed/sui-effect/Sui", SuiService>;
|
|
230
271
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sui.d.ts","sourceRoot":"","sources":["../../src/services/Sui.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Sui.d.ts","sourceRoot":"","sources":["../../src/services/Sui.ts"],"names":[],"mappings":"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"}
|
package/dist/services/Sui.js
CHANGED
|
@@ -61,6 +61,7 @@ const makeSui = (core, chainId, locks) => {
|
|
|
61
61
|
return yield* new DecodeError({
|
|
62
62
|
objectId: envelope.objectId,
|
|
63
63
|
expectedType: expected,
|
|
64
|
+
kind: "type",
|
|
64
65
|
issue: `object ${envelope.objectId} has type ${envelope.type}`
|
|
65
66
|
});
|
|
66
67
|
}
|
|
@@ -158,7 +159,7 @@ const makeSui = (core, chainId, locks) => {
|
|
|
158
159
|
}
|
|
159
160
|
return results;
|
|
160
161
|
});
|
|
161
|
-
const
|
|
162
|
+
const getObjectsStrict = Effect.fn("Sui.getObjectsStrict")(function* (ids, opts) {
|
|
162
163
|
const results = yield* getObjects(ids, opts);
|
|
163
164
|
const objects = [];
|
|
164
165
|
for (const result of results) {
|
|
@@ -246,12 +247,16 @@ const makeSui = (core, chainId, locks) => {
|
|
|
246
247
|
const index = opts?.command ?? simulation.commandResults.length - 1;
|
|
247
248
|
const command = simulation.commandResults[index];
|
|
248
249
|
if (command === undefined) {
|
|
249
|
-
return yield* new DecodeError({
|
|
250
|
+
return yield* new DecodeError({
|
|
251
|
+
kind: "shape",
|
|
252
|
+
issue: `the simulation has no command ${index}`
|
|
253
|
+
});
|
|
250
254
|
}
|
|
251
255
|
const position = opts?.result ?? 0;
|
|
252
256
|
const value = command.returnValues[position];
|
|
253
257
|
if (value === undefined) {
|
|
254
258
|
return yield* new DecodeError({
|
|
259
|
+
kind: "shape",
|
|
255
260
|
issue: `command ${index} has no return value ${position}`
|
|
256
261
|
});
|
|
257
262
|
}
|
|
@@ -295,6 +300,7 @@ const makeSui = (core, chainId, locks) => {
|
|
|
295
300
|
.getObject({ objectId: SUI_CLOCK_OBJECT_ID, include: OBJECT_INCLUDE })
|
|
296
301
|
.pipe(Effect.flatMap(({ object }) => decodeContent(clockCodec, object.content)), Effect.flatMap((clock) => Effect.fromOption(DateTime.make(Number(clock.timestamp_ms))).pipe(Effect.mapError(() => new DecodeError({
|
|
297
302
|
expectedType: CLOCK_TYPE,
|
|
303
|
+
kind: "shape",
|
|
298
304
|
issue: `the clock reported ${clock.timestamp_ms}, which is not a time`
|
|
299
305
|
})))), Effect.catchTag(["ObjectNotFound", "ObjectDeleted", "ObjectUnavailable", "DecodeError"], (error) => Effect.fail(new TransportError({
|
|
300
306
|
method: "chainTime",
|
|
@@ -309,7 +315,9 @@ const makeSui = (core, chainId, locks) => {
|
|
|
309
315
|
getObject: getObject,
|
|
310
316
|
getObjectOption: getObjectOption,
|
|
311
317
|
getObjects: getObjects,
|
|
312
|
-
|
|
318
|
+
getObjectsStrict: getObjectsStrict,
|
|
319
|
+
// The same function under its 0.1.0 name, so a 0.1.1 extension compiles.
|
|
320
|
+
getObjectsOrFail: getObjectsStrict,
|
|
313
321
|
getBalance,
|
|
314
322
|
getDynamicFieldOption,
|
|
315
323
|
getTransaction,
|
|
@@ -351,7 +359,13 @@ export class Sui extends Context.Service()("@unconfirmed/sui-effect/Sui") {
|
|
|
351
359
|
*/
|
|
352
360
|
static layerNoDepsWith = (options) => Layer.effect(Sui, Effect.gen(function* () {
|
|
353
361
|
const core = yield* SuiCore;
|
|
354
|
-
const
|
|
362
|
+
const read = core.getChainIdentifier();
|
|
363
|
+
const { chainIdentifier } = yield* (options.retry === undefined
|
|
364
|
+
? read
|
|
365
|
+
: read.pipe(Effect.retry({
|
|
366
|
+
schedule: options.retry,
|
|
367
|
+
while: (error) => error.retryable
|
|
368
|
+
})));
|
|
355
369
|
const expected = options.chainId ?? KNOWN_CHAIN_IDS[core.network];
|
|
356
370
|
if (expected !== undefined && expected !== chainIdentifier) {
|
|
357
371
|
return yield* new NetworkMismatch({ expected, actual: chainIdentifier });
|