Skip to content

Commit ad51f46

Browse files
SurgeCodebh2smith
andauthored
Remove MPC validation (#13)
Co-authored-by: Benjamin Smith <[email protected]>
1 parent 1e4a289 commit ad51f46

File tree

2 files changed

+23
-66
lines changed

2 files changed

+23
-66
lines changed

packages/agent-sdk/src/evm/index.ts

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -58,26 +58,18 @@ export async function validateRequest<
5858
TResponse extends BaseResponse,
5959
>(
6060
req: TRequest,
61-
// TODO(bh2smith): Use Bitte Wallet's safeSaltNonce as Default.
62-
safeSaltNonce: string,
6361
responder?: (data: object, init?: { status?: number }) => TResponse,
6462
): Promise<TResponse | null> {
6563
const createResponse = responder ? responder : fallbackResponder;
6664
const metadataHeader = req.headers.get("mb-metadata");
6765
const metadata = JSON.parse(metadataHeader ?? "{}");
6866
const { accountId, evmAddress } = metadata;
69-
if (!accountId || !evmAddress) {
70-
const error = "Missing accountId or evmAddress in metadata";
67+
if (!accountId && !evmAddress) {
68+
const error = "Missing accountId and evmAddress in metadata";
7169
console.error(error);
7270
return createResponse({ error }, { status: 400 }) as TResponse;
7371
}
7472

75-
const derivedSafeAddress = await getAdapterAddress(accountId, safeSaltNonce);
76-
if (derivedSafeAddress !== getAddress(evmAddress)) {
77-
const error = `Invalid safeAddress in metadata: ${derivedSafeAddress} !== ${evmAddress}`;
78-
console.error(error);
79-
return createResponse({ error }, { status: 401 }) as TResponse;
80-
}
8173
return null;
8274
}
8375

packages/agent-sdk/tests/evm/index.spec.ts

Lines changed: 21 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -92,78 +92,54 @@ describe("evm/index", () => {
9292
});
9393

9494
describe("validateRequest", () => {
95-
const mockAddress = "0x1111111111111111111111111111111111111111";
96-
const mockGetAdapterAddress = jest.fn();
97-
jest.mock("../../src/evm", () => ({
98-
...jest.requireActual("../../src/evm"),
99-
getAdapterAddress: mockGetAdapterAddress,
100-
}));
101-
102-
it("returns null for valid request", async () => {
103-
const req = {
104-
headers: {
105-
get: jest.fn().mockReturnValue(
106-
JSON.stringify({
107-
accountId: "testAccount",
108-
evmAddress: "0x123",
109-
}),
110-
),
111-
},
112-
} as BaseRequest;
113-
114-
mockGetAdapterAddress.mockResolvedValue("0x123");
115-
116-
const result = await validateRequest(req, "safeSaltNonce");
117-
118-
expect(result).toBeNull();
119-
});
120-
121-
it("returns error response for missing accountId or evmAddress", async () => {
95+
it("returns error response for missing accountId and evmAddress", async () => {
12296
const req = {
12397
headers: {
12498
get: jest.fn().mockReturnValue("{}"),
12599
},
126100
} as BaseRequest;
127101

128-
const result = await validateRequest(req, "safeSaltNonce");
102+
const result = await validateRequest(req);
129103

130104
expect(result).toEqual({
131105
json: expect.any(Function),
132106
});
133107

134108
const jsonResponse = result?.json({}, {});
135109
expect(jsonResponse).toEqual({
136-
data: { error: "Missing accountId or evmAddress in metadata" },
110+
data: { error: "Missing accountId and evmAddress in metadata" },
137111
status: 400,
138112
});
139113
});
140114

141-
it("returns error response for invalid safeAddress", async () => {
115+
it("returns null for valid request with accountId", async () => {
142116
const req = {
143117
headers: {
144118
get: jest.fn().mockReturnValue(
145119
JSON.stringify({
146120
accountId: "testAccount",
147-
evmAddress: mockAddress,
148121
}),
149122
),
150123
},
151124
} as BaseRequest;
152125

153-
mockGetAdapterAddress.mockResolvedValue(mockAddress);
154-
155-
const result = await validateRequest(req, "0");
156-
expect(result).toEqual({
157-
json: expect.any(Function),
158-
});
126+
const result = await validateRequest(req);
127+
expect(result).toBeNull();
128+
});
159129

160-
const jsonResponse = result?.json({}, {});
161-
expect(jsonResponse).toEqual({
162-
data: {
163-
error: `Invalid safeAddress in metadata: 0x123 !== ${mockAddress}`,
130+
it("returns null for valid request with evmAddress", async () => {
131+
const req = {
132+
headers: {
133+
get: jest.fn().mockReturnValue(
134+
JSON.stringify({
135+
evmAddress: "0x123",
136+
}),
137+
),
164138
},
165-
status: 401,
166-
});
139+
} as BaseRequest;
140+
141+
const result = await validateRequest(req);
142+
expect(result).toBeNull();
167143
});
168144
});
169145

@@ -182,32 +158,21 @@ describe("evm/index", () => {
182158
}),
183159
);
184160

185-
const result = await validateNextRequest(request, "0");
186-
// Get the response data
187-
const responseData = await result?.json();
188-
189-
// Assert the status and response data separately
190-
expect(result?.status).toBe(401);
191-
expect(responseData).toEqual({
192-
error: `Invalid safeAddress in metadata: 0x123 !== ${zeroAddress}`,
193-
});
161+
const result = await validateNextRequest(request);
162+
expect(result).toBeNull();
194163
});
195164
});
196165
});
197166

198167
// TODO: Use in Next Agents.
199168
export async function validateNextRequest(
200169
req: NextRequest,
201-
safeSaltNonce?: string,
202170
): Promise<NextResponse | null> {
203171
const result = await validateRequest<NextRequest, NextResponse>(
204172
req,
205-
safeSaltNonce || "0",
206173
(data: unknown, init?: { status?: number }) =>
207174
NextResponse.json(data, init),
208175
);
209176

210-
console.log("validateNextRequest result:", result); // Add this line for debugging
211-
212177
return result;
213178
}

0 commit comments

Comments
 (0)