{"version":3,"file":"chain-id.cjs","sourceRoot":"","sources":["../../../src/middleware/internal-methods/chain-id.ts"],"names":[],"mappings":";;;AAIA,2CAIyB;AAKzB;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,iBAAiB,CACrC,OAA6B,EAC7B,QAAgC,EAChC,KAAgC,EAChC,GAA6B,EAC7B,KAAiE;IAEjE,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,IAAI,IAAA,wBAAgB,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtE,QAAQ,CAAC,MAAM,GAAG,YAAY;QAC5B,CAAC,CAAC,IAAA,mBAAW,EAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;IAE7C,OAAO,GAAG,EAAE,CAAC;AACf,CAAC;AAbD,8CAaC","sourcesContent":["import type {\n  JsonRpcEngineEndCallback,\n  JsonRpcEngineNextCallback,\n} from '@metamask/json-rpc-engine';\nimport {\n  bigIntToHex,\n  parseCaipChainId,\n  type PendingJsonRpcResponse,\n} from '@metamask/utils';\n\nimport type { InternalMethodsMiddlewareHooks } from './middleware';\nimport type { ScopedJsonRpcRequest } from '../multichain';\n\n/**\n * A mock handler for eth_chainId that always returns a specific\n * hardcoded result.\n *\n * @param request - Incoming JSON-RPC request.\n * @param response - The outgoing JSON-RPC response, modified to return the\n * result.\n * @param _next - The `json-rpc-engine` middleware next handler.\n * @param end - The `json-rpc-engine` middleware end handler.\n * @param hooks - The method hooks.\n * @returns The JSON-RPC response.\n */\nexport async function getChainIdHandler(\n  request: ScopedJsonRpcRequest,\n  response: PendingJsonRpcResponse,\n  _next: JsonRpcEngineNextCallback,\n  end: JsonRpcEngineEndCallback,\n  hooks: Pick<InternalMethodsMiddlewareHooks, 'getSimulationState'>,\n) {\n  const requestScope = request.scope && parseCaipChainId(request.scope);\n  response.result = requestScope\n    ? bigIntToHex(BigInt(requestScope.reference))\n    : hooks.getSimulationState().chain.chainId;\n\n  return end();\n}\n"]}