@usesigil/kit 0.4.0 → 0.5.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/dist/dashboard/discover.d.ts.map +1 -1
- package/dist/dashboard/discover.js +10 -1
- package/dist/dashboard/discover.js.map +1 -1
- package/dist/dashboard/errors.d.ts +34 -0
- package/dist/dashboard/errors.d.ts.map +1 -1
- package/dist/dashboard/errors.js +71 -0
- package/dist/dashboard/errors.js.map +1 -1
- package/dist/dashboard/mutations.d.ts.map +1 -1
- package/dist/dashboard/mutations.js +8 -1
- package/dist/dashboard/mutations.js.map +1 -1
- package/dist/dashboard/reads.d.ts.map +1 -1
- package/dist/dashboard/reads.js +20 -27
- package/dist/dashboard/reads.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/network-errors.d.ts +107 -0
- package/dist/network-errors.d.ts.map +1 -0
- package/dist/network-errors.js +357 -0
- package/dist/network-errors.js.map +1 -0
- package/dist/priority-fees.d.ts.map +1 -1
- package/dist/priority-fees.js +13 -2
- package/dist/priority-fees.js.map +1 -1
- package/dist/seal.d.ts.map +1 -1
- package/dist/seal.js +15 -3
- package/dist/seal.js.map +1 -1
- package/dist/tee/providers/crossmint.d.ts.map +1 -1
- package/dist/tee/providers/crossmint.js +15 -8
- package/dist/tee/providers/crossmint.js.map +1 -1
- package/dist/tee/providers/privy.d.ts.map +1 -1
- package/dist/tee/providers/privy.js +13 -8
- package/dist/tee/providers/privy.js.map +1 -1
- package/dist/tee/providers/turnkey.d.ts.map +1 -1
- package/dist/tee/providers/turnkey.js +19 -3
- package/dist/tee/providers/turnkey.js.map +1 -1
- package/dist/tee/types.d.ts +26 -1
- package/dist/tee/types.d.ts.map +1 -1
- package/dist/tee/verify.d.ts +15 -4
- package/dist/tee/verify.d.ts.map +1 -1
- package/dist/tee/verify.js +147 -38
- package/dist/tee/verify.js.map +1 -1
- package/dist/tee/wallet-types.d.ts +19 -4
- package/dist/tee/wallet-types.d.ts.map +1 -1
- package/dist/tee/wallet-types.js +21 -6
- package/dist/tee/wallet-types.js.map +1 -1
- package/dist/vault-analytics.d.ts.map +1 -1
- package/dist/vault-analytics.js +10 -1
- package/dist/vault-analytics.js.map +1 -1
- package/dist/x402/facilitator-verify.d.ts.map +1 -1
- package/dist/x402/facilitator-verify.js +6 -2
- package/dist/x402/facilitator-verify.js.map +1 -1
- package/package.json +4 -2
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structural transport-error classification and safe error redaction.
|
|
3
|
+
*
|
|
4
|
+
* {@link isTransportError} inspects structural signals only (error class,
|
|
5
|
+
* `.name`, `.cause.code`) — never message regex — to distinguish transport
|
|
6
|
+
* failures (ECONNREFUSED, timeouts, TLS errors, HTTP/2 resets, 5xx upstream
|
|
7
|
+
* responses) from provider denials or logic errors. Intended for SDK call
|
|
8
|
+
* sites that want to surface "this was a network problem, retry may help"
|
|
9
|
+
* in a redacted, diagnosable form without leaking secrets from the raw
|
|
10
|
+
* error to downstream logs.
|
|
11
|
+
*
|
|
12
|
+
* {@link redactCause} returns a small, log-safe projection of any thrown
|
|
13
|
+
* value. Never returns raw `err` — message is sliced, `.stack` is dropped,
|
|
14
|
+
* cycles are broken via WeakSet, and every property access is try-guarded
|
|
15
|
+
* so a hostile error (Proxy traps, throwing getters, null-prototype
|
|
16
|
+
* objects) cannot re-introduce a silent failure by throwing through the
|
|
17
|
+
* redactor itself.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Provider-denial class names. Errors whose `.name` matches one of these are
|
|
21
|
+
* NEVER classified as transport, even if other signals look transport-shaped.
|
|
22
|
+
* A provider that throws a `TimeoutError` for business reasons (e.g., policy
|
|
23
|
+
* lockout after N failed attempts) shouldn't be mis-classified as a network
|
|
24
|
+
* retry candidate. Extend this denylist when wiring a new custody adapter.
|
|
25
|
+
*/
|
|
26
|
+
export declare const PROVIDER_DENIAL_NAMES: ReadonlySet<string>;
|
|
27
|
+
/**
|
|
28
|
+
* Error codes that indicate a transport-layer failure (network, TLS,
|
|
29
|
+
* HTTP/2, upstream gateway). `.cause.code` is inspected by
|
|
30
|
+
* {@link isTransportError}.
|
|
31
|
+
*
|
|
32
|
+
* Scope:
|
|
33
|
+
* - Classic POSIX: ECONNREFUSED, ECONNRESET, ETIMEDOUT, ENOTFOUND,
|
|
34
|
+
* EAI_AGAIN, ENETUNREACH, EPIPE.
|
|
35
|
+
* - Undici (Node 18/20/22 fetch): UND_ERR_CONNECT_TIMEOUT,
|
|
36
|
+
* UND_ERR_HEADERS_TIMEOUT, UND_ERR_BODY_TIMEOUT, UND_ERR_SOCKET,
|
|
37
|
+
* UND_ERR_ABORTED.
|
|
38
|
+
* - TLS: CERT_HAS_EXPIRED, UNABLE_TO_VERIFY_LEAF_SIGNATURE,
|
|
39
|
+
* DEPTH_ZERO_SELF_SIGNED_CERT, ERR_TLS_CERT_ALTNAME_INVALID.
|
|
40
|
+
* - HTTP/2: ERR_HTTP2_STREAM_ERROR, ERR_HTTP2_SESSION_ERROR,
|
|
41
|
+
* ERR_HTTP2_GOAWAY_SESSION.
|
|
42
|
+
* - Sigil custody adapters: HTTP_5XX (set on tagged upstream 5xx errors).
|
|
43
|
+
*/
|
|
44
|
+
export declare const TRANSPORT_CODES: ReadonlySet<string>;
|
|
45
|
+
/**
|
|
46
|
+
* Classify an error as transport-layer (retry-worthy network/TLS/upstream
|
|
47
|
+
* failure) or not. Structural checks only — no message regex.
|
|
48
|
+
*
|
|
49
|
+
* Recognized transport signals (in order of evaluation):
|
|
50
|
+
* 1. `DOMException` with name `AbortError` or `TimeoutError` — undici
|
|
51
|
+
* surfaces `AbortSignal.timeout()` as DOMException, NOT plain Error.
|
|
52
|
+
* 2. `Error` with name `AbortError` or `TimeoutError` — non-undici runtimes.
|
|
53
|
+
* 3. `err.cause.name` ∈ {ConnectTimeoutError, HeadersTimeoutError,
|
|
54
|
+
* BodyTimeoutError, SocketError} — undici class names.
|
|
55
|
+
* 4. `err.cause.code` ∈ {@link TRANSPORT_CODES} — POSIX / undici / TLS /
|
|
56
|
+
* HTTP/2 / HTTP_5XX-tagged codes.
|
|
57
|
+
* 5. `AggregateError` — recurses into `.errors` (Node's Happy Eyeballs
|
|
58
|
+
* fetch surfaces multi-IP failures this way).
|
|
59
|
+
* 6. `err.statusCode` ≥ 500 — for custody adapters that throw Error
|
|
60
|
+
* with a numeric `statusCode` on upstream 5xx without setting a cause.
|
|
61
|
+
* 7. `TypeError("fetch failed")` with no cause — Node undici's bare
|
|
62
|
+
* shape when cause attachment failed.
|
|
63
|
+
*
|
|
64
|
+
* Provider-denial short-circuit: if `err.name` is in
|
|
65
|
+
* {@link PROVIDER_DENIAL_NAMES}, returns false immediately — a provider
|
|
66
|
+
* that throws a `TimeoutError` for business reasons shouldn't be
|
|
67
|
+
* retry-classified.
|
|
68
|
+
*
|
|
69
|
+
* Non-Error inputs (`null`, `undefined`, strings, numbers, plain objects
|
|
70
|
+
* without the expected shape) return false.
|
|
71
|
+
*/
|
|
72
|
+
export declare function isTransportError(err: unknown): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Safe, log-friendly projection of an error's identifying fields.
|
|
75
|
+
*
|
|
76
|
+
* Returned shape:
|
|
77
|
+
* - `name?` — string, from `err.name`, if accessible and a string.
|
|
78
|
+
* - `message?` — string, from `err.message`, sliced to at most 200
|
|
79
|
+
* chars. If `.message` is present but not a string (Symbol, BigInt,
|
|
80
|
+
* object), returns `"<non-string <typeof>>"` so the diagnostic
|
|
81
|
+
* distinguishes "we couldn't read" from "there was no message." This
|
|
82
|
+
* matters at every consumer site that does
|
|
83
|
+
* `cause.message ?? cause.name ?? cause.code ?? "unknown"` — without
|
|
84
|
+
* the non-string projection, `"unknown"` collapses across real gaps
|
|
85
|
+
* and hostile shapes.
|
|
86
|
+
* - `code?` — string, from `err.code` OR `err.cause.code` (walked),
|
|
87
|
+
* coerced from number/bigint if needed.
|
|
88
|
+
*
|
|
89
|
+
* Guarantees:
|
|
90
|
+
* - Never throws. Every property access is `try`-guarded. A hostile
|
|
91
|
+
* error with a throwing getter, Proxy `get` trap, or null-prototype
|
|
92
|
+
* object yields `{}` rather than re-introducing a silent failure.
|
|
93
|
+
* - Never reads `.stack` (may embed API keys, auth headers, or request
|
|
94
|
+
* bodies from upstream SDK wrappers).
|
|
95
|
+
* - Cycles in the cause chain are broken via {@link WeakSet}, and a
|
|
96
|
+
* soft depth cap of {@link MAX_CAUSE_WALK_DEPTH} protects against
|
|
97
|
+
* hostile causes that allocate a fresh wrapper per access (identity-
|
|
98
|
+
* based cycle detection alone cannot catch that pattern).
|
|
99
|
+
* - Non-Error inputs (null, undefined, string, number, Symbol, BigInt,
|
|
100
|
+
* Proxy, null-prototype) return a sensible projection or `{}`.
|
|
101
|
+
*/
|
|
102
|
+
export declare function redactCause(err: unknown): {
|
|
103
|
+
name?: string;
|
|
104
|
+
message?: string;
|
|
105
|
+
code?: string;
|
|
106
|
+
};
|
|
107
|
+
//# sourceMappingURL=network-errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network-errors.d.ts","sourceRoot":"","sources":["../src/network-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAKpD,CAAC;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CA0B9C,CAAC;AAsFH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAyEtD;AAcD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CA0DA"}
|
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structural transport-error classification and safe error redaction.
|
|
3
|
+
*
|
|
4
|
+
* {@link isTransportError} inspects structural signals only (error class,
|
|
5
|
+
* `.name`, `.cause.code`) — never message regex — to distinguish transport
|
|
6
|
+
* failures (ECONNREFUSED, timeouts, TLS errors, HTTP/2 resets, 5xx upstream
|
|
7
|
+
* responses) from provider denials or logic errors. Intended for SDK call
|
|
8
|
+
* sites that want to surface "this was a network problem, retry may help"
|
|
9
|
+
* in a redacted, diagnosable form without leaking secrets from the raw
|
|
10
|
+
* error to downstream logs.
|
|
11
|
+
*
|
|
12
|
+
* {@link redactCause} returns a small, log-safe projection of any thrown
|
|
13
|
+
* value. Never returns raw `err` — message is sliced, `.stack` is dropped,
|
|
14
|
+
* cycles are broken via WeakSet, and every property access is try-guarded
|
|
15
|
+
* so a hostile error (Proxy traps, throwing getters, null-prototype
|
|
16
|
+
* objects) cannot re-introduce a silent failure by throwing through the
|
|
17
|
+
* redactor itself.
|
|
18
|
+
*/
|
|
19
|
+
// ─── Transport error codes ─────────────────────────────────────────────────
|
|
20
|
+
/**
|
|
21
|
+
* Provider-denial class names. Errors whose `.name` matches one of these are
|
|
22
|
+
* NEVER classified as transport, even if other signals look transport-shaped.
|
|
23
|
+
* A provider that throws a `TimeoutError` for business reasons (e.g., policy
|
|
24
|
+
* lockout after N failed attempts) shouldn't be mis-classified as a network
|
|
25
|
+
* retry candidate. Extend this denylist when wiring a new custody adapter.
|
|
26
|
+
*/
|
|
27
|
+
export const PROVIDER_DENIAL_NAMES = new Set([
|
|
28
|
+
"ProviderDeniedError",
|
|
29
|
+
"CustodyDeniedError",
|
|
30
|
+
"UnauthorizedError",
|
|
31
|
+
"ForbiddenError",
|
|
32
|
+
]);
|
|
33
|
+
/**
|
|
34
|
+
* Error codes that indicate a transport-layer failure (network, TLS,
|
|
35
|
+
* HTTP/2, upstream gateway). `.cause.code` is inspected by
|
|
36
|
+
* {@link isTransportError}.
|
|
37
|
+
*
|
|
38
|
+
* Scope:
|
|
39
|
+
* - Classic POSIX: ECONNREFUSED, ECONNRESET, ETIMEDOUT, ENOTFOUND,
|
|
40
|
+
* EAI_AGAIN, ENETUNREACH, EPIPE.
|
|
41
|
+
* - Undici (Node 18/20/22 fetch): UND_ERR_CONNECT_TIMEOUT,
|
|
42
|
+
* UND_ERR_HEADERS_TIMEOUT, UND_ERR_BODY_TIMEOUT, UND_ERR_SOCKET,
|
|
43
|
+
* UND_ERR_ABORTED.
|
|
44
|
+
* - TLS: CERT_HAS_EXPIRED, UNABLE_TO_VERIFY_LEAF_SIGNATURE,
|
|
45
|
+
* DEPTH_ZERO_SELF_SIGNED_CERT, ERR_TLS_CERT_ALTNAME_INVALID.
|
|
46
|
+
* - HTTP/2: ERR_HTTP2_STREAM_ERROR, ERR_HTTP2_SESSION_ERROR,
|
|
47
|
+
* ERR_HTTP2_GOAWAY_SESSION.
|
|
48
|
+
* - Sigil custody adapters: HTTP_5XX (set on tagged upstream 5xx errors).
|
|
49
|
+
*/
|
|
50
|
+
export const TRANSPORT_CODES = new Set([
|
|
51
|
+
// POSIX
|
|
52
|
+
"ECONNREFUSED",
|
|
53
|
+
"ECONNRESET",
|
|
54
|
+
"ETIMEDOUT",
|
|
55
|
+
"ENOTFOUND",
|
|
56
|
+
"EAI_AGAIN",
|
|
57
|
+
"ENETUNREACH",
|
|
58
|
+
"EPIPE",
|
|
59
|
+
// Undici
|
|
60
|
+
"UND_ERR_CONNECT_TIMEOUT",
|
|
61
|
+
"UND_ERR_HEADERS_TIMEOUT",
|
|
62
|
+
"UND_ERR_BODY_TIMEOUT",
|
|
63
|
+
"UND_ERR_SOCKET",
|
|
64
|
+
"UND_ERR_ABORTED",
|
|
65
|
+
// TLS
|
|
66
|
+
"CERT_HAS_EXPIRED",
|
|
67
|
+
"UNABLE_TO_VERIFY_LEAF_SIGNATURE",
|
|
68
|
+
"DEPTH_ZERO_SELF_SIGNED_CERT",
|
|
69
|
+
"ERR_TLS_CERT_ALTNAME_INVALID",
|
|
70
|
+
// HTTP/2
|
|
71
|
+
"ERR_HTTP2_STREAM_ERROR",
|
|
72
|
+
"ERR_HTTP2_SESSION_ERROR",
|
|
73
|
+
"ERR_HTTP2_GOAWAY_SESSION",
|
|
74
|
+
// Custody adapter tag (set by sdk/custody adapters on 5xx upstream)
|
|
75
|
+
"HTTP_5XX",
|
|
76
|
+
]);
|
|
77
|
+
/**
|
|
78
|
+
* Undici's causal ConnectTimeoutError class-name signal. Checked separately
|
|
79
|
+
* from `TRANSPORT_CODES` because some undici paths populate `.name` but not
|
|
80
|
+
* `.code` on the cause.
|
|
81
|
+
*/
|
|
82
|
+
const TRANSPORT_CAUSE_NAMES = new Set([
|
|
83
|
+
"ConnectTimeoutError",
|
|
84
|
+
"HeadersTimeoutError",
|
|
85
|
+
"BodyTimeoutError",
|
|
86
|
+
"SocketError",
|
|
87
|
+
]);
|
|
88
|
+
// ─── isTransportError ──────────────────────────────────────────────────────
|
|
89
|
+
/**
|
|
90
|
+
* `instanceof` that survives hostile proxies. `x instanceof C` internally
|
|
91
|
+
* walks the prototype chain and can invoke `get` traps; a throwing trap
|
|
92
|
+
* would propagate out of the predicate and re-introduce a silent-failure
|
|
93
|
+
* vector. Wrapping the check lets the classifier fall through to `false`
|
|
94
|
+
* instead of crashing.
|
|
95
|
+
*/
|
|
96
|
+
function safeInstanceOf(value, ctor) {
|
|
97
|
+
try {
|
|
98
|
+
return value instanceof ctor;
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
function safeGetName(value) {
|
|
105
|
+
try {
|
|
106
|
+
if (value && typeof value === "object" && "name" in value) {
|
|
107
|
+
const n = value.name;
|
|
108
|
+
return typeof n === "string" ? n : undefined;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
// Throwing getter / Proxy trap — treat as unnameable.
|
|
113
|
+
}
|
|
114
|
+
return undefined;
|
|
115
|
+
}
|
|
116
|
+
function safeGetCause(value) {
|
|
117
|
+
try {
|
|
118
|
+
if (value && typeof value === "object" && "cause" in value) {
|
|
119
|
+
return value.cause;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
// Throwing getter / Proxy trap.
|
|
124
|
+
}
|
|
125
|
+
return undefined;
|
|
126
|
+
}
|
|
127
|
+
function safeGetCode(value) {
|
|
128
|
+
try {
|
|
129
|
+
if (value && typeof value === "object" && "code" in value) {
|
|
130
|
+
const c = value.code;
|
|
131
|
+
if (typeof c === "string")
|
|
132
|
+
return c;
|
|
133
|
+
if (typeof c === "number" || typeof c === "bigint")
|
|
134
|
+
return String(c);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
// Throwing getter / Proxy trap.
|
|
139
|
+
}
|
|
140
|
+
return undefined;
|
|
141
|
+
}
|
|
142
|
+
function safeGetStatusCode(value) {
|
|
143
|
+
try {
|
|
144
|
+
if (value && typeof value === "object") {
|
|
145
|
+
for (const key of ["statusCode", "status"]) {
|
|
146
|
+
if (key in value) {
|
|
147
|
+
const v = value[key];
|
|
148
|
+
if (typeof v === "number" && Number.isFinite(v))
|
|
149
|
+
return v;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
// Throwing getter / Proxy trap.
|
|
156
|
+
}
|
|
157
|
+
return undefined;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Classify an error as transport-layer (retry-worthy network/TLS/upstream
|
|
161
|
+
* failure) or not. Structural checks only — no message regex.
|
|
162
|
+
*
|
|
163
|
+
* Recognized transport signals (in order of evaluation):
|
|
164
|
+
* 1. `DOMException` with name `AbortError` or `TimeoutError` — undici
|
|
165
|
+
* surfaces `AbortSignal.timeout()` as DOMException, NOT plain Error.
|
|
166
|
+
* 2. `Error` with name `AbortError` or `TimeoutError` — non-undici runtimes.
|
|
167
|
+
* 3. `err.cause.name` ∈ {ConnectTimeoutError, HeadersTimeoutError,
|
|
168
|
+
* BodyTimeoutError, SocketError} — undici class names.
|
|
169
|
+
* 4. `err.cause.code` ∈ {@link TRANSPORT_CODES} — POSIX / undici / TLS /
|
|
170
|
+
* HTTP/2 / HTTP_5XX-tagged codes.
|
|
171
|
+
* 5. `AggregateError` — recurses into `.errors` (Node's Happy Eyeballs
|
|
172
|
+
* fetch surfaces multi-IP failures this way).
|
|
173
|
+
* 6. `err.statusCode` ≥ 500 — for custody adapters that throw Error
|
|
174
|
+
* with a numeric `statusCode` on upstream 5xx without setting a cause.
|
|
175
|
+
* 7. `TypeError("fetch failed")` with no cause — Node undici's bare
|
|
176
|
+
* shape when cause attachment failed.
|
|
177
|
+
*
|
|
178
|
+
* Provider-denial short-circuit: if `err.name` is in
|
|
179
|
+
* {@link PROVIDER_DENIAL_NAMES}, returns false immediately — a provider
|
|
180
|
+
* that throws a `TimeoutError` for business reasons shouldn't be
|
|
181
|
+
* retry-classified.
|
|
182
|
+
*
|
|
183
|
+
* Non-Error inputs (`null`, `undefined`, strings, numbers, plain objects
|
|
184
|
+
* without the expected shape) return false.
|
|
185
|
+
*/
|
|
186
|
+
export function isTransportError(err) {
|
|
187
|
+
if (err === null || err === undefined)
|
|
188
|
+
return false;
|
|
189
|
+
// Provider denial denylist wins over everything.
|
|
190
|
+
const name = safeGetName(err);
|
|
191
|
+
if (name !== undefined && PROVIDER_DENIAL_NAMES.has(name))
|
|
192
|
+
return false;
|
|
193
|
+
// DOMException (undici fetch timeout/abort shape). `safeInstanceOf` is
|
|
194
|
+
// required because a Proxy with a throwing `get` trap would propagate
|
|
195
|
+
// out of a raw `instanceof` check and reintroduce silent failure.
|
|
196
|
+
if (typeof DOMException !== "undefined" &&
|
|
197
|
+
safeInstanceOf(err, DOMException)) {
|
|
198
|
+
return name === "AbortError" || name === "TimeoutError";
|
|
199
|
+
}
|
|
200
|
+
// AggregateError — recurse into wrapped errors.
|
|
201
|
+
if (typeof AggregateError !== "undefined" &&
|
|
202
|
+
safeInstanceOf(err, AggregateError)) {
|
|
203
|
+
try {
|
|
204
|
+
const wrapped = err.errors;
|
|
205
|
+
if (Array.isArray(wrapped))
|
|
206
|
+
return wrapped.some(isTransportError);
|
|
207
|
+
}
|
|
208
|
+
catch {
|
|
209
|
+
// Throwing getter on .errors — treat as non-transport.
|
|
210
|
+
}
|
|
211
|
+
return false;
|
|
212
|
+
}
|
|
213
|
+
if (!safeInstanceOf(err, Error))
|
|
214
|
+
return false;
|
|
215
|
+
// Plain Error with transport-shaped name (non-undici runtimes).
|
|
216
|
+
if (name === "AbortError" || name === "TimeoutError")
|
|
217
|
+
return true;
|
|
218
|
+
// cause-chain signals — undici typically wraps the real error in `.cause`.
|
|
219
|
+
const cause = safeGetCause(err);
|
|
220
|
+
if (cause !== undefined && cause !== null) {
|
|
221
|
+
const causeName = safeGetName(cause);
|
|
222
|
+
if (causeName !== undefined && TRANSPORT_CAUSE_NAMES.has(causeName)) {
|
|
223
|
+
return true;
|
|
224
|
+
}
|
|
225
|
+
const causeCode = safeGetCode(cause);
|
|
226
|
+
if (causeCode !== undefined && TRANSPORT_CODES.has(causeCode)) {
|
|
227
|
+
return true;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
// Direct `.code` on the error (some legacy undici paths set this on Error,
|
|
231
|
+
// not cause).
|
|
232
|
+
const directCode = safeGetCode(err);
|
|
233
|
+
if (directCode !== undefined && TRANSPORT_CODES.has(directCode))
|
|
234
|
+
return true;
|
|
235
|
+
// Upstream HTTP 5xx tagged on the error itself.
|
|
236
|
+
const statusCode = safeGetStatusCode(err);
|
|
237
|
+
if (statusCode !== undefined && statusCode >= 500 && statusCode < 600) {
|
|
238
|
+
return true;
|
|
239
|
+
}
|
|
240
|
+
// Bare `TypeError("fetch failed")` with no cause — fall-through undici
|
|
241
|
+
// shape when cause attachment failed. Recognized only if nothing else
|
|
242
|
+
// matched.
|
|
243
|
+
if (safeInstanceOf(err, TypeError) && cause === undefined) {
|
|
244
|
+
try {
|
|
245
|
+
const msg = err.message;
|
|
246
|
+
if (typeof msg === "string" && msg === "fetch failed")
|
|
247
|
+
return true;
|
|
248
|
+
}
|
|
249
|
+
catch {
|
|
250
|
+
// Throwing getter on message — fall through.
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
return false;
|
|
254
|
+
}
|
|
255
|
+
// ─── redactCause ───────────────────────────────────────────────────────────
|
|
256
|
+
/**
|
|
257
|
+
* Soft cap on cause-chain walks. Pure defense-in-depth against a hostile
|
|
258
|
+
* error whose `.cause` getter returns a freshly-allocated wrapper on every
|
|
259
|
+
* access — the WeakSet cycle-detection sees a new object each time and
|
|
260
|
+
* would otherwise loop until the runtime's memory/stack limit. 16 is
|
|
261
|
+
* deeper than any realistic middleware error-wrapper chain (4–6 is
|
|
262
|
+
* typical for serverless + framework + SDK combinations).
|
|
263
|
+
*/
|
|
264
|
+
const MAX_CAUSE_WALK_DEPTH = 16;
|
|
265
|
+
/**
|
|
266
|
+
* Safe, log-friendly projection of an error's identifying fields.
|
|
267
|
+
*
|
|
268
|
+
* Returned shape:
|
|
269
|
+
* - `name?` — string, from `err.name`, if accessible and a string.
|
|
270
|
+
* - `message?` — string, from `err.message`, sliced to at most 200
|
|
271
|
+
* chars. If `.message` is present but not a string (Symbol, BigInt,
|
|
272
|
+
* object), returns `"<non-string <typeof>>"` so the diagnostic
|
|
273
|
+
* distinguishes "we couldn't read" from "there was no message." This
|
|
274
|
+
* matters at every consumer site that does
|
|
275
|
+
* `cause.message ?? cause.name ?? cause.code ?? "unknown"` — without
|
|
276
|
+
* the non-string projection, `"unknown"` collapses across real gaps
|
|
277
|
+
* and hostile shapes.
|
|
278
|
+
* - `code?` — string, from `err.code` OR `err.cause.code` (walked),
|
|
279
|
+
* coerced from number/bigint if needed.
|
|
280
|
+
*
|
|
281
|
+
* Guarantees:
|
|
282
|
+
* - Never throws. Every property access is `try`-guarded. A hostile
|
|
283
|
+
* error with a throwing getter, Proxy `get` trap, or null-prototype
|
|
284
|
+
* object yields `{}` rather than re-introducing a silent failure.
|
|
285
|
+
* - Never reads `.stack` (may embed API keys, auth headers, or request
|
|
286
|
+
* bodies from upstream SDK wrappers).
|
|
287
|
+
* - Cycles in the cause chain are broken via {@link WeakSet}, and a
|
|
288
|
+
* soft depth cap of {@link MAX_CAUSE_WALK_DEPTH} protects against
|
|
289
|
+
* hostile causes that allocate a fresh wrapper per access (identity-
|
|
290
|
+
* based cycle detection alone cannot catch that pattern).
|
|
291
|
+
* - Non-Error inputs (null, undefined, string, number, Symbol, BigInt,
|
|
292
|
+
* Proxy, null-prototype) return a sensible projection or `{}`.
|
|
293
|
+
*/
|
|
294
|
+
export function redactCause(err) {
|
|
295
|
+
// Handle primitives up-front.
|
|
296
|
+
if (err === null || err === undefined)
|
|
297
|
+
return {};
|
|
298
|
+
if (typeof err === "string") {
|
|
299
|
+
return { message: err.slice(0, 200) };
|
|
300
|
+
}
|
|
301
|
+
if (typeof err === "number" || typeof err === "bigint") {
|
|
302
|
+
return { code: String(err) };
|
|
303
|
+
}
|
|
304
|
+
if (typeof err !== "object")
|
|
305
|
+
return {};
|
|
306
|
+
const out = {};
|
|
307
|
+
const name = safeGetName(err);
|
|
308
|
+
if (name !== undefined)
|
|
309
|
+
out.name = name;
|
|
310
|
+
try {
|
|
311
|
+
if ("message" in err) {
|
|
312
|
+
const m = err.message;
|
|
313
|
+
if (typeof m === "string") {
|
|
314
|
+
out.message = m.slice(0, 200);
|
|
315
|
+
}
|
|
316
|
+
else if (m !== undefined && m !== null) {
|
|
317
|
+
// Present but non-string — preserve the distinguishability
|
|
318
|
+
// signal at consumer sites (see doc-comment rationale).
|
|
319
|
+
out.message = `<non-string ${typeof m}>`;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
catch {
|
|
324
|
+
// Throwing getter / Proxy trap — skip.
|
|
325
|
+
}
|
|
326
|
+
const directCode = safeGetCode(err);
|
|
327
|
+
if (directCode !== undefined) {
|
|
328
|
+
out.code = directCode;
|
|
329
|
+
}
|
|
330
|
+
else {
|
|
331
|
+
// Walk the cause chain for a code, breaking cycles via WeakSet AND
|
|
332
|
+
// capping depth so a hostile getter that allocates fresh objects on
|
|
333
|
+
// every access can't drive the loop into a memory wall.
|
|
334
|
+
const visited = new WeakSet();
|
|
335
|
+
let current = err;
|
|
336
|
+
for (let depth = 0; depth < MAX_CAUSE_WALK_DEPTH; depth++) {
|
|
337
|
+
if (current === null || current === undefined)
|
|
338
|
+
break;
|
|
339
|
+
if (typeof current !== "object")
|
|
340
|
+
break;
|
|
341
|
+
if (visited.has(current))
|
|
342
|
+
break;
|
|
343
|
+
visited.add(current);
|
|
344
|
+
const nextCause = safeGetCause(current);
|
|
345
|
+
if (nextCause === undefined || nextCause === null)
|
|
346
|
+
break;
|
|
347
|
+
const causeCode = safeGetCode(nextCause);
|
|
348
|
+
if (causeCode !== undefined) {
|
|
349
|
+
out.code = causeCode;
|
|
350
|
+
break;
|
|
351
|
+
}
|
|
352
|
+
current = nextCause;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
return out;
|
|
356
|
+
}
|
|
357
|
+
//# sourceMappingURL=network-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network-errors.js","sourceRoot":"","sources":["../src/network-errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"priority-fees.d.ts","sourceRoot":"","sources":["../src/priority-fees.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"priority-fees.d.ts","sourceRoot":"","sources":["../src/priority-fees.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAalE,eAAO,MAAM,iBAAiB,SAAU,CAAC;AACzC,eAAO,MAAM,eAAe,SAAU,CAAC;AACvC,eAAO,MAAM,oBAAoB,SAAU,CAAC;AAC5C,eAAO,MAAM,cAAc,SAAU,CAAC;AACtC,eAAO,MAAM,eAAe,SAAU,CAAC;AACvC,eAAO,MAAM,QAAQ,SAAU,CAAC;AAChC,eAAO,MAAM,cAAc,SAAU,CAAC;AACtC,eAAO,MAAM,mBAAmB,SAAU,CAAC;AAC3C,eAAO,MAAM,iBAAiB,SAAU,CAAC;AACzC,eAAO,MAAM,eAAe,SAAU,CAAC;AAEvC;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,gBAAgB,EAAE,WAAW,EAAE,GAAG,MAAM,CA2B1E;AAID,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAEpE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAqBD;;;;;;GAMG;AACH,qBAAa,oBAAoB;IAM7B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG;IANtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwC;IAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;gBAGhB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,IAAI,EAC9C,MAAM,CAAC,EAAE,iBAAiB;IAiBtB,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;YAmCxC,cAAc;YA6Cd,WAAW;CA+B1B"}
|
package/dist/priority-fees.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* CU constants match the existing SDK values (measured via LiteSVM).
|
|
5
5
|
* 3-layer fallback: Helius → Kit RPC → static.
|
|
6
6
|
*/
|
|
7
|
+
import { redactCause } from "./network-errors.js";
|
|
7
8
|
// ─── Known Protocol Program Addresses ────────────────────────────────────────
|
|
8
9
|
const JUPITER_PROGRAM = "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4";
|
|
9
10
|
const JUPITER_LEND_PROGRAM = "JLend2fEim9xUFcaHsyGePEoBzFLvkjMi3MnPcSuCdu";
|
|
@@ -146,7 +147,13 @@ export class PriorityFeeEstimator {
|
|
|
146
147
|
}
|
|
147
148
|
return null;
|
|
148
149
|
}
|
|
149
|
-
catch {
|
|
150
|
+
catch (err) {
|
|
151
|
+
// Previously a silent null — if Helius renames a response field or
|
|
152
|
+
// changes their endpoint, every user quietly falls through to the
|
|
153
|
+
// default fee with no visibility. A warn is cheap and makes API
|
|
154
|
+
// shape drift detectable in production.
|
|
155
|
+
const cause = redactCause(err);
|
|
156
|
+
console.warn(`[priority-fees] Helius estimate failed — falling back: ${cause.message ?? cause.name ?? cause.code ?? "unknown"}`);
|
|
150
157
|
return null;
|
|
151
158
|
}
|
|
152
159
|
}
|
|
@@ -167,7 +174,11 @@ export class PriorityFeeEstimator {
|
|
|
167
174
|
const index = Math.min(Math.ceil((percentile / 100) * sorted.length) - 1, sorted.length - 1);
|
|
168
175
|
return sorted[index];
|
|
169
176
|
}
|
|
170
|
-
catch {
|
|
177
|
+
catch (err) {
|
|
178
|
+
// Same rationale as the Helius path — log so a failing RPC doesn't
|
|
179
|
+
// silently push users to the fallback fee without trace.
|
|
180
|
+
const cause = redactCause(err);
|
|
181
|
+
console.warn(`[priority-fees] RPC getRecentPrioritizationFees failed — falling back: ${cause.message ?? cause.name ?? cause.code ?? "unknown"}`);
|
|
171
182
|
return null;
|
|
172
183
|
}
|
|
173
184
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"priority-fees.js","sourceRoot":"","sources":["../src/priority-fees.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"priority-fees.js","sourceRoot":"","sources":["../src/priority-fees.ts"],"names":[],"mappings":"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"}
|
package/dist/seal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seal.d.ts","sourceRoot":"","sources":["../src/seal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,6BAA6B,EAC7B,WAAW,EACX,GAAG,EACH,YAAY,EACZ,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAe,MAAM,aAAa,CAAC;AAM9D,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAE/B,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAC;AAmB1B,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"seal.d.ts","sourceRoot":"","sources":["../src/seal.ts"],"names":[],"mappings":"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"}
|
package/dist/seal.js
CHANGED
|
@@ -27,6 +27,7 @@ import { deriveAta } from "./x402/transfer-builder.js";
|
|
|
27
27
|
import { isStablecoinMint, validateNetwork, normalizeNetwork, toInstruction, PROTOCOL_TREASURY, USDC_MINT_DEVNET, USDC_MINT_MAINNET, USDT_MINT_DEVNET, USDT_MINT_MAINNET, RECOGNIZED_DEFI_PROGRAMS, PROTOCOL_FEE_RATE, } from "./types.js";
|
|
28
28
|
import { isProtocolAllowed } from "./protocol-resolver.js";
|
|
29
29
|
import { toSigilAgentError } from "./agent-errors.js";
|
|
30
|
+
import { redactCause } from "./network-errors.js";
|
|
30
31
|
import { getVaultPnL, getVaultTokenBalances, } from "./balance-tracker.js";
|
|
31
32
|
import { parseTokenBalance } from "./simulation.js";
|
|
32
33
|
import { createVault, } from "./create-vault.js";
|
|
@@ -241,8 +242,13 @@ export async function seal(params) {
|
|
|
241
242
|
`Create it first with createAssociatedTokenAccount.`);
|
|
242
243
|
}
|
|
243
244
|
}
|
|
244
|
-
catch {
|
|
245
|
-
//
|
|
245
|
+
catch (err) {
|
|
246
|
+
// Previously silent. Surfacing a warning here makes a transient
|
|
247
|
+
// RPC outage distinguishable from an actually-missing ATA, so
|
|
248
|
+
// the user isn't puzzled when on-chain validation fails with an
|
|
249
|
+
// opaque message a second later.
|
|
250
|
+
const cause = redactCause(err);
|
|
251
|
+
warnings.push(`Output stablecoin ATA ${ata} existence check failed due to RPC error (${cause.message ?? cause.name ?? cause.code ?? "unknown"}). Proceeding with derived address — on-chain will reject if missing.`);
|
|
246
252
|
}
|
|
247
253
|
return ata;
|
|
248
254
|
})
|
|
@@ -475,7 +481,13 @@ export class SigilClient {
|
|
|
475
481
|
try {
|
|
476
482
|
verifySigilAlt(addressLookupTables, sigilAlt, expected);
|
|
477
483
|
}
|
|
478
|
-
catch {
|
|
484
|
+
catch (err) {
|
|
485
|
+
// Cache-corruption self-healing — evict and retry once. Log the
|
|
486
|
+
// redacted cause so the "why did this retry" signal isn't lost
|
|
487
|
+
// silently; if we see this in telemetry, it means the ALT on
|
|
488
|
+
// chain was updated or the cache was serving stale data.
|
|
489
|
+
const cause = redactCause(err);
|
|
490
|
+
console.debug(`[seal] ALT cache verify failed — invalidating and retrying: ${cause.message ?? cause.name ?? cause.code ?? "unknown"}`);
|
|
479
491
|
this.altCacheInstance.invalidate();
|
|
480
492
|
const allAlts = mergeAltAddresses(sigilAlt, opts.protocolAltAddresses);
|
|
481
493
|
addressLookupTables = await this.altCacheInstance.resolve(this.rpc, allAlts);
|