From c50264b832a909e33cd55e6af70f95fea0edd945 Mon Sep 17 00:00:00 2001 From: pedromcunha Date: Fri, 30 Jan 2026 12:52:03 -0500 Subject: [PATCH 1/2] Improve fast fills error handling --- demo/pages/api/fast-fill.ts | 16 +++++++++------- packages/sdk/src/actions/fastFill.ts | 14 +++++++------- packages/sdk/src/utils/axios.ts | 2 +- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/demo/pages/api/fast-fill.ts b/demo/pages/api/fast-fill.ts index 1d7f1ad19..be81f1ab7 100644 --- a/demo/pages/api/fast-fill.ts +++ b/demo/pages/api/fast-fill.ts @@ -63,18 +63,20 @@ export default async function handler( return res.status(200).json(fastFillData) } catch (error: any) { - // Handle APIError from the SDK if (error.statusCode) { - return res.status(error.statusCode).json({ - error: error.message || 'Fast fill failed' - }) + return res.status(400).json({ + message: error.message || 'Fast fill failed', + code: error?.rawError?.code ?? 'UNKNOWN_ERROR' + } as any) + } else { + throw error } - throw error } } catch (error: any) { console.error('Fast fill proxy error:', error) return res.status(500).json({ - error: error?.message || 'Internal server error' - }) + error: error?.message || 'Internal server error', + code: 'UNKNOWN_ERROR' + } as any) } } diff --git a/packages/sdk/src/actions/fastFill.ts b/packages/sdk/src/actions/fastFill.ts index 79ee2f64e..2d38208c5 100644 --- a/packages/sdk/src/actions/fastFill.ts +++ b/packages/sdk/src/actions/fastFill.ts @@ -36,14 +36,14 @@ export async function fastFill( data: parameters, headers: getApiKeyHeader(client) } - - const res = await axios.request(request) - if (res.status !== 200) { + try { + const res = await axios.request(request) + return res.data + } catch (error: any) { throw new APIError( - res?.data?.error || res?.data?.message, - res.status, - res.data + error?.message || 'Fast fill failed', + error?.statusCode || 500, + error ) } - return res.data } diff --git a/packages/sdk/src/utils/axios.ts b/packages/sdk/src/utils/axios.ts index 791d44659..dea99ec82 100644 --- a/packages/sdk/src/utils/axios.ts +++ b/packages/sdk/src/utils/axios.ts @@ -17,7 +17,7 @@ axios.interceptors.response.use( (error) => { return Promise.reject( new APIError( - error.response?.data?.message, + error.response?.data?.message || error.response?.data?.error, error.response?.data?.statusCode || 500, { ...error.response?.data, From 2491134eccc54f6751ff5204aaef9378052e6815 Mon Sep 17 00:00:00 2001 From: pedromcunha Date: Fri, 30 Jan 2026 12:52:24 -0500 Subject: [PATCH 2/2] feat: changeset --- .changeset/full-rooms-listen.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/full-rooms-listen.md diff --git a/.changeset/full-rooms-listen.md b/.changeset/full-rooms-listen.md new file mode 100644 index 000000000..3c9481bfa --- /dev/null +++ b/.changeset/full-rooms-listen.md @@ -0,0 +1,5 @@ +--- +'@relayprotocol/relay-sdk': patch +--- + +Improve fast fills error handling