Skip to content

Commit bb9120e

Browse files
add returning public key with providers
1 parent b72b967 commit bb9120e

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

packages/providers/account-abstraction-provider/src/rpc/ethRpcMiddlewares.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ export async function createAaMiddleware({
5959
if (!handlers.getPrivateKey) {
6060
throw rpcErrors.methodNotSupported();
6161
}
62-
res.result = handlers.getPrivateKey(req);
62+
res.result = await handlers.getPrivateKey(req);
6363
}
6464

6565
async function sendTransaction(req: JRPCRequest<TransactionParams>, res: JRPCResponse<unknown>): Promise<void> {
@@ -161,12 +161,21 @@ export async function createAaMiddleware({
161161
res.result = await handlers.processPersonalMessage(msgParams, req);
162162
}
163163

164+
async function fetchPublicKey(req: JRPCRequest<unknown>, res: JRPCResponse<unknown>): Promise<void> {
165+
if (!handlers.getPublicKey) {
166+
throw rpcErrors.methodNotSupported();
167+
}
168+
res.result = await handlers.getPublicKey(req);
169+
}
170+
164171
return createScaffoldMiddleware({
165172
// account lookups
166173
eth_accounts: createAsyncMiddleware(lookupAccounts),
167174
eth_requestAccounts: createAsyncMiddleware(lookupAccounts),
168175
eth_private_key: createAsyncMiddleware(fetchPrivateKey),
169176
private_key: createAsyncMiddleware(fetchPrivateKey),
177+
eth_public_key: createAsyncMiddleware(fetchPublicKey),
178+
public_key: createAsyncMiddleware(fetchPublicKey),
170179
// tx signatures
171180
eth_sendTransaction: createAsyncMiddleware(sendTransaction),
172181
eth_signTransaction: createAsyncMiddleware(signTransaction),

packages/providers/ethereum-provider/src/rpc/walletMidddleware.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,14 +170,14 @@ export function createWalletMiddleware({
170170
if (!getPrivateKey) {
171171
throw rpcErrors.methodNotSupported();
172172
}
173-
res.result = getPrivateKey(req);
173+
res.result = await getPrivateKey(req);
174174
}
175175

176176
async function fetchPublicKey(req: JRPCRequest<unknown>, res: JRPCResponse<unknown>): Promise<void> {
177177
if (!getPublicKey) {
178178
throw rpcErrors.methodNotSupported();
179179
}
180-
res.result = getPublicKey(req);
180+
res.result = await getPublicKey(req);
181181
}
182182

183183
return createScaffoldMiddleware({

0 commit comments

Comments
 (0)