UNPKG

@metamask/eip-5792-middleware

Version:

Implements the JSON-RPC methods for sending multiple calls from the user's wallet, and checking their status, as referenced in EIP-5792

26 lines 1.14 kB
import { rpcErrors } from "@metamask/rpc-errors"; import { GetCapabilitiesStruct } from "../types.mjs"; import { validateAndNormalizeKeyholder, validateParams } from "../utils.mjs"; /** * The RPC method handler middleware for `wallet_getCapabilities` * * @param req - The JSON RPC request's end callback. * @param res - The JSON RPC request's pending response object. * @param hooks - The hooks object. * @param hooks.getAccounts - Function that retrieves available accounts. * @param hooks.getCapabilities - Function that retrieves the capabilities for atomic transactions on specified chains. */ export async function walletGetCapabilities(req, res, { getAccounts, getCapabilities, }) { if (!getCapabilities) { throw rpcErrors.methodNotSupported(); } validateParams(req.params, GetCapabilitiesStruct); const address = req.params[0]; const chainIds = req.params[1]; await validateAndNormalizeKeyholder(address, req, { getAccounts, }); const capabilities = await getCapabilities(address, chainIds, req); res.result = capabilities; } //# sourceMappingURL=wallet_getCapabilities.mjs.map