@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.
- package/LICENSE +201 -0
- package/README.md +23 -0
- package/dist/accounts.d.ts +12 -0
- package/dist/accounts.d.ts.map +1 -0
- package/dist/accounts.js +38 -0
- package/dist/accounts.js.map +1 -0
- package/dist/connection.d.ts +121 -0
- package/dist/connection.d.ts.map +1 -0
- package/dist/connection.js +1064 -0
- package/dist/connection.js.map +1 -0
- package/dist/devnode-backend.d.ts +53 -0
- package/dist/devnode-backend.d.ts.map +1 -0
- package/dist/devnode-backend.js +121 -0
- package/dist/devnode-backend.js.map +1 -0
- package/dist/devnode-manager.d.ts +130 -0
- package/dist/devnode-manager.d.ts.map +1 -0
- package/dist/devnode-manager.js +546 -0
- package/dist/devnode-manager.js.map +1 -0
- package/dist/execution-key-cache.d.ts +71 -0
- package/dist/execution-key-cache.d.ts.map +1 -0
- package/dist/execution-key-cache.js +286 -0
- package/dist/execution-key-cache.js.map +1 -0
- package/dist/file-io.d.ts +2 -0
- package/dist/file-io.d.ts.map +1 -0
- package/dist/file-io.js +9 -0
- package/dist/file-io.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/named-account-manager.d.ts +40 -0
- package/dist/named-account-manager.d.ts.map +1 -0
- package/dist/named-account-manager.js +116 -0
- package/dist/named-account-manager.js.map +1 -0
- package/dist/network-manager.d.ts +36 -0
- package/dist/network-manager.d.ts.map +1 -0
- package/dist/network-manager.js +226 -0
- package/dist/network-manager.js.map +1 -0
- package/dist/sdk-adapter.d.ts +271 -0
- package/dist/sdk-adapter.d.ts.map +1 -0
- package/dist/sdk-adapter.js +997 -0
- package/dist/sdk-adapter.js.map +1 -0
- package/dist/sdk-diagnostics.d.ts +113 -0
- package/dist/sdk-diagnostics.d.ts.map +1 -0
- package/dist/sdk-diagnostics.js +241 -0
- package/dist/sdk-diagnostics.js.map +1 -0
- package/dist/transition-selector.d.ts +15 -0
- package/dist/transition-selector.d.ts.map +1 -0
- package/dist/transition-selector.js +45 -0
- package/dist/transition-selector.js.map +1 -0
- package/dist/types.d.ts +484 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +129 -0
- package/dist/types.js.map +1 -0
- 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"}
|