@usesigil/kit 0.3.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.
Files changed (77) hide show
  1. package/dist/agent-errors.d.ts.map +1 -1
  2. package/dist/agent-errors.js +2 -2
  3. package/dist/agent-errors.js.map +1 -1
  4. package/dist/create-vault.d.ts.map +1 -1
  5. package/dist/create-vault.js +22 -0
  6. package/dist/create-vault.js.map +1 -1
  7. package/dist/dashboard/discover.d.ts.map +1 -1
  8. package/dist/dashboard/discover.js +10 -1
  9. package/dist/dashboard/discover.js.map +1 -1
  10. package/dist/dashboard/errors.d.ts +34 -0
  11. package/dist/dashboard/errors.d.ts.map +1 -1
  12. package/dist/dashboard/errors.js +71 -0
  13. package/dist/dashboard/errors.js.map +1 -1
  14. package/dist/dashboard/mutations.d.ts.map +1 -1
  15. package/dist/dashboard/mutations.js +11 -4
  16. package/dist/dashboard/mutations.js.map +1 -1
  17. package/dist/dashboard/reads.d.ts +40 -2
  18. package/dist/dashboard/reads.d.ts.map +1 -1
  19. package/dist/dashboard/reads.js +66 -29
  20. package/dist/dashboard/reads.js.map +1 -1
  21. package/dist/dashboard/types.d.ts +11 -1
  22. package/dist/dashboard/types.d.ts.map +1 -1
  23. package/dist/index.d.ts +4 -2
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +22 -7
  26. package/dist/index.js.map +1 -1
  27. package/dist/network-errors.d.ts +107 -0
  28. package/dist/network-errors.d.ts.map +1 -0
  29. package/dist/network-errors.js +357 -0
  30. package/dist/network-errors.js.map +1 -0
  31. package/dist/owner-transaction.d.ts.map +1 -1
  32. package/dist/owner-transaction.js +6 -4
  33. package/dist/owner-transaction.js.map +1 -1
  34. package/dist/presets.d.ts +19 -11
  35. package/dist/presets.d.ts.map +1 -1
  36. package/dist/presets.js +10 -13
  37. package/dist/presets.js.map +1 -1
  38. package/dist/priority-fees.d.ts.map +1 -1
  39. package/dist/priority-fees.js +13 -2
  40. package/dist/priority-fees.js.map +1 -1
  41. package/dist/rpc-helpers.d.ts +23 -0
  42. package/dist/rpc-helpers.d.ts.map +1 -1
  43. package/dist/rpc-helpers.js +45 -0
  44. package/dist/rpc-helpers.js.map +1 -1
  45. package/dist/seal.d.ts +8 -0
  46. package/dist/seal.d.ts.map +1 -1
  47. package/dist/seal.js +30 -8
  48. package/dist/seal.js.map +1 -1
  49. package/dist/state-resolver.d.ts.map +1 -1
  50. package/dist/state-resolver.js +35 -24
  51. package/dist/state-resolver.js.map +1 -1
  52. package/dist/tee/providers/crossmint.d.ts.map +1 -1
  53. package/dist/tee/providers/crossmint.js +15 -8
  54. package/dist/tee/providers/crossmint.js.map +1 -1
  55. package/dist/tee/providers/privy.d.ts.map +1 -1
  56. package/dist/tee/providers/privy.js +13 -8
  57. package/dist/tee/providers/privy.js.map +1 -1
  58. package/dist/tee/providers/turnkey.d.ts.map +1 -1
  59. package/dist/tee/providers/turnkey.js +19 -3
  60. package/dist/tee/providers/turnkey.js.map +1 -1
  61. package/dist/tee/types.d.ts +26 -1
  62. package/dist/tee/types.d.ts.map +1 -1
  63. package/dist/tee/verify.d.ts +15 -4
  64. package/dist/tee/verify.d.ts.map +1 -1
  65. package/dist/tee/verify.js +147 -38
  66. package/dist/tee/verify.js.map +1 -1
  67. package/dist/tee/wallet-types.d.ts +19 -4
  68. package/dist/tee/wallet-types.d.ts.map +1 -1
  69. package/dist/tee/wallet-types.js +21 -6
  70. package/dist/tee/wallet-types.js.map +1 -1
  71. package/dist/vault-analytics.d.ts.map +1 -1
  72. package/dist/vault-analytics.js +10 -1
  73. package/dist/vault-analytics.js.map +1 -1
  74. package/dist/x402/facilitator-verify.d.ts.map +1 -1
  75. package/dist/x402/facilitator-verify.js +6 -2
  76. package/dist/x402/facilitator-verify.js.map +1 -1
  77. package/package.json +4 -2
@@ -12,6 +12,37 @@ import { AttestationStatus, } from "./types.js";
12
12
  import { verifyCrossmint } from "./providers/crossmint.js";
13
13
  import { verifyPrivy } from "./providers/privy.js";
14
14
  import { verifyTurnkey } from "./providers/turnkey.js";
15
+ import { redactCause } from "../network-errors.js";
16
+ /**
17
+ * Cache-key delimiter. `|` is chosen over `:` because base58 cannot
18
+ * contain `|` (or `:`), but `:` looks like part of a URL scheme and
19
+ * `deleteByPrefix(\`${publicKey}:\`)` would ambiguously match any
20
+ * future suffix scheme. `|` eliminates that fragility.
21
+ */
22
+ const CACHE_KEY_DELIMITER = "|";
23
+ /**
24
+ * Guarded introspection — a hostile wallet can expose `publicKey` or
25
+ * `provider` as throwing getters and bypass the entire `TeeAttestationError`
26
+ * contract by making the raw getter error escape `verifyTeeAttestation`.
27
+ * Returns `undefined` on any throw; caller treats that as a synthetic
28
+ * Failed result.
29
+ */
30
+ function readWalletIdentity(wallet) {
31
+ try {
32
+ const publicKey = wallet.publicKey;
33
+ if (typeof publicKey !== "string" || publicKey.length === 0) {
34
+ return { error: new Error("wallet.publicKey is not a non-empty string") };
35
+ }
36
+ // `detectProvider` touches `isTeeWallet` which reads `wallet.provider`
37
+ // — include it in the same guard so a provider-getter throw doesn't
38
+ // bypass the contract either.
39
+ const detected = detectProvider(wallet);
40
+ return { publicKey, detected };
41
+ }
42
+ catch (err) {
43
+ return { error: err };
44
+ }
45
+ }
15
46
  /** Module-level singleton cache. */
16
47
  const globalCache = new AttestationCache(DEFAULT_CACHE_TTL_MS);
17
48
  /** Detect the TEE provider from a wallet. */
@@ -50,20 +81,74 @@ function attestationStatusMeetsLevel(status, level) {
50
81
  * 1. Check cache (unless cacheTtlMs === 0)
51
82
  * 2. Detect provider from wallet
52
83
  * 3. Route to provider-specific verifier
53
- * 4. Cache result
54
- * 5. Fire onVerified callback on success
55
- * 6. If requireAttestation is true and verification failed, throw
56
- * 7. If minAttestationLevel is set and not met, throw
84
+ * 4. Cache successful results only (`Failed` and `Unavailable` never cache)
85
+ * 5. Fire `onVerified` on success; fire `onDegraded` on non-verified status
86
+ * 6. Enforce `requireAttestation` throws `TeeAttestationError` with
87
+ * `.result` attached when verification didn't reach a verified status
88
+ * 7. Enforce `minAttestationLevel`
89
+ *
90
+ * **Safe-by-default behavior (changed in PR 1.B safety lockdown).**
91
+ * `requireAttestation` now defaults to `true`, so a call like
92
+ * `verifyTeeAttestation(wallet)` with no config throws on any degraded
93
+ * outcome instead of silently returning a Failed/Unavailable result.
94
+ * Consumers that want the old forgiving behavior must pass
95
+ * `{ requireAttestation: false, onDegraded: ... }` — the callback is
96
+ * mandatory under the forgiving path; omitting it is treated as the
97
+ * silent-failure vector this default was introduced to prevent and
98
+ * yields an immediate throw.
57
99
  */
58
100
  export async function verifyTeeAttestation(wallet, config) {
59
- // Kit Address is already base58 — no conversion needed
60
- const publicKey = wallet.publicKey;
101
+ // Safe-by-default: `requireAttestation` implicitly true when unset.
102
+ // Consumers who want the forgiving path must say so explicitly AND
103
+ // supply `onDegraded` — otherwise we would silently re-introduce the
104
+ // vulnerability this default fixes.
105
+ const requireAttestation = config?.requireAttestation ?? true;
106
+ if (!requireAttestation && typeof config?.onDegraded !== "function") {
107
+ throw new TeeAttestationError("verifyTeeAttestation called with `requireAttestation: false` but no `onDegraded` callback. " +
108
+ "Omitting the callback is a silent-degradation vector — supply `onDegraded` to observe degraded results, " +
109
+ "or remove `requireAttestation: false` to fail closed.");
110
+ }
111
+ // Guarded introspection — a throwing `publicKey` or `provider` getter
112
+ // would otherwise bypass every safety check below by escaping with a
113
+ // raw exception the caller didn't contract for.
114
+ const identity = readWalletIdentity(wallet);
115
+ if ("error" in identity) {
116
+ const syntheticResult = {
117
+ status: AttestationStatus.Failed,
118
+ provider: "crossmint", // placeholder — real provider unreadable
119
+ publicKey: "<unreadable>",
120
+ metadata: {
121
+ provider: "crossmint",
122
+ verifiedAt: Date.now(),
123
+ rawAttestation: {
124
+ introspectionFailed: true,
125
+ cause: redactCause(identity.error),
126
+ },
127
+ },
128
+ message: "Wallet rejected attestation introspection — `publicKey` or `provider` getter threw. " +
129
+ "This indicates a hostile or buggy wallet adapter.",
130
+ };
131
+ if (requireAttestation) {
132
+ throw new TeeAttestationError(syntheticResult.message, syntheticResult);
133
+ }
134
+ try {
135
+ config?.onDegraded?.(syntheticResult);
136
+ }
137
+ catch {
138
+ // Degraded callback errors are non-fatal.
139
+ }
140
+ return syntheticResult;
141
+ }
142
+ const publicKey = identity.publicKey;
143
+ const detectedProvider = identity.detected;
61
144
  const cacheTtlMs = config?.cacheTtlMs ?? DEFAULT_CACHE_TTL_MS;
62
145
  const useCache = Number.isFinite(cacheTtlMs) && cacheTtlMs > 0;
63
146
  // H3: Include config-sensitive params in cache key so different configs
64
- // don't share results (e.g., different expectedPcr3 values).
147
+ // don't share results (e.g., different expectedPcr3 values). Delimiter
148
+ // is `|` so `deleteByPrefix(\`${publicKey}${DELIMITER}\`)` is unambiguous
149
+ // — base58 cannot contain `|`.
65
150
  const cacheKey = config?.expectedPcr3
66
- ? `${publicKey}:pcr3=${config.expectedPcr3}`
151
+ ? `${publicKey}${CACHE_KEY_DELIMITER}pcr3=${config.expectedPcr3}`
67
152
  : publicKey;
68
153
  // Step 1: Cache check
69
154
  let result;
@@ -72,7 +157,7 @@ export async function verifyTeeAttestation(wallet, config) {
72
157
  }
73
158
  // Step 2-3: Verify if not cached
74
159
  if (!result) {
75
- const provider = detectProvider(wallet);
160
+ const provider = detectedProvider;
76
161
  if (!provider) {
77
162
  // TeeProvider is required by AttestationResult — "crossmint" used as
78
163
  // placeholder for unrecognized wallets. Status is Unavailable so the
@@ -109,51 +194,75 @@ export async function verifyTeeAttestation(wallet, config) {
109
194
  };
110
195
  }
111
196
  }
112
- // M6: Only cache successful results failed/unavailable should allow retry.
113
- // Also skip caching ProviderTrusted results from API failures (custodyCheckFailed)
114
- // so the next call can retry the custody API and potentially get ProviderVerified.
115
- const isCustodyFallback = result.metadata.rawAttestation &&
116
- typeof result.metadata.rawAttestation === "object" &&
117
- result.metadata.rawAttestation
118
- .custodyCheckFailed === true;
197
+ // Cache only verified outcomes`Failed` and `Unavailable` should
198
+ // allow the next call to retry. The previous `isCustodyFallback`
199
+ // guard is unnecessary now that custody-API errors surface as
200
+ // `Failed` (which is excluded from this allowlist).
119
201
  if (useCache &&
120
- !isCustodyFallback &&
121
202
  (result.status === AttestationStatus.CryptographicallyVerified ||
122
203
  result.status === AttestationStatus.ProviderVerified ||
123
204
  result.status === AttestationStatus.ProviderTrusted)) {
124
205
  globalCache.set(cacheKey, result, cacheTtlMs);
125
206
  }
126
207
  }
127
- // Step 5: onVerified callback
128
- // H5: Wrap in try-catch to prevent user callback errors from aborting vault creation
129
- if (result.status === AttestationStatus.CryptographicallyVerified ||
208
+ // Classification.
209
+ const isVerifiedStatus = result.status === AttestationStatus.CryptographicallyVerified ||
130
210
  result.status === AttestationStatus.ProviderVerified ||
131
- result.status === AttestationStatus.ProviderTrusted) {
211
+ result.status === AttestationStatus.ProviderTrusted;
212
+ // Step 5a: Enforce requireAttestation. Default `true` after PR 1.B.
213
+ // This fires BEFORE the success callback so `onVerified` never fires
214
+ // on a result the dispatcher is about to reject.
215
+ if (requireAttestation && !isVerifiedStatus) {
132
216
  try {
133
- config?.onVerified?.(result);
217
+ config?.onDegraded?.(result);
134
218
  }
135
219
  catch {
136
- // Attestation succeeded — callback errors are non-fatal
220
+ // Degraded callback errors are non-fatal — we still throw below.
137
221
  }
222
+ throw new TeeAttestationError(`TEE attestation required but verification ${result.status}: ${result.message} ` +
223
+ `Set \`requireAttestation: false\` with an \`onDegraded\` callback to proceed without verification.`, result);
138
224
  }
139
- // C3: Enforce requireAttestation ALWAYS including on cache hits.
140
- // Previously, the early cache return bypassed this check entirely.
141
- if (config?.requireAttestation) {
142
- if (result.status !== AttestationStatus.CryptographicallyVerified &&
143
- result.status !== AttestationStatus.ProviderVerified &&
144
- result.status !== AttestationStatus.ProviderTrusted) {
145
- throw new TeeAttestationError(`TEE attestation required but verification ${result.status}: ${result.message}`);
146
- }
147
- }
148
- // Enforce minAttestationLevel defaults to ProviderVerified when requireAttestation
149
- // is true but no explicit level is set (prevents ProviderTrusted from passing silently)
225
+ // Step 5b: Enforce minAttestationLevel. Defaults to "provider_verified"
226
+ // when requireAttestation is true and no explicit level is set — prevents
227
+ // ProviderTrusted from passing silently under the safe-by-default path.
228
+ //
229
+ // Note the literal string: `AttestationLevel` and `AttestationStatus` are
230
+ // distinct union/enum types whose values overlap for `provider_trusted`
231
+ // and `provider_verified` but diverge for the cryptographic tier
232
+ // (`"cryptographic"` vs `"cryptographically_verified"`). Using the
233
+ // literal here ensures a future maintainer raising the default bar
234
+ // cannot accidentally pass an enum value that fails level lookup.
150
235
  const effectiveMinLevel = config?.minAttestationLevel ??
151
- (config?.requireAttestation
152
- ? AttestationStatus.ProviderVerified
153
- : undefined);
236
+ (requireAttestation ? "provider_verified" : undefined);
154
237
  if (effectiveMinLevel) {
155
238
  if (!attestationStatusMeetsLevel(result.status, effectiveMinLevel)) {
156
- throw new TeeAttestationError(`Attestation level ${result.status} does not meet minimum required level: ${effectiveMinLevel}`);
239
+ try {
240
+ config?.onDegraded?.(result);
241
+ }
242
+ catch {
243
+ // Non-fatal.
244
+ }
245
+ throw new TeeAttestationError(`Attestation level ${result.status} does not meet minimum required level: ${effectiveMinLevel}`, result);
246
+ }
247
+ }
248
+ // Step 5c: Level checks passed (or were skipped). Only fire `onVerified`
249
+ // now — never on a result the dispatcher is about to throw over.
250
+ // `onDegraded` for the "returns Failed without throwing" path fires
251
+ // here too, since the caller opted into the forgiving mode.
252
+ if (isVerifiedStatus) {
253
+ try {
254
+ config?.onVerified?.(result);
255
+ }
256
+ catch {
257
+ // Attestation succeeded — callback errors are non-fatal.
258
+ }
259
+ }
260
+ else {
261
+ try {
262
+ config?.onDegraded?.(result);
263
+ }
264
+ catch {
265
+ // Non-fatal.
157
266
  }
158
267
  }
159
268
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/tee/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/tee/verify.ts"],"names":[],"mappings":"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"}
@@ -43,19 +43,34 @@ export interface TeeWallet extends WalletLike {
43
43
  export declare const VALID_TEE_PROVIDERS: Set<string>;
44
44
  /** Type guard to detect TEE-backed wallets. */
45
45
  export declare function isTeeWallet(wallet: WalletLike): wallet is TeeWallet;
46
- /** Error class for TEE attestation failures. */
46
+ import type { AttestationResult } from "./types.js";
47
+ /**
48
+ * Error class for TEE attestation failures.
49
+ *
50
+ * Carries the full {@link AttestationResult} (when available) so structured
51
+ * observability tooling — Sentry's `captureException`, Datadog's custom
52
+ * error metrics — picks up `err.result.status`, `.provider`, and
53
+ * `.metadata.verifiedAt` automatically without callsite instrumentation.
54
+ * Prefer this over a separate `onDegraded` callback when throwing.
55
+ */
47
56
  export declare class TeeAttestationError extends Error {
48
- constructor(message: string);
57
+ /**
58
+ * The attestation result that triggered this error, when available.
59
+ * `undefined` for subclasses thrown before a result is constructed
60
+ * (certificate-chain parse failure, PCR mismatch on an incomplete result).
61
+ */
62
+ readonly result?: AttestationResult;
63
+ constructor(message: string, result?: AttestationResult);
49
64
  }
50
65
  /** Error class for certificate chain validation failures. */
51
66
  export declare class AttestationCertChainError extends TeeAttestationError {
52
- constructor(message: string);
67
+ constructor(message: string, result?: AttestationResult);
53
68
  }
54
69
  /** Error class for PCR value mismatch. */
55
70
  export declare class AttestationPcrMismatchError extends TeeAttestationError {
56
71
  readonly pcrIndex: number;
57
72
  readonly expected: string;
58
73
  readonly actual: string;
59
- constructor(pcrIndex: number, expected: string, actual: string);
74
+ constructor(pcrIndex: number, expected: string, actual: string, result?: AttestationResult);
60
75
  }
61
76
  //# sourceMappingURL=wallet-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-types.d.ts","sourceRoot":"","sources":["../../src/tee/wallet-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,oDAAoD;IACpD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,6EAA6E;IAC7E,eAAe,CAAC,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjD;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,qBAAqB,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C;;;;OAIG;IACH,cAAc,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACrC;AAED,kCAAkC;AAClC,eAAO,MAAM,mBAAmB,aAA6C,CAAC;AAE9E,+CAA+C;AAC/C,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,IAAI,SAAS,CAQnE;AAED,gDAAgD;AAChD,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED,6DAA6D;AAC7D,qBAAa,yBAA0B,SAAQ,mBAAmB;gBACpD,OAAO,EAAE,MAAM;CAI5B;AAED,0CAA0C;AAC1C,qBAAa,2BAA4B,SAAQ,mBAAmB;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAO/D"}
1
+ {"version":3,"file":"wallet-types.d.ts","sourceRoot":"","sources":["../../src/tee/wallet-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,oDAAoD;IACpD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,6EAA6E;IAC7E,eAAe,CAAC,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjD;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,qBAAqB,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C;;;;OAIG;IACH,cAAc,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACrC;AAED,kCAAkC;AAClC,eAAO,MAAM,mBAAmB,aAA6C,CAAC;AAE9E,+CAA+C;AAC/C,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,IAAI,SAAS,CAQnE;AAOD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;;;;;;;GAQG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C;;;;OAIG;IACH,SAAgB,MAAM,CAAC,EAAE,iBAAiB,CAAC;gBAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,iBAAiB;CAKxD;AAED,6DAA6D;AAC7D,qBAAa,yBAA0B,SAAQ,mBAAmB;gBACpD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,iBAAiB;CAIxD;AAED,0CAA0C;AAC1C,qBAAa,2BAA4B,SAAQ,mBAAmB;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAGtB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,iBAAiB;CAW7B"}
@@ -12,17 +12,32 @@ export function isTeeWallet(wallet) {
12
12
  typeof wallet.provider === "string" &&
13
13
  VALID_TEE_PROVIDERS.has(wallet.provider));
14
14
  }
15
- /** Error class for TEE attestation failures. */
15
+ /**
16
+ * Error class for TEE attestation failures.
17
+ *
18
+ * Carries the full {@link AttestationResult} (when available) so structured
19
+ * observability tooling — Sentry's `captureException`, Datadog's custom
20
+ * error metrics — picks up `err.result.status`, `.provider`, and
21
+ * `.metadata.verifiedAt` automatically without callsite instrumentation.
22
+ * Prefer this over a separate `onDegraded` callback when throwing.
23
+ */
16
24
  export class TeeAttestationError extends Error {
17
- constructor(message) {
25
+ /**
26
+ * The attestation result that triggered this error, when available.
27
+ * `undefined` for subclasses thrown before a result is constructed
28
+ * (certificate-chain parse failure, PCR mismatch on an incomplete result).
29
+ */
30
+ result;
31
+ constructor(message, result) {
18
32
  super(message);
19
33
  this.name = "TeeAttestationError";
34
+ this.result = result;
20
35
  }
21
36
  }
22
37
  /** Error class for certificate chain validation failures. */
23
38
  export class AttestationCertChainError extends TeeAttestationError {
24
- constructor(message) {
25
- super(message);
39
+ constructor(message, result) {
40
+ super(message, result);
26
41
  this.name = "AttestationCertChainError";
27
42
  }
28
43
  }
@@ -31,8 +46,8 @@ export class AttestationPcrMismatchError extends TeeAttestationError {
31
46
  pcrIndex;
32
47
  expected;
33
48
  actual;
34
- constructor(pcrIndex, expected, actual) {
35
- super(`PCR${pcrIndex} mismatch: expected ${expected}, got ${actual}`);
49
+ constructor(pcrIndex, expected, actual, result) {
50
+ super(`PCR${pcrIndex} mismatch: expected ${expected}, got ${actual}`, result);
36
51
  this.name = "AttestationPcrMismatchError";
37
52
  this.pcrIndex = pcrIndex;
38
53
  this.expected = expected;
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-types.js","sourceRoot":"","sources":["../../src/tee/wallet-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwCH,kCAAkC;AAClC,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAE9E,+CAA+C;AAC/C,MAAM,UAAU,WAAW,CAAC,MAAkB;IAC5C,OAAO,CACL,UAAU,IAAI,MAAM;QACpB,OAAQ,MAAkC,CAAC,QAAQ,KAAK,QAAQ;QAChE,mBAAmB,CAAC,GAAG,CACpB,MAAkC,CAAC,QAAkB,CACvD,CACF,CAAC;AACJ,CAAC;AAED,gDAAgD;AAChD,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,6DAA6D;AAC7D,MAAM,OAAO,yBAA0B,SAAQ,mBAAmB;IAChE,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED,0CAA0C;AAC1C,MAAM,OAAO,2BAA4B,SAAQ,mBAAmB;IACzD,QAAQ,CAAS;IACjB,QAAQ,CAAS;IACjB,MAAM,CAAS;IAExB,YAAY,QAAgB,EAAE,QAAgB,EAAE,MAAc;QAC5D,KAAK,CAAC,MAAM,QAAQ,uBAAuB,QAAQ,SAAS,MAAM,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"wallet-types.js","sourceRoot":"","sources":["../../src/tee/wallet-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwCH,kCAAkC;AAClC,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAE9E,+CAA+C;AAC/C,MAAM,UAAU,WAAW,CAAC,MAAkB;IAC5C,OAAO,CACL,UAAU,IAAI,MAAM;QACpB,OAAQ,MAAkC,CAAC,QAAQ,KAAK,QAAQ;QAChE,mBAAmB,CAAC,GAAG,CACpB,MAAkC,CAAC,QAAkB,CACvD,CACF,CAAC;AACJ,CAAC;AASD;;;;;;;;GAQG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C;;;;OAIG;IACa,MAAM,CAAqB;IAE3C,YAAY,OAAe,EAAE,MAA0B;QACrD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,6DAA6D;AAC7D,MAAM,OAAO,yBAA0B,SAAQ,mBAAmB;IAChE,YAAY,OAAe,EAAE,MAA0B;QACrD,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED,0CAA0C;AAC1C,MAAM,OAAO,2BAA4B,SAAQ,mBAAmB;IACzD,QAAQ,CAAS;IACjB,QAAQ,CAAS;IACjB,MAAM,CAAS;IAExB,YACE,QAAgB,EAChB,QAAgB,EAChB,MAAc,EACd,MAA0B;QAE1B,KAAK,CACH,MAAM,QAAQ,uBAAuB,QAAQ,SAAS,MAAM,EAAE,EAC9D,MAAM,CACP,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"vault-analytics.d.ts","sourceRoot":"","sources":["../src/vault-analytics.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EACV,kBAAkB,EAClB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAKL,KAAK,OAAO,EACb,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;CAC3C;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACvC,iDAAiD;IACjD,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,yCAAyC;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,OAAO,CAAC;IAChC,iEAAiE;IACjE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,kBAAkB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,UAAU;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,GAAG,EAAE,QAAQ,CAAC;IACd,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,0BAA0B,CAAC;IAClC,KAAK,EAAE,UAAU,CAAC;CACnB;AAID;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,kBAAkB,GAAG,0BAA0B,EACtD,OAAO,EAAE,MAAM,GACd,WAAW,CA2Hb;AAID;;;GAGG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,OAAwB,GAChC,OAAO,CAAC,YAAY,CAAC,CAgDvB"}
1
+ {"version":3,"file":"vault-analytics.d.ts","sourceRoot":"","sources":["../src/vault-analytics.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EACV,kBAAkB,EAClB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAGL,KAAK,QAAQ,EACb,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAKL,KAAK,OAAO,EACb,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;CAC3C;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACvC,iDAAiD;IACjD,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,yCAAyC;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,OAAO,CAAC;IAChC,iEAAiE;IACjE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,kBAAkB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,UAAU;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,GAAG,EAAE,QAAQ,CAAC;IACd,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,0BAA0B,CAAC;IAClC,KAAK,EAAE,UAAU,CAAC;CACnB;AAID;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,kBAAkB,GAAG,0BAA0B,EACtD,OAAO,EAAE,MAAM,GACd,WAAW,CA2Hb;AAID;;;GAGG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,OAAwB,GAChC,OAAO,CAAC,YAAY,CAAC,CAuDvB"}
@@ -9,6 +9,7 @@
9
9
  */
10
10
  import { VaultStatus } from "./generated/types/vaultStatus.js";
11
11
  import { resolveVaultStateForOwner, getPendingPolicyForVault, } from "./state-resolver.js";
12
+ import { isAccountNotFoundError } from "./dashboard/errors.js";
12
13
  import { getVaultPnL, getVaultTokenBalances, } from "./balance-tracker.js";
13
14
  import { getSpendingVelocity } from "./spending-analytics.js";
14
15
  import { FULL_CAPABILITY, PROTOCOL_MODE_ALLOWLIST, EPOCH_DURATION, NUM_EPOCHS, } from "./types.js";
@@ -136,7 +137,15 @@ export async function getVaultSummary(rpc, vault, network = "mainnet-beta") {
136
137
  resolveVaultStateForOwner(rpc, vault, undefined, network),
137
138
  getVaultPnL(rpc, vault, network),
138
139
  getVaultTokenBalances(rpc, vault, network),
139
- getPendingPolicyForVault(rpc, vault).catch(() => null),
140
+ getPendingPolicyForVault(rpc, vault).catch((err) => {
141
+ // Account-not-found is expected (no pending update) — return null.
142
+ // Re-throw everything else (RPC transport, decode failures) so the
143
+ // caller surfaces real errors rather than silently seeing
144
+ // `pendingPolicy: null` on an unrelated outage.
145
+ if (isAccountNotFoundError(err))
146
+ return null;
147
+ throw err;
148
+ }),
140
149
  ]);
141
150
  const nowUnix = state.resolvedAtTimestamp;
142
151
  const health = getVaultHealth(state, nowUnix);
@@ -1 +1 @@
1
- {"version":3,"file":"vault-analytics.js","sourceRoot":"","sources":["../src/vault-analytics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vault-analytics.js","sourceRoot":"","sources":["../src/vault-analytics.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"facilitator-verify.d.ts","sourceRoot":"","sources":["../../src/x402/facilitator-verify.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAKjD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,cAAc,EAC1B,eAAe,CAAC,EAAE,MAAM,EACxB,GAAG,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,EACvB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,uBAAuB,CAAC,CA2DlC"}
1
+ {"version":3,"file":"facilitator-verify.d.ts","sourceRoot":"","sources":["../../src/x402/facilitator-verify.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAMjD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,cAAc,EAC1B,eAAe,CAAC,EAAE,MAAM,EACxB,GAAG,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,EACvB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,uBAAuB,CAAC,CA8DlC"}
@@ -4,6 +4,7 @@
4
4
  * Validates settlement responses from x402 facilitators.
5
5
  * Non-fatal — logs warnings on suspicious responses.
6
6
  */
7
+ import { redactCause } from "../network-errors.js";
7
8
  /** Base58 character set for validation */
8
9
  const BASE58_REGEX = /^[1-9A-HJ-NP-Za-km-z]{64,88}$/;
9
10
  /**
@@ -47,8 +48,11 @@ export async function validateSettlement(settlement, expectedNetwork, rpc, timeo
47
48
  warnings.push(`Settlement TX ${settlement.transaction.slice(0, 12)}... not confirmed on-chain within ${timeoutMs ?? 10_000}ms`);
48
49
  }
49
50
  }
50
- catch {
51
- warnings.push(`Failed to verify settlement TX on-chain: ${settlement.transaction.slice(0, 12)}...`);
51
+ catch (err) {
52
+ // Attach a redacted cause so consumers can distinguish RPC outage
53
+ // from genuine settlement-not-found without parsing the raw error.
54
+ const cause = redactCause(err);
55
+ warnings.push(`Failed to verify settlement TX on-chain: ${settlement.transaction.slice(0, 12)}... (${cause.message ?? cause.name ?? cause.code ?? "unknown"})`);
52
56
  }
53
57
  }
54
58
  return { valid: true, warnings };
@@ -1 +1 @@
1
- {"version":3,"file":"facilitator-verify.js","sourceRoot":"","sources":["../../src/x402/facilitator-verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"facilitator-verify.js","sourceRoot":"","sources":["../../src/x402/facilitator-verify.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@usesigil/kit",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "type": "module",
5
5
  "author": "Kaleb Rupe (https://x.com/MightieMags)",
6
6
  "homepage": "https://github.com/Sigil-Trade/sigil#readme",
@@ -47,7 +47,8 @@
47
47
  "@solana-program/compute-budget": "^0.15.0"
48
48
  },
49
49
  "peerDependencies": {
50
- "@solana/kit": "^6.2.0"
50
+ "@solana/kit": "^6.2.0",
51
+ "@solana/errors": "^6.2.0"
51
52
  },
52
53
  "optionalDependencies": {
53
54
  "cbor-x": "^1.6.0"
@@ -55,6 +56,7 @@
55
56
  "devDependencies": {
56
57
  "@codama/nodes-from-anchor": "1.3.9",
57
58
  "@codama/renderers-js": "2.0.3",
59
+ "@solana/errors": "^6.2.0",
58
60
  "@types/chai": "^5.2.3",
59
61
  "@types/mocha": "^10.0.6",
60
62
  "chai": "^6.2.2",