@lionden/network 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +23 -0
  3. package/dist/accounts.d.ts +12 -0
  4. package/dist/accounts.d.ts.map +1 -0
  5. package/dist/accounts.js +38 -0
  6. package/dist/accounts.js.map +1 -0
  7. package/dist/connection.d.ts +121 -0
  8. package/dist/connection.d.ts.map +1 -0
  9. package/dist/connection.js +1064 -0
  10. package/dist/connection.js.map +1 -0
  11. package/dist/devnode-backend.d.ts +53 -0
  12. package/dist/devnode-backend.d.ts.map +1 -0
  13. package/dist/devnode-backend.js +121 -0
  14. package/dist/devnode-backend.js.map +1 -0
  15. package/dist/devnode-manager.d.ts +130 -0
  16. package/dist/devnode-manager.d.ts.map +1 -0
  17. package/dist/devnode-manager.js +546 -0
  18. package/dist/devnode-manager.js.map +1 -0
  19. package/dist/execution-key-cache.d.ts +71 -0
  20. package/dist/execution-key-cache.d.ts.map +1 -0
  21. package/dist/execution-key-cache.js +286 -0
  22. package/dist/execution-key-cache.js.map +1 -0
  23. package/dist/file-io.d.ts +2 -0
  24. package/dist/file-io.d.ts.map +1 -0
  25. package/dist/file-io.js +9 -0
  26. package/dist/file-io.js.map +1 -0
  27. package/dist/index.d.ts +12 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +11 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/named-account-manager.d.ts +40 -0
  32. package/dist/named-account-manager.d.ts.map +1 -0
  33. package/dist/named-account-manager.js +116 -0
  34. package/dist/named-account-manager.js.map +1 -0
  35. package/dist/network-manager.d.ts +36 -0
  36. package/dist/network-manager.d.ts.map +1 -0
  37. package/dist/network-manager.js +226 -0
  38. package/dist/network-manager.js.map +1 -0
  39. package/dist/sdk-adapter.d.ts +271 -0
  40. package/dist/sdk-adapter.d.ts.map +1 -0
  41. package/dist/sdk-adapter.js +997 -0
  42. package/dist/sdk-adapter.js.map +1 -0
  43. package/dist/sdk-diagnostics.d.ts +113 -0
  44. package/dist/sdk-diagnostics.d.ts.map +1 -0
  45. package/dist/sdk-diagnostics.js +241 -0
  46. package/dist/sdk-diagnostics.js.map +1 -0
  47. package/dist/transition-selector.d.ts +15 -0
  48. package/dist/transition-selector.d.ts.map +1 -0
  49. package/dist/transition-selector.js +45 -0
  50. package/dist/transition-selector.js.map +1 -0
  51. package/dist/types.d.ts +484 -0
  52. package/dist/types.d.ts.map +1 -0
  53. package/dist/types.js +129 -0
  54. package/dist/types.js.map +1 -0
  55. package/package.json +35 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-adapter.js","sourceRoot":"","sources":["../src/sdk-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * SDK transport diagnostics — capture the underlying HTTP state-query failures
3
+ * that the Provable SDK swallows behind opaque WASM errors.
4
+ *
5
+ * When the SDK proves an on-chain transaction (`pm.execute(...)`), its WASM
6
+ * invokes JS state-query callbacks that call `AleoNetworkClient.getStatePaths()`
7
+ * → `GET /<network>/statePaths?commitments=<cm>` through LionDen's guarded
8
+ * transport. When the devnode answers `500 Commitment '<cm>' does not exist`,
9
+ * the SDK throws, the rejection crosses the WASM→JS boundary, and wasm-bindgen
10
+ * flattens it to `"JS callback Promise rejected:"` (empty suffix). The real
11
+ * cause — the failing HTTP state query and its body — is otherwise invisible.
12
+ *
13
+ * This module gives the transport a place to record those failures
14
+ * (`SdkDiagnostics`, a bounded ring buffer) and a wrapper (`captureSdkCall`)
15
+ * around each SDK build/prove call site that drains the sink on throw and
16
+ * re-throws a typed, descriptive {@link SdkExecutionError}.
17
+ */
18
+ /**
19
+ * One transport-level failure observed during an SDK build/prove call.
20
+ * Either an HTTP non-OK response (status/statusText/bodyExcerpt populated) or a
21
+ * thrown fetch / host-block (error populated).
22
+ */
23
+ export interface SdkTransportFailure {
24
+ /** HTTP method of the failed request (uppercased; defaults to GET). */
25
+ readonly method: string;
26
+ /** Full request URL. */
27
+ readonly url: string;
28
+ /** HTTP status code, when the failure was a non-OK response. */
29
+ readonly status?: number;
30
+ /** HTTP status text, when the failure was a non-OK response. */
31
+ readonly statusText?: string;
32
+ /** Response body, truncated to 512 chars, when the failure was a non-OK response. */
33
+ readonly bodyExcerpt?: string;
34
+ /** Error message, when the failure was a thrown fetch / egress block. */
35
+ readonly error?: string;
36
+ /** `Date.now()` timestamp when the failure was recorded. */
37
+ readonly at: number;
38
+ }
39
+ /**
40
+ * Bounded ring buffer of transport failures, owned 1:1 by an SDK objects
41
+ * bundle. The guarded network transport writes into it; `captureSdkCall`
42
+ * clears it at entry and snapshots it on throw.
43
+ *
44
+ * Because the sink is shared by every transport call on its bundle (and public
45
+ * `execute()` calls are not otherwise serialized), `runExclusive` serializes
46
+ * overlapping `captureSdkCall` cycles so the clear-then-drain window is atomic
47
+ * and each call's failures are attributed to the right call.
48
+ */
49
+ export declare class SdkDiagnostics {
50
+ private readonly failures;
51
+ /** Tail of the per-sink serialization chain (a promise mutex). */
52
+ private lock;
53
+ /** Record a transport failure, evicting the oldest once the cap is exceeded. */
54
+ record(failure: SdkTransportFailure): void;
55
+ /** Drop all recorded failures. */
56
+ clear(): void;
57
+ /** Immutable copy of the currently-recorded failures, oldest first. */
58
+ snapshot(): readonly SdkTransportFailure[];
59
+ /**
60
+ * Run `fn` with exclusive access to this sink — overlapping calls queue and
61
+ * run one at a time, so a clear-then-drain cycle is never interleaved with
62
+ * another call's. Not reentrant on the same sink (no caller nests it).
63
+ */
64
+ runExclusive<T>(fn: () => Promise<T>): Promise<T>;
65
+ }
66
+ /** Identifies the SDK call being wrapped so errors can name the operation. */
67
+ export interface SdkCallContext {
68
+ readonly operation: "execute" | "local" | "deploy" | "upgrade";
69
+ readonly programId: string;
70
+ readonly transitionName?: string;
71
+ }
72
+ /**
73
+ * Run an SDK build/prove call, capturing transport-level failures so an opaque
74
+ * throw can be enriched into a descriptive {@link SdkExecutionError}.
75
+ *
76
+ * Runs under the sink's `runExclusive` mutex so overlapping calls don't cross
77
+ * failures. Clears the sink at entry (so only failures from this call are
78
+ * attributed), then awaits `fn`. On throw, snapshots the sink and:
79
+ * - **enriches** (wraps in `SdkExecutionError`) when EITHER a *state-query*
80
+ * failure was captured ({@link pickRelevantFailure} — the prove-path
81
+ * `/statePaths` / `/stateRoot` CallbackQuery) OR the error is an opaque
82
+ * WASM abort ({@link isOpaqueWasmError});
83
+ * - otherwise **re-throws unchanged** — a broadcast (`/transaction/broadcast`)
84
+ * or other non-state-query failure with a descriptive error is left alone,
85
+ * an already-descriptive error is not degraded, and an existing
86
+ * `SdkExecutionError` is never double-wrapped.
87
+ */
88
+ export declare function captureSdkCall<T>(diagnostics: SdkDiagnostics, context: SdkCallContext, fn: () => Promise<T>): Promise<T>;
89
+ /**
90
+ * Temporarily suppress the reviewed SDK edition/amendment fallback console
91
+ * message while a specific SDK call runs. The patch is process-global but
92
+ * lifetime-scoped: overlapping wrapped calls share one installed wrapper, and
93
+ * the original console methods are restored after the last wrapped call exits.
94
+ */
95
+ export declare function withSuppressedSdkConsoleNoise<T>(fn: () => Promise<T>): Promise<T>;
96
+ /**
97
+ * Choose the state-query failure most likely to be the prove-path root cause:
98
+ * the last `/statePaths` failure (the inclusion-proof query), else the last
99
+ * `/stateRoot` failure. Returns `undefined` when no state-query failure was
100
+ * captured — deliberately NOT falling back to an arbitrary last entry, so a
101
+ * `/transaction/broadcast` or other non-state-query failure is never mislabeled
102
+ * as a build/prove state query.
103
+ */
104
+ export declare function pickRelevantFailure(failures: readonly SdkTransportFailure[]): SdkTransportFailure | undefined;
105
+ /**
106
+ * Whether `error` is an opaque WASM abort with no usable cause of its own —
107
+ * the wasm-bindgen `"JS callback Promise rejected:"` flattening, a
108
+ * `RuntimeError: unreachable` trap, or a non-`Error` thrown value with no
109
+ * meaningful message. These are the cases worth enriching even when the sink
110
+ * happens to be empty.
111
+ */
112
+ export declare function isOpaqueWasmError(error: unknown): boolean;
113
+ //# sourceMappingURL=sdk-diagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-diagnostics.d.ts","sourceRoot":"","sources":["../src/sdk-diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,wBAAwB;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,qFAAqF;IACrF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAYD;;;;;;;;;GASG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IACtD,kEAAkE;IAClE,OAAO,CAAC,IAAI,CAAoC;IAEhD,gFAAgF;IAChF,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAO1C,kCAAkC;IAClC,KAAK,IAAI,IAAI;IAIb,uEAAuE;IACvE,QAAQ,IAAI,SAAS,mBAAmB,EAAE;IAI1C;;;;OAIG;IACG,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAaxD;AAED,8EAA8E;AAC9E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,WAAW,EAAE,cAAc,EAC3B,OAAO,EAAE,cAAc,EACvB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAoCZ;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAOvF;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GACvC,mBAAmB,GAAG,SAAS,CAOjC;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CASzD"}
@@ -0,0 +1,241 @@
1
+ /**
2
+ * SDK transport diagnostics — capture the underlying HTTP state-query failures
3
+ * that the Provable SDK swallows behind opaque WASM errors.
4
+ *
5
+ * When the SDK proves an on-chain transaction (`pm.execute(...)`), its WASM
6
+ * invokes JS state-query callbacks that call `AleoNetworkClient.getStatePaths()`
7
+ * → `GET /<network>/statePaths?commitments=<cm>` through LionDen's guarded
8
+ * transport. When the devnode answers `500 Commitment '<cm>' does not exist`,
9
+ * the SDK throws, the rejection crosses the WASM→JS boundary, and wasm-bindgen
10
+ * flattens it to `"JS callback Promise rejected:"` (empty suffix). The real
11
+ * cause — the failing HTTP state query and its body — is otherwise invisible.
12
+ *
13
+ * This module gives the transport a place to record those failures
14
+ * (`SdkDiagnostics`, a bounded ring buffer) and a wrapper (`captureSdkCall`)
15
+ * around each SDK build/prove call site that drains the sink on throw and
16
+ * re-throws a typed, descriptive {@link SdkExecutionError}.
17
+ */
18
+ import { LocalExecutionWasmTrapError, SdkExecutionError } from "./types.js";
19
+ const SDK_DIAGNOSTICS_RING_CAP = 16;
20
+ const sdkEditionFallbackConsolePattern = new RegExp(`^Error finding edition/amendment for [A-Za-z][A-Za-z0-9_]*\\.aleo\\. Network response: '.+'\\. Defaulting to edition [0-9]+, amendment 0\\.$`);
21
+ let activeConsoleSuppressionCount = 0;
22
+ let originalConsoleMethods = null;
23
+ /**
24
+ * Bounded ring buffer of transport failures, owned 1:1 by an SDK objects
25
+ * bundle. The guarded network transport writes into it; `captureSdkCall`
26
+ * clears it at entry and snapshots it on throw.
27
+ *
28
+ * Because the sink is shared by every transport call on its bundle (and public
29
+ * `execute()` calls are not otherwise serialized), `runExclusive` serializes
30
+ * overlapping `captureSdkCall` cycles so the clear-then-drain window is atomic
31
+ * and each call's failures are attributed to the right call.
32
+ */
33
+ export class SdkDiagnostics {
34
+ failures = [];
35
+ /** Tail of the per-sink serialization chain (a promise mutex). */
36
+ lock = Promise.resolve();
37
+ /** Record a transport failure, evicting the oldest once the cap is exceeded. */
38
+ record(failure) {
39
+ this.failures.push(failure);
40
+ if (this.failures.length > SDK_DIAGNOSTICS_RING_CAP) {
41
+ this.failures.shift();
42
+ }
43
+ }
44
+ /** Drop all recorded failures. */
45
+ clear() {
46
+ this.failures.length = 0;
47
+ }
48
+ /** Immutable copy of the currently-recorded failures, oldest first. */
49
+ snapshot() {
50
+ return [...this.failures];
51
+ }
52
+ /**
53
+ * Run `fn` with exclusive access to this sink — overlapping calls queue and
54
+ * run one at a time, so a clear-then-drain cycle is never interleaved with
55
+ * another call's. Not reentrant on the same sink (no caller nests it).
56
+ */
57
+ async runExclusive(fn) {
58
+ const previous = this.lock;
59
+ let release;
60
+ this.lock = new Promise((resolve) => {
61
+ release = resolve;
62
+ });
63
+ await previous;
64
+ try {
65
+ return await fn();
66
+ }
67
+ finally {
68
+ release();
69
+ }
70
+ }
71
+ }
72
+ /**
73
+ * Run an SDK build/prove call, capturing transport-level failures so an opaque
74
+ * throw can be enriched into a descriptive {@link SdkExecutionError}.
75
+ *
76
+ * Runs under the sink's `runExclusive` mutex so overlapping calls don't cross
77
+ * failures. Clears the sink at entry (so only failures from this call are
78
+ * attributed), then awaits `fn`. On throw, snapshots the sink and:
79
+ * - **enriches** (wraps in `SdkExecutionError`) when EITHER a *state-query*
80
+ * failure was captured ({@link pickRelevantFailure} — the prove-path
81
+ * `/statePaths` / `/stateRoot` CallbackQuery) OR the error is an opaque
82
+ * WASM abort ({@link isOpaqueWasmError});
83
+ * - otherwise **re-throws unchanged** — a broadcast (`/transaction/broadcast`)
84
+ * or other non-state-query failure with a descriptive error is left alone,
85
+ * an already-descriptive error is not degraded, and an existing
86
+ * `SdkExecutionError` is never double-wrapped.
87
+ */
88
+ export async function captureSdkCall(diagnostics, context, fn) {
89
+ return diagnostics.runExclusive(async () => {
90
+ diagnostics.clear();
91
+ return withSuppressedSdkConsoleNoise(async () => {
92
+ try {
93
+ return await fn();
94
+ }
95
+ catch (error) {
96
+ // Never double-wrap a previously-enriched error (defensive against nesting).
97
+ if (error instanceof SdkExecutionError) {
98
+ throw error;
99
+ }
100
+ // Pass a local-execution WASM trap through untouched. Its message contains
101
+ // "unreachable", which isOpaqueWasmError would otherwise treat as an opaque
102
+ // abort and re-wrap into a generic SdkExecutionError — burying the trap
103
+ // class and message that local trap-capture callers assert on.
104
+ if (error instanceof LocalExecutionWasmTrapError) {
105
+ throw error;
106
+ }
107
+ const failures = diagnostics.snapshot();
108
+ const relevant = pickRelevantFailure(failures);
109
+ // Enrich only for the state-query (prove callback) failures this feature
110
+ // exists to surface, or for an opaque WASM abort. A broadcast/other
111
+ // failure with a descriptive error path passes through untouched.
112
+ if (relevant === undefined && !isOpaqueWasmError(error)) {
113
+ throw error;
114
+ }
115
+ throw new SdkExecutionError(buildSdkExecutionMessage(context, relevant, error), {
116
+ operation: context.operation,
117
+ programId: context.programId,
118
+ transitionName: context.transitionName,
119
+ diagnostics: failures,
120
+ cause: error,
121
+ });
122
+ }
123
+ });
124
+ });
125
+ }
126
+ /**
127
+ * Temporarily suppress the reviewed SDK edition/amendment fallback console
128
+ * message while a specific SDK call runs. The patch is process-global but
129
+ * lifetime-scoped: overlapping wrapped calls share one installed wrapper, and
130
+ * the original console methods are restored after the last wrapped call exits.
131
+ */
132
+ export async function withSuppressedSdkConsoleNoise(fn) {
133
+ installSdkConsoleSuppression();
134
+ try {
135
+ return await fn();
136
+ }
137
+ finally {
138
+ uninstallSdkConsoleSuppression();
139
+ }
140
+ }
141
+ /**
142
+ * Choose the state-query failure most likely to be the prove-path root cause:
143
+ * the last `/statePaths` failure (the inclusion-proof query), else the last
144
+ * `/stateRoot` failure. Returns `undefined` when no state-query failure was
145
+ * captured — deliberately NOT falling back to an arbitrary last entry, so a
146
+ * `/transaction/broadcast` or other non-state-query failure is never mislabeled
147
+ * as a build/prove state query.
148
+ */
149
+ export function pickRelevantFailure(failures) {
150
+ for (const needle of ["/statePaths", "/stateRoot"]) {
151
+ for (let i = failures.length - 1; i >= 0; i--) {
152
+ if (failures[i].url.includes(needle))
153
+ return failures[i];
154
+ }
155
+ }
156
+ return undefined;
157
+ }
158
+ /**
159
+ * Whether `error` is an opaque WASM abort with no usable cause of its own —
160
+ * the wasm-bindgen `"JS callback Promise rejected:"` flattening, a
161
+ * `RuntimeError: unreachable` trap, or a non-`Error` thrown value with no
162
+ * meaningful message. These are the cases worth enriching even when the sink
163
+ * happens to be empty.
164
+ */
165
+ export function isOpaqueWasmError(error) {
166
+ if (error instanceof Error) {
167
+ const message = error.message ?? "";
168
+ return message.includes("JS callback Promise rejected") || isRuntimeUnreachableTrap(error);
169
+ }
170
+ // Non-Error thrown value (raw WASM aborts often throw these). Treat as opaque
171
+ // when it carries no usable message string.
172
+ const message = errorMessage(error).trim();
173
+ return message.length === 0 || message === "[object Object]";
174
+ }
175
+ function isRuntimeUnreachableTrap(error) {
176
+ if (error instanceof WebAssembly.RuntimeError) {
177
+ return error.message === "unreachable";
178
+ }
179
+ return error.name === "RuntimeError" && error.message === "unreachable";
180
+ }
181
+ function buildSdkExecutionMessage(context, failure, error) {
182
+ const subject = context.transitionName
183
+ ? `${context.programId}/${context.transitionName}`
184
+ : context.programId;
185
+ const parts = [`${subject} ${context.operation} failed during SDK build/prove.`];
186
+ if (failure === undefined) {
187
+ parts.push("WASM aborted without a descriptive error and no state-query failure was recorded.");
188
+ }
189
+ else if (failure.status !== undefined) {
190
+ const statusText = failure.statusText ? ` ${failure.statusText}` : "";
191
+ const body = failure.bodyExcerpt ? `: ${failure.bodyExcerpt}` : "";
192
+ parts.push(`State query ${failure.method} ${failure.url} -> ${failure.status}${statusText}${body}.`);
193
+ }
194
+ else {
195
+ parts.push(`State query ${failure.method} ${failure.url} failed: ${failure.error ?? "unknown error"}.`);
196
+ }
197
+ parts.push(`Cause: ${errorMessage(error)}`);
198
+ return parts.join(" ");
199
+ }
200
+ function installSdkConsoleSuppression() {
201
+ if (activeConsoleSuppressionCount === 0) {
202
+ originalConsoleMethods = {
203
+ log: console.log,
204
+ warn: console.warn,
205
+ error: console.error,
206
+ };
207
+ console.log = makeFilteredConsoleMethod("log");
208
+ console.warn = makeFilteredConsoleMethod("warn");
209
+ console.error = makeFilteredConsoleMethod("error");
210
+ }
211
+ activeConsoleSuppressionCount += 1;
212
+ }
213
+ function uninstallSdkConsoleSuppression() {
214
+ activeConsoleSuppressionCount -= 1;
215
+ if (activeConsoleSuppressionCount > 0)
216
+ return;
217
+ activeConsoleSuppressionCount = 0;
218
+ if (originalConsoleMethods) {
219
+ console.log = originalConsoleMethods.log;
220
+ console.warn = originalConsoleMethods.warn;
221
+ console.error = originalConsoleMethods.error;
222
+ originalConsoleMethods = null;
223
+ }
224
+ }
225
+ function makeFilteredConsoleMethod(method) {
226
+ return (...args) => {
227
+ if (isSuppressedSdkConsoleNoise(args))
228
+ return;
229
+ Reflect.apply(originalConsoleMethods[method], console, args);
230
+ };
231
+ }
232
+ function isSuppressedSdkConsoleNoise(args) {
233
+ return (args.length === 1 &&
234
+ typeof args[0] === "string" &&
235
+ sdkEditionFallbackConsolePattern.test(args[0]));
236
+ }
237
+ /** One-line error-to-string helper (mirrors the one in connection.ts). */
238
+ function errorMessage(error) {
239
+ return error instanceof Error ? error.message : String(error);
240
+ }
241
+ //# sourceMappingURL=sdk-diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-diagnostics.js","sourceRoot":"","sources":["../src/sdk-diagnostics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { ConfirmedTransitionRecord } from "./types.js";
2
+ /**
3
+ * Pick the single transition matching `(programId, transitionName)` from a
4
+ * confirmed transaction's `transitions[]`. Throws `TransitionSelectionError`
5
+ * on zero matches and on multiple matches.
6
+ *
7
+ * Reentrant or recursive flows produce multiple matches; the error message
8
+ * directs callers to opt out of the default await with
9
+ * `{ awaitConfirmation: false }` and inspect transitions directly via
10
+ * `connection.waitForConfirmation(txId)`. Pass `txId` so the error can quote
11
+ * the broadcast id — without it, `execute({ awaitConfirmation: true })`
12
+ * callers lose the handle they need to recover the confirmed transaction.
13
+ */
14
+ export declare function selectMatchingTransition(programId: string, transitionName: string, transitions: readonly ConfirmedTransitionRecord[], txId?: string): ConfirmedTransitionRecord;
15
+ //# sourceMappingURL=transition-selector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transition-selector.d.ts","sourceRoot":"","sources":["../src/transition-selector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAQ5D;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,SAAS,yBAAyB,EAAE,EACjD,IAAI,CAAC,EAAE,MAAM,GACZ,yBAAyB,CAmC3B"}
@@ -0,0 +1,45 @@
1
+ import { TransitionSelectionError } from "./types.js";
2
+ // TODO(unify): converge with BaseContract.selectAcceptedTransition in
3
+ // packages/leo-compiler/src/codegen/contract-wrapper.ts. The generated
4
+ // template inlines an equivalent guard; once we regenerate typechain
5
+ // goldens we can have the template import this helper directly.
6
+ /**
7
+ * Pick the single transition matching `(programId, transitionName)` from a
8
+ * confirmed transaction's `transitions[]`. Throws `TransitionSelectionError`
9
+ * on zero matches and on multiple matches.
10
+ *
11
+ * Reentrant or recursive flows produce multiple matches; the error message
12
+ * directs callers to opt out of the default await with
13
+ * `{ awaitConfirmation: false }` and inspect transitions directly via
14
+ * `connection.waitForConfirmation(txId)`. Pass `txId` so the error can quote
15
+ * the broadcast id — without it, `execute({ awaitConfirmation: true })`
16
+ * callers lose the handle they need to recover the confirmed transaction.
17
+ */
18
+ export function selectMatchingTransition(programId, transitionName, transitions, txId) {
19
+ const matches = transitions.filter((t) => t.programId === programId && t.transitionName === transitionName);
20
+ const available = transitions.map((t) => `${t.programId}/${t.transitionName}`);
21
+ const txIdSuffix = txId === undefined ? "" : ` (txId ${txId})`;
22
+ if (matches.length === 0) {
23
+ throw new TransitionSelectionError(`Confirmed transaction${txIdSuffix} did not contain a matching transition for ${programId}/${transitionName}. Available: ${available.join(", ") || "(none)"}.`, {
24
+ programId,
25
+ transitionName,
26
+ matchCount: 0,
27
+ availableTransitions: available,
28
+ ...(txId === undefined ? {} : { txId }),
29
+ });
30
+ }
31
+ if (matches.length > 1) {
32
+ const recoverHint = txId === undefined
33
+ ? "call connection.waitForConfirmation(txId) directly to inspect all transitions"
34
+ : `call connection.waitForConfirmation("${txId}") directly to inspect all transitions`;
35
+ throw new TransitionSelectionError(`Confirmed transaction${txIdSuffix} contained ${matches.length} transitions matching ${programId}/${transitionName}. Cannot pick outputs unambiguously. For reentrant or recursive flows, pass { awaitConfirmation: false } to execute() and ${recoverHint}.`, {
36
+ programId,
37
+ transitionName,
38
+ matchCount: matches.length,
39
+ availableTransitions: available,
40
+ ...(txId === undefined ? {} : { txId }),
41
+ });
42
+ }
43
+ return matches[0];
44
+ }
45
+ //# sourceMappingURL=transition-selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transition-selector.js","sourceRoot":"","sources":["../src/transition-selector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD,sEAAsE;AACtE,uEAAuE;AACvE,qEAAqE;AACrE,gEAAgE;AAEhE;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CACtC,SAAiB,EACjB,cAAsB,EACtB,WAAiD,EACjD,IAAa;IAEb,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,cAAc,KAAK,cAAc,CACxE,CAAC;IACF,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;IAC/E,MAAM,UAAU,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC;IAC/D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,wBAAwB,CAChC,wBAAwB,UAAU,8CAA8C,SAAS,IAAI,cAAc,gBAAgB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,GAAG,EAC9J;YACE,SAAS;YACT,cAAc;YACd,UAAU,EAAE,CAAC;YACb,oBAAoB,EAAE,SAAS;YAC/B,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;SACxC,CACF,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,WAAW,GACf,IAAI,KAAK,SAAS;YAChB,CAAC,CAAC,+EAA+E;YACjF,CAAC,CAAC,wCAAwC,IAAI,wCAAwC,CAAC;QAC3F,MAAM,IAAI,wBAAwB,CAChC,wBAAwB,UAAU,cAAc,OAAO,CAAC,MAAM,yBAAyB,SAAS,IAAI,cAAc,6HAA6H,WAAW,GAAG,EAC7P;YACE,SAAS;YACT,cAAc;YACd,UAAU,EAAE,OAAO,CAAC,MAAM;YAC1B,oBAAoB,EAAE,SAAS;YAC/B,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;SACxC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC;AACrB,CAAC"}