{"version":3,"file":"wallet-revoke-execution-permission.mjs","sourceRoot":"","sources":["../../src/methods/wallet-revoke-execution-permission.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,6BAA6B;AAEjD,OAAO,EAAE,MAAM,EAAE,8BAA8B;AAC/C,OAAO,EAAE,eAAe,EAAE,wBAAwB;AAGlD,OAAO,EAAE,cAAc,EAAE,gCAA4B;AAGrD,MAAM,CAAC,MAAM,qCAAqC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AAMhE,MAAM,CAAC,MAAM,4CAA4C,GAAG,MAAM,CAAC;IACjE,iBAAiB,EAAE,eAAe;CACnC,CAAC,CAAC;AAYH;;;;;;;;GAQG;AACH,MAAM,UAAU,4CAA4C,CAAC,EAC3D,gCAAgC,GAGjC;IACC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,IAAI,CAAC,gCAAgC,EAAE,CAAC;YACtC,MAAM,SAAS,CAAC,kBAAkB,CAChC,6DAA6D,CAC9D,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAE3B,cAAc,CAAC,MAAM,EAAE,4CAA4C,CAAC,CAAC;QAErE,OAAO,MAAM,gCAAgC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import type { JsonRpcMiddleware } from '@metamask/json-rpc-engine/v2';\nimport { rpcErrors } from '@metamask/rpc-errors';\nimport type { Infer } from '@metamask/superstruct';\nimport { object } from '@metamask/superstruct';\nimport { StrictHexStruct } from '@metamask/utils';\nimport type { Json, JsonRpcRequest } from '@metamask/utils';\n\nimport { validateParams } from '../utils/validation';\nimport type { WalletMiddlewareContext } from '../wallet';\n\nexport const RevokeExecutionPermissionResultStruct = object({});\n\nexport type RevokeExecutionPermissionResult = Infer<\n  typeof RevokeExecutionPermissionResultStruct\n>;\n\nexport const RevokeExecutionPermissionRequestParamsStruct = object({\n  permissionContext: StrictHexStruct,\n});\n\nexport type RevokeExecutionPermissionRequestParams = Infer<\n  typeof RevokeExecutionPermissionRequestParamsStruct\n>;\n\nexport type ProcessRevokeExecutionPermissionHook = (\n  request: RevokeExecutionPermissionRequestParams,\n  req: JsonRpcRequest,\n  context: WalletMiddlewareContext,\n) => Promise<RevokeExecutionPermissionResult>;\n\n/**\n * Creates a handler for the `wallet_revokeExecutionPermission` JSON-RPC method.\n *\n * @param options - The options for the handler.\n * @param options.processRevokeExecutionPermission - The function to process the\n * revoke execution permission request.\n * @returns A JSON-RPC middleware function that handles the\n * `wallet_revokeExecutionPermission` JSON-RPC method.\n */\nexport function createWalletRevokeExecutionPermissionHandler({\n  processRevokeExecutionPermission,\n}: {\n  processRevokeExecutionPermission?: ProcessRevokeExecutionPermissionHook;\n}): JsonRpcMiddleware<JsonRpcRequest, Json, WalletMiddlewareContext> {\n  return async ({ request, context }) => {\n    if (!processRevokeExecutionPermission) {\n      throw rpcErrors.methodNotSupported(\n        'wallet_revokeExecutionPermission - no middleware configured',\n      );\n    }\n\n    const { params } = request;\n\n    validateParams(params, RevokeExecutionPermissionRequestParamsStruct);\n\n    return await processRevokeExecutionPermission(params, request, context);\n  };\n}\n"]}