From afa23bb452f0969b99409b0f9f7cb4a70a119052 Mon Sep 17 00:00:00 2001 From: Benjamin Gobeil Date: Thu, 19 Mar 2026 07:55:17 -0400 Subject: [PATCH 1/4] fix: correct auth getMessage endpoint to /message --- src/application/ports/backend-client-port.ts | 2 +- src/infrastructure/http/backend-client.ts | 2 +- test/cli/factoring/backend-commands.e2e.test.ts | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/application/ports/backend-client-port.ts b/src/application/ports/backend-client-port.ts index bb31894..af55872 100644 --- a/src/application/ports/backend-client-port.ts +++ b/src/application/ports/backend-client-port.ts @@ -13,7 +13,7 @@ import type { * Covers authentication, underwriting, and tap-credit flows. */ export interface BackendClientService { - /** GET /auth/{wallet}/getMessage — fetch SIWE challenge message. */ + /** GET /auth/{wallet}/message — fetch SIWE challenge message. */ readonly getMessage: (wallet: string) => Effect.Effect; /** POST /auth/{wallet}/verifyMessage — submit signed message and receive JWT. */ diff --git a/src/infrastructure/http/backend-client.ts b/src/infrastructure/http/backend-client.ts index a26f4dc..99d133d 100644 --- a/src/infrastructure/http/backend-client.ts +++ b/src/infrastructure/http/backend-client.ts @@ -27,7 +27,7 @@ const fetchJson = (url: string, init?: RequestInit): Effect.Effect export const BackendClientLive = Layer.succeed(BackendClientService, { getMessage: (wallet: string) => - fetchJson(`${AUTH_BASE_URL}/auth/${wallet}/getMessage`), + fetchJson(`${AUTH_BASE_URL}/auth/${wallet}/message`), verifyMessage: (wallet: string, signature: string) => fetchJson(`${AUTH_BASE_URL}/auth/${wallet}/verifyMessage`, { diff --git a/test/cli/factoring/backend-commands.e2e.test.ts b/test/cli/factoring/backend-commands.e2e.test.ts index 78e291f..7852dec 100644 --- a/test/cli/factoring/backend-commands.e2e.test.ts +++ b/test/cli/factoring/backend-commands.e2e.test.ts @@ -54,8 +54,8 @@ const handleRequest = async (req: IncomingMessage, res: ServerResponse) => { const url = req.url ?? ''; const method = req.method ?? 'GET'; - // GET /auth/{wallet}/getMessage - if (method === 'GET' && url.match(/^\/auth\/0x[0-9a-fA-F]+\/getMessage$/)) { + // GET /auth/{wallet}/message + if (method === 'GET' && url.match(/^\/auth\/0x[0-9a-fA-F]+\/message$/)) { res.writeHead(200, { 'Content-Type': 'application/json' }); res.end(JSON.stringify({ message: SIWE_MESSAGE })); return; From fa9efcc0e7fbe3059b493a3a32b942286673d86e Mon Sep 17 00:00:00 2001 From: Benjamin Gobeil Date: Thu, 19 Mar 2026 07:59:22 -0400 Subject: [PATCH 2/4] fix: use correct /message/{wallet} endpoint path --- src/application/ports/backend-client-port.ts | 2 +- src/infrastructure/http/backend-client.ts | 2 +- test/cli/factoring/backend-commands.e2e.test.ts | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/application/ports/backend-client-port.ts b/src/application/ports/backend-client-port.ts index af55872..6157401 100644 --- a/src/application/ports/backend-client-port.ts +++ b/src/application/ports/backend-client-port.ts @@ -13,7 +13,7 @@ import type { * Covers authentication, underwriting, and tap-credit flows. */ export interface BackendClientService { - /** GET /auth/{wallet}/message — fetch SIWE challenge message. */ + /** GET /message/{wallet} — fetch SIWE challenge message. */ readonly getMessage: (wallet: string) => Effect.Effect; /** POST /auth/{wallet}/verifyMessage — submit signed message and receive JWT. */ diff --git a/src/infrastructure/http/backend-client.ts b/src/infrastructure/http/backend-client.ts index 99d133d..2b2b793 100644 --- a/src/infrastructure/http/backend-client.ts +++ b/src/infrastructure/http/backend-client.ts @@ -27,7 +27,7 @@ const fetchJson = (url: string, init?: RequestInit): Effect.Effect export const BackendClientLive = Layer.succeed(BackendClientService, { getMessage: (wallet: string) => - fetchJson(`${AUTH_BASE_URL}/auth/${wallet}/message`), + fetchJson(`${AUTH_BASE_URL}/message/${wallet}`), verifyMessage: (wallet: string, signature: string) => fetchJson(`${AUTH_BASE_URL}/auth/${wallet}/verifyMessage`, { diff --git a/test/cli/factoring/backend-commands.e2e.test.ts b/test/cli/factoring/backend-commands.e2e.test.ts index 7852dec..7925672 100644 --- a/test/cli/factoring/backend-commands.e2e.test.ts +++ b/test/cli/factoring/backend-commands.e2e.test.ts @@ -54,8 +54,8 @@ const handleRequest = async (req: IncomingMessage, res: ServerResponse) => { const url = req.url ?? ''; const method = req.method ?? 'GET'; - // GET /auth/{wallet}/message - if (method === 'GET' && url.match(/^\/auth\/0x[0-9a-fA-F]+\/message$/)) { + // GET /message/{wallet} + if (method === 'GET' && url.match(/^\/message\/0x[0-9a-fA-F]+$/)) { res.writeHead(200, { 'Content-Type': 'application/json' }); res.end(JSON.stringify({ message: SIWE_MESSAGE })); return; From b4b59d88df006080bd66845b605422b35745eaa6 Mon Sep 17 00:00:00 2001 From: Benjamin Gobeil Date: Thu, 19 Mar 2026 08:00:54 -0400 Subject: [PATCH 3/4] fix: use correct /verify/{wallet} endpoint path --- src/application/ports/backend-client-port.ts | 2 +- src/infrastructure/http/backend-client.ts | 2 +- test/cli/factoring/backend-commands.e2e.test.ts | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/application/ports/backend-client-port.ts b/src/application/ports/backend-client-port.ts index 6157401..73da599 100644 --- a/src/application/ports/backend-client-port.ts +++ b/src/application/ports/backend-client-port.ts @@ -16,7 +16,7 @@ export interface BackendClientService { /** GET /message/{wallet} — fetch SIWE challenge message. */ readonly getMessage: (wallet: string) => Effect.Effect; - /** POST /auth/{wallet}/verifyMessage — submit signed message and receive JWT. */ + /** POST /verify/{wallet} — submit signed message and receive JWT. */ readonly verifyMessage: (wallet: string, signature: string) => Effect.Effect; /** POST /underwrite/{wallet}/chain/{chainId}/pool/{poolAddress} — underwrite claims. */ diff --git a/src/infrastructure/http/backend-client.ts b/src/infrastructure/http/backend-client.ts index 2b2b793..a7d2f93 100644 --- a/src/infrastructure/http/backend-client.ts +++ b/src/infrastructure/http/backend-client.ts @@ -30,7 +30,7 @@ export const BackendClientLive = Layer.succeed(BackendClientService, { fetchJson(`${AUTH_BASE_URL}/message/${wallet}`), verifyMessage: (wallet: string, signature: string) => - fetchJson(`${AUTH_BASE_URL}/auth/${wallet}/verifyMessage`, { + fetchJson(`${AUTH_BASE_URL}/verify/${wallet}`, { method: 'POST', headers: { 'Content-Type': 'text/plain' }, body: signature, diff --git a/test/cli/factoring/backend-commands.e2e.test.ts b/test/cli/factoring/backend-commands.e2e.test.ts index 7925672..fdb710e 100644 --- a/test/cli/factoring/backend-commands.e2e.test.ts +++ b/test/cli/factoring/backend-commands.e2e.test.ts @@ -61,8 +61,8 @@ const handleRequest = async (req: IncomingMessage, res: ServerResponse) => { return; } - // POST /auth/{wallet}/verifyMessage - if (method === 'POST' && url.match(/^\/auth\/0x[0-9a-fA-F]+\/verifyMessage$/)) { + // POST /verify/{wallet} + if (method === 'POST' && url.match(/^\/verify\/0x[0-9a-fA-F]+$/)) { const signature = await readBody(req); const walletMatch = url.match(/\/auth\/(0x[0-9a-fA-F]+)\//); const wallet = walletMatch?.[1] ?? ''; From 847c7b2ca3cc82ad54936ce6d499541a30e6c4f3 Mon Sep 17 00:00:00 2001 From: Benjamin Gobeil Date: Thu, 19 Mar 2026 08:14:27 -0400 Subject: [PATCH 4/4] fix: update wallet extraction regex in mock server to match /verify/{wallet} --- test/cli/factoring/backend-commands.e2e.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/cli/factoring/backend-commands.e2e.test.ts b/test/cli/factoring/backend-commands.e2e.test.ts index fdb710e..8f09dca 100644 --- a/test/cli/factoring/backend-commands.e2e.test.ts +++ b/test/cli/factoring/backend-commands.e2e.test.ts @@ -64,7 +64,7 @@ const handleRequest = async (req: IncomingMessage, res: ServerResponse) => { // POST /verify/{wallet} if (method === 'POST' && url.match(/^\/verify\/0x[0-9a-fA-F]+$/)) { const signature = await readBody(req); - const walletMatch = url.match(/\/auth\/(0x[0-9a-fA-F]+)\//); + const walletMatch = url.match(/\/verify\/(0x[0-9a-fA-F]+)$/); const wallet = walletMatch?.[1] ?? ''; // Actually verify the SIWE signature