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

30 lines 1.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.walletGetCapabilities = void 0; const rpc_errors_1 = require("@metamask/rpc-errors"); const types_1 = require("../types.cjs"); const utils_1 = require("../utils.cjs"); /** * 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. */ async function walletGetCapabilities(req, res, { getAccounts, getCapabilities, }) { if (!getCapabilities) { throw rpc_errors_1.rpcErrors.methodNotSupported(); } (0, utils_1.validateParams)(req.params, types_1.GetCapabilitiesStruct); const address = req.params[0]; const chainIds = req.params[1]; await (0, utils_1.validateAndNormalizeKeyholder)(address, req, { getAccounts, }); const capabilities = await getCapabilities(address, chainIds, req); res.result = capabilities; } exports.walletGetCapabilities = walletGetCapabilities; //# sourceMappingURL=wallet_getCapabilities.cjs.map