From 43880444fc7629cd1b882912e34dba3abfcab308 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Se=CC=81rgio?= Date: Fri, 20 Dec 2024 12:23:39 +0000 Subject: [PATCH 1/6] Removed mpc validation --- packages/agent-sdk/src/evm/index.ts | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/packages/agent-sdk/src/evm/index.ts b/packages/agent-sdk/src/evm/index.ts index 09fa972..2e34219 100644 --- a/packages/agent-sdk/src/evm/index.ts +++ b/packages/agent-sdk/src/evm/index.ts @@ -59,25 +59,18 @@ export async function validateRequest< >( req: TRequest, // TODO(bh2smith): Use Bitte Wallet's safeSaltNonce as Default. - safeSaltNonce: string, responder?: (data: object, init?: { status?: number }) => TResponse, ): Promise { const createResponse = responder ? responder : fallbackResponder; const metadataHeader = req.headers.get("mb-metadata"); const metadata = JSON.parse(metadataHeader ?? "{}"); const { accountId, evmAddress } = metadata; - if (!accountId || !evmAddress) { + if (!accountId && !evmAddress) { const error = "Missing accountId or evmAddress in metadata"; console.error(error); return createResponse({ error }, { status: 400 }) as TResponse; } - const derivedSafeAddress = await getAdapterAddress(accountId, safeSaltNonce); - if (derivedSafeAddress !== getAddress(evmAddress)) { - const error = `Invalid safeAddress in metadata: ${derivedSafeAddress} !== ${evmAddress}`; - console.error(error); - return createResponse({ error }, { status: 401 }) as TResponse; - } return null; } From a6d6bbed5cf2e3882ea4d6f237173ae546bd3618 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Se=CC=81rgio?= Date: Fri, 20 Dec 2024 12:57:36 +0000 Subject: [PATCH 2/6] Updated tests --- packages/agent-sdk/tests/evm/index.spec.ts | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/packages/agent-sdk/tests/evm/index.spec.ts b/packages/agent-sdk/tests/evm/index.spec.ts index addc7c6..b2657f4 100644 --- a/packages/agent-sdk/tests/evm/index.spec.ts +++ b/packages/agent-sdk/tests/evm/index.spec.ts @@ -113,7 +113,7 @@ describe("evm/index", () => { mockGetAdapterAddress.mockResolvedValue("0x123"); - const result = await validateRequest(req, "safeSaltNonce"); + const result = await validateRequest(req); expect(result).toBeNull(); }); @@ -125,7 +125,7 @@ describe("evm/index", () => { }, } as BaseRequest; - const result = await validateRequest(req, "safeSaltNonce"); + const result = await validateRequest(req); expect(result).toEqual({ json: expect.any(Function), @@ -152,7 +152,7 @@ describe("evm/index", () => { mockGetAdapterAddress.mockResolvedValue(mockAddress); - const result = await validateRequest(req, "0"); + const result = await validateRequest(req); expect(result).toEqual({ json: expect.any(Function), }); @@ -182,7 +182,7 @@ describe("evm/index", () => { }), ); - const result = await validateNextRequest(request, "0"); + const result = await validateNextRequest(request); // Get the response data const responseData = await result?.json(); @@ -198,11 +198,9 @@ describe("evm/index", () => { // TODO: Use in Next Agents. export async function validateNextRequest( req: NextRequest, - safeSaltNonce?: string, ): Promise { const result = await validateRequest( req, - safeSaltNonce || "0", (data: unknown, init?: { status?: number }) => NextResponse.json(data, init), ); From b16e62036a364b662e5b4c586cf47aedb9ecb9db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Seco?= <52105707+SurgeCode@users.noreply.github.com> Date: Fri, 20 Dec 2024 12:59:34 +0000 Subject: [PATCH 3/6] Update packages/agent-sdk/src/evm/index.ts Co-authored-by: Benjamin Smith --- packages/agent-sdk/src/evm/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/agent-sdk/src/evm/index.ts b/packages/agent-sdk/src/evm/index.ts index 2e34219..c05accc 100644 --- a/packages/agent-sdk/src/evm/index.ts +++ b/packages/agent-sdk/src/evm/index.ts @@ -66,7 +66,7 @@ export async function validateRequest< const metadata = JSON.parse(metadataHeader ?? "{}"); const { accountId, evmAddress } = metadata; if (!accountId && !evmAddress) { - const error = "Missing accountId or evmAddress in metadata"; + const error = "Missing accountId and evmAddress in metadata"; console.error(error); return createResponse({ error }, { status: 400 }) as TResponse; } From f0971b940ee9885a24ec10f8db0ab1adee7fdaa2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Seco?= <52105707+SurgeCode@users.noreply.github.com> Date: Fri, 20 Dec 2024 12:59:41 +0000 Subject: [PATCH 4/6] Update packages/agent-sdk/src/evm/index.ts Co-authored-by: Benjamin Smith --- packages/agent-sdk/src/evm/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/agent-sdk/src/evm/index.ts b/packages/agent-sdk/src/evm/index.ts index c05accc..a4befb5 100644 --- a/packages/agent-sdk/src/evm/index.ts +++ b/packages/agent-sdk/src/evm/index.ts @@ -58,7 +58,6 @@ export async function validateRequest< TResponse extends BaseResponse, >( req: TRequest, - // TODO(bh2smith): Use Bitte Wallet's safeSaltNonce as Default. responder?: (data: object, init?: { status?: number }) => TResponse, ): Promise { const createResponse = responder ? responder : fallbackResponder; From ca9d40b814b65a24c7dca8cec39959ba93e8b8b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Se=CC=81rgio?= Date: Fri, 20 Dec 2024 13:15:27 +0000 Subject: [PATCH 5/6] Fix tests --- packages/agent-sdk/tests/evm/index.spec.ts | 67 ++++++---------------- 1 file changed, 17 insertions(+), 50 deletions(-) diff --git a/packages/agent-sdk/tests/evm/index.spec.ts b/packages/agent-sdk/tests/evm/index.spec.ts index b2657f4..3c2b691 100644 --- a/packages/agent-sdk/tests/evm/index.spec.ts +++ b/packages/agent-sdk/tests/evm/index.spec.ts @@ -92,33 +92,7 @@ describe("evm/index", () => { }); describe("validateRequest", () => { - const mockAddress = "0x1111111111111111111111111111111111111111"; - const mockGetAdapterAddress = jest.fn(); - jest.mock("../../src/evm", () => ({ - ...jest.requireActual("../../src/evm"), - getAdapterAddress: mockGetAdapterAddress, - })); - - it("returns null for valid request", async () => { - const req = { - headers: { - get: jest.fn().mockReturnValue( - JSON.stringify({ - accountId: "testAccount", - evmAddress: "0x123", - }), - ), - }, - } as BaseRequest; - - mockGetAdapterAddress.mockResolvedValue("0x123"); - - const result = await validateRequest(req); - - expect(result).toBeNull(); - }); - - it("returns error response for missing accountId or evmAddress", async () => { + it("returns error response for missing accountId and evmAddress", async () => { const req = { headers: { get: jest.fn().mockReturnValue("{}"), @@ -138,32 +112,34 @@ describe("evm/index", () => { }); }); - it("returns error response for invalid safeAddress", async () => { + it("returns null for valid request with accountId", async () => { const req = { headers: { get: jest.fn().mockReturnValue( JSON.stringify({ accountId: "testAccount", - evmAddress: mockAddress, }), ), }, } as BaseRequest; - mockGetAdapterAddress.mockResolvedValue(mockAddress); - const result = await validateRequest(req); - expect(result).toEqual({ - json: expect.any(Function), - }); + expect(result).toBeNull(); + }); - const jsonResponse = result?.json({}, {}); - expect(jsonResponse).toEqual({ - data: { - error: `Invalid safeAddress in metadata: 0x123 !== ${mockAddress}`, + it("returns null for valid request with evmAddress", async () => { + const req = { + headers: { + get: jest.fn().mockReturnValue( + JSON.stringify({ + evmAddress: "0x123", + }), + ), }, - status: 401, - }); + } as BaseRequest; + + const result = await validateRequest(req); + expect(result).toBeNull(); }); }); @@ -183,14 +159,7 @@ describe("evm/index", () => { ); const result = await validateNextRequest(request); - // Get the response data - const responseData = await result?.json(); - - // Assert the status and response data separately - expect(result?.status).toBe(401); - expect(responseData).toEqual({ - error: `Invalid safeAddress in metadata: 0x123 !== ${zeroAddress}`, - }); + expect(result).toBeNull(); }); }); }); @@ -205,7 +174,5 @@ export async function validateNextRequest( NextResponse.json(data, init), ); - console.log("validateNextRequest result:", result); // Add this line for debugging - return result; } From fbc776e4ac47053496aa3725e31ef06d85551320 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Se=CC=81rgio?= Date: Fri, 20 Dec 2024 13:29:26 +0000 Subject: [PATCH 6/6] Test fix --- packages/agent-sdk/tests/evm/index.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/agent-sdk/tests/evm/index.spec.ts b/packages/agent-sdk/tests/evm/index.spec.ts index 3c2b691..4c99600 100644 --- a/packages/agent-sdk/tests/evm/index.spec.ts +++ b/packages/agent-sdk/tests/evm/index.spec.ts @@ -107,7 +107,7 @@ describe("evm/index", () => { const jsonResponse = result?.json({}, {}); expect(jsonResponse).toEqual({ - data: { error: "Missing accountId or evmAddress in metadata" }, + data: { error: "Missing accountId and evmAddress in metadata" }, status: 400, }); });